interessant für .scanf

Dependencies:   mbed

Committer:
RudiNiki
Date:
Sun Apr 24 17:59:49 2016 +0000
Revision:
0:dd144c53a6d4
Zufallszahlen_raten

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RudiNiki 0:dd144c53a6d4 1 #include "mbed.h"
RudiNiki 0:dd144c53a6d4 2
RudiNiki 0:dd144c53a6d4 3 // Modulname: Zufallszahlen / Random Version: 1.0
RudiNiki 0:dd144c53a6d4 4 // Funktion: Erstellen von Zusatzzahlen
RudiNiki 0:dd144c53a6d4 5 // Erstellt von: RN am: 2016-03-23
RudiNiki 0:dd144c53a6d4 6
RudiNiki 0:dd144c53a6d4 7 DigitalIn diJsUp(p15);
RudiNiki 0:dd144c53a6d4 8 Serial pc(USBTX, USBRX);
RudiNiki 0:dd144c53a6d4 9 Timer sRandTime;
RudiNiki 0:dd144c53a6d4 10
RudiNiki 0:dd144c53a6d4 11 void init() {
RudiNiki 0:dd144c53a6d4 12 sRandTime.start();
RudiNiki 0:dd144c53a6d4 13 pc.printf("\r\n\r\n >>- - - Zufallszahlen raten - - -<< \r\n");
RudiNiki 0:dd144c53a6d4 14 // http://www.cplusplus.com/reference/cstdlib/rand/
RudiNiki 0:dd144c53a6d4 15 }
RudiNiki 0:dd144c53a6d4 16
RudiNiki 0:dd144c53a6d4 17
RudiNiki 0:dd144c53a6d4 18 int myRand(int min, int max){
RudiNiki 0:dd144c53a6d4 19 return rand()%(max-min+1)+min;
RudiNiki 0:dd144c53a6d4 20 }
RudiNiki 0:dd144c53a6d4 21
RudiNiki 0:dd144c53a6d4 22 int main()
RudiNiki 0:dd144c53a6d4 23 {
RudiNiki 0:dd144c53a6d4 24 int iSecret, iGuess;
RudiNiki 0:dd144c53a6d4 25 init();
RudiNiki 0:dd144c53a6d4 26
RudiNiki 0:dd144c53a6d4 27 while(1) {
RudiNiki 0:dd144c53a6d4 28 // initialize random seed:
RudiNiki 0:dd144c53a6d4 29 srand(sRandTime.read_us());
RudiNiki 0:dd144c53a6d4 30 //generate secret number between 6 and 16:
RudiNiki 0:dd144c53a6d4 31 // iSecret = rand() % 10; // Wenn ich Zahlen zwischn 20 und 30 muss ich rechnen MAX - MIN also %11 (0 bis 10) + 20
RudiNiki 0:dd144c53a6d4 32 iSecret = myRand(6,16);
RudiNiki 0:dd144c53a6d4 33 pc.printf ("\r\n --> Errate die Zufallszahl zwischen und 10): \r\n");
RudiNiki 0:dd144c53a6d4 34 pc.printf ("\r\n Zufallszahl = %i \r\n", iSecret);
RudiNiki 0:dd144c53a6d4 35
RudiNiki 0:dd144c53a6d4 36 do {
RudiNiki 0:dd144c53a6d4 37 pc.scanf ("%d",&iGuess);
RudiNiki 0:dd144c53a6d4 38 if (iSecret < iGuess)
RudiNiki 0:dd144c53a6d4 39 pc.printf("Die Zahl ist kleiner als %d\r\n", iGuess);
RudiNiki 0:dd144c53a6d4 40 else if (iSecret > iGuess)
RudiNiki 0:dd144c53a6d4 41 pc.printf("Die Zahl ist groesser als %d\r\n", iGuess);
RudiNiki 0:dd144c53a6d4 42 } while (iSecret!=iGuess);
RudiNiki 0:dd144c53a6d4 43
RudiNiki 0:dd144c53a6d4 44 pc.puts("\r\nGratuliere!!! --> ");
RudiNiki 0:dd144c53a6d4 45 pc.printf("%d stimmt.\r\nMit 'e' beenden; jede andere Taste startet einen neuen Ratedurchgang\r\n", iGuess);
RudiNiki 0:dd144c53a6d4 46 if (pc.getc() == 'e')
RudiNiki 0:dd144c53a6d4 47 break;
RudiNiki 0:dd144c53a6d4 48 }
RudiNiki 0:dd144c53a6d4 49 }