Dies ist das zweite Eingeben&Ausführen-Programm. Nachdem Sie das Programm eingegeben und ausgeführt haben, sollten Sie sich etwas Zeit zum Herumexperimentieren mit dem Code nehmen. Ändern Sie den Code, kompilieren Sie ihn neu und führen Sie dann das Programm erneut aus, um festzustellen, was passiert. Wenn Sie irgendwelche Fehlermeldungen erhalten, prüfen Sie, ob Sie das Programm korrekt abgetippt haben.
1 : /* Name: zahl.c
2 : * Zweck: Dieses Programm wählt eine zufällige Zahl und lässt
3 : * diese dann vom Anwender erraten
4 : * Rückgabe: Nichts
5 : */
6 :
7 : #include <stdio.h>
8 : #include <stdlib.h>
9 : #include <time.h>
10:
11: #define NEIN 0
12: #define JA 1
13:
14: int main( void )
15: {
16: int wert_raten = -1;
17: int zahl;
18: int anz_der_versuche;
19: int fertig = NEIN;
20:
21: printf("\n\nZufallszahl wird ausgewählt\n");
22:
23: /* Zufallsgenerator mit der akt. Zeit initialisieren */
24: srand( (unsigned) time( NULL ) );
25: zahl = rand();
26:
27: anz_der_versuche = 0;
28: while ( fertig == NEIN )
29: {
30: printf("\nWählen Sie eine Zahl zwischen 0 und %d> ", RAND_MAX);
31: scanf( "%d", &wert_raten ); /* Zahl einlesen */
32:
33: anz_der_versuche++;
34:
35: if ( zahl == wert_raten )
36: {
37: fertig = JA;
38: }
39: else
40: if ( zahl < wert_raten )
41: {
42: printf("\nIhre Zahl war zu hoch!");
43: }
44: else
45: {
46: printf("\nIhre Zahl war zu niedrig!");
47: }
48: }
49:
50: printf("\n\nSuper! Sie haben nach %d Versuchen richtig geraten!",
51: anz_der_versuche);
52: printf("\n\nDie Zahl lautet %d\n\n", zahl);
53:
54: return 0;
55: }
Dieses Programm ist ein einfaches Ratespiel. Sie versuchen, eine Zahl herauszubekommen, die der Computer nach dem Zufallsprinzip generiert hat. Nach jedem Versuch wird das Programm Ihnen mitteilen, ob Ihre Zahl zu hoch oder zu niedrig war. Wenn Sie die gesuchte Zahl gefunden haben, erhalten Sie einen Glückwunsch und erfahren, wie viele Versuche Sie insgesamt benötigt haben.
Wenn Sie ein wenig mogeln wollen, fügen Sie dem Programm eine Zeile hinzu, die Ihnen die Zufallszahl direkt nach ihrer Erzeugung mitteilt. Sie könnten beispielsweise nach dem ersten Austesten des Programms die folgende Zeile einfügen, um sich davon zu überzeugen, dass das Programm auch ordnungsgemäß funktioniert:
26: printf( "Die Zufallszahl (Antwort) lautet: %d", zahl ); /* Betrug */
Aber denken Sie daran, diese Mogelzeile wieder zu entfernen, wenn Sie das Programm von Freunden ausführen lassen!