This repository has been archived on 2024-09-24. You can view files and clone it, but cannot push or open issues or pull requests.
Schule/Sonstiges/Zahlen Raten.cpp

43 lines
1.3 KiB
C++
Raw Normal View History

2017-04-02 15:59:33 +02:00
#include<stdlib.h>
#include<time.h>
#include<iostream>
#include<conio.h>
#include<string>
#include<sstream>
2017-04-05 17:28:45 +02:00
2017-04-14 19:24:44 +02:00
//Zusatzaufgabe: Berechne die minimal notwendige Anzahl an Versuchen
2017-04-02 15:59:33 +02:00
int main()
{
2017-04-14 19:24:44 +02:00
std::string input;
2017-04-02 15:59:33 +02:00
2017-04-14 19:24:44 +02:00
do
2017-04-02 15:59:33 +02:00
{
2017-04-05 13:32:42 +02:00
srand(time(NULL));
2017-04-14 19:24:44 +02:00
short randNumber = rand()%100+1, tries = 0, number;
2017-04-02 15:59:33 +02:00
std::cout << "Errate die richtige Zahl zwischen 1 und 100: ";
2017-04-14 19:24:44 +02:00
do
2017-04-05 13:38:20 +02:00
{
2017-04-14 19:24:44 +02:00
tries++;
getline(std::cin, input);
std::stringstream(input) >> number;
2017-04-02 15:59:33 +02:00
2017-04-14 19:24:44 +02:00
if(number<1 || number>100) std::cerr << "Error: Die eingegebene Zahl liegt nicht im Wertebereich. Gib eine Zahl zwischen 1 und 100 ein: ";
else if(number<randNumber) std::cout << "\nDie eingegebene Zahl ist zu klein! Versuche es erneut: ";
2017-04-05 13:32:42 +02:00
else if(number>randNumber) std::cout << "\nDie eingegebene Zahl ist zu gro\xE1! Versuche es erneut: ";
2017-04-14 19:24:44 +02:00
}while(number!=randNumber || number<1 || number>100);
2017-04-02 15:59:33 +02:00
2017-04-09 12:10:52 +02:00
std::cout << "\nTreffer! Du hast " << tries << " Versuche gebraucht.\nM\x94 \bchtest du ein 2. mal spielen? y/n ";
2017-04-14 19:24:44 +02:00
do
{
getline(std::cin, input);
if(input != "y" && input != "Y" && input != "n" && input !="N") std::cerr << "Error: Die Eingabe ist ung\x81ltig. M\x94 \bchtest du ein 2. mal spielen? y/n ";
else std::cout << "\n\n";
}while(input != "y" && input != "Y" && input != "n" && input !="N");
}while(input == "y" || input == "Y");
2017-04-02 15:59:33 +02:00
return(0);
}