interessant für .scanf
Dependencies: mbed
main.cpp@0:dd144c53a6d4, 2016-04-24 (annotated)
- Committer:
- RudiNiki
- Date:
- Sun Apr 24 17:59:49 2016 +0000
- Revision:
- 0:dd144c53a6d4
Zufallszahlen_raten
Who changed what in which revision?
User | Revision | Line number | New 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 | } |