November, 2005

GIP Aufgabe 4

Mittwoch, November 2nd, 2005

Schreiben Sie ein Zahlenratespiel in C++.
Der Anwender soll eine vom Programm vorgegebene Zahl raten. Dazu wird er zunächst nach dem Level gefragt, auf dem er spielen möchte. Danach beginnt das Raten. Der Anwender soll dabei vom Rechner mit den Hinweisen „Die eingegebene Zahl ist zu klein“ oder „Die eingegeben Zahl ist zu gross“ unterstützt werden. Sobald er die richtige Zahl geraten hat, sollen die Zahl und die Anzahl seiner Versuche auf dem Bildschirm ausgegeben werden.

Hinweise:

Es gibt 3 Level, die den Zahlenbereich angeben, aus dem die zu ratende Zahl
gebildet wird
Level 1: 1 bis 10
Level 2: 1 bis 100
Level 3: 1 bis 1000
Falsche Eingaben sind abzufangen!
Die zu ratende ganze Zahl ist als Zufallszahl zu generieren. Dazu sind am Beginn
des Programms zunächst folgende Bibliotheken einzubinden:

#include 
#pragma comment(lib, "winmm.lib")

Das Bilden der Zufallszahl in Programm erfolgt dann in zwei Schritten:
1. srand(timeGetTime()); // Startwert für Zufallszahlgenerierung
2. // Beispiel: Zufallszahl zwischen 1 und 100 generieren:
zahl = (rand()%100) + 1;

#include "stdafx.h"
#include 
#include 

#pragma comment(lib, "winmm.lib")

using namespace std;

int main(void)
{
	int level=0,i=0,zufall,wert=0;

	do
	{
		cout << "Welchen Level moechten Sie spielen? (1, 2 oder 3) ";
		cin >> level;
	} while (level > 3 || level <= 0);

	switch(level)
	{
		case 1:
			level = 10;
			break;

		case 2:
			level = 100;
			break;

		case 3:
			level = 1000;
			break;
	}

	srand(timeGetTime());
	zufall = (rand()%level) + 1;

	for(;;i++)
	{
		cout << "Zahl = ? (1 bis " << level << ") ";
		cin >> wert;

		if(wert < zufall)
			cout << "Die eingegebene Zahl ist zu klein!" << endl << endl;
		else if(wert > zufall)
			cout << "Die eingegebene Zahl ist zu gross!" << endl << endl;
		else
			break;
	}

	cout << "Richtig! Die Zahl lautet " << wert << endl << "Sie haben " << i << " Versuche gebraucht." << endl << endl;

	return 0;
}