Hallo liebe C freunde
Ich habe jetzt auch angefangen mit C! So jetzt habe ich hier eine Aufgabe:
Es soll ein Ratespiel geschrieben werden in dem Der Computer eine Zufallszahl zwischen 0 und 9 auswählt und der spieler soll diese erraten dafür hat er 3 Versuche wenn er Falsch rät bekommt er einen Tipp ob die gesuchte Zahl größer oder kleiner ist so in Code sieht das ganze dann so aus :
Alles anzeigen
Jetzt ist nur blöd das der Zufallsgenerator irgenwie nicht so will wie ich der generiert nämlich immer die selbe Zahl nur nach mehrmaligen aufrufen des Programms ändert sich das wieso?
was kann ich dagegen tun ? und wie Funktioniert diese Funktion rand() eigentlich also z= (int) (10.0*rand()/(RAND_MAX+1.0));
war nämlich schon so vor gegeben und ich weiß nicht wie das Ding arbeitet ?
Warum muss ich eigentlich Funktionen und Variablen in c auserhalb der main deklarieren ?
und wieso kann ich die initialisierung des Generrators srand(time(0)); nicht auch Außerhalb der main stehen lassen ?
und wäre schön wenn mir jemand noch die Unicodezeichen für Sonderzeichen nennen könnte wie ß ä ö ü usw hab schon gegoogelt aber finde nichts brauchbares
danke!
Mit freundlichen Grüßen!
Ich habe jetzt auch angefangen mit C! So jetzt habe ich hier eine Aufgabe:
Es soll ein Ratespiel geschrieben werden in dem Der Computer eine Zufallszahl zwischen 0 und 9 auswählt und der spieler soll diese erraten dafür hat er 3 Versuche wenn er Falsch rät bekommt er einen Tipp ob die gesuchte Zahl größer oder kleiner ist so in Code sieht das ganze dann so aus :
Quellcode
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- int rand();
- int z; /*zufallszahl*/
- int e; /* Zahl die eingegeben wird*/
- int count;/*Versuchszaehler*/
- int i=3; /*Zaehler für Ausgabe*/
- int main(void)
- {
- srand(time(0)); /* initialisiert Zuffalszahl Generator*/
- z= (int) (10.0*rand()/(RAND_MAX+1.0)); /*erstellen der Zuffalszahl mir Funktion rand()*/
- printf("erraten Sie meine Zahl von 0-9!\naber Vorsicht:\nSie haben nur 3 Versuche!\n");
- do{
- scanf("%i",&e); /* einlesen einer Zahl von der Console*/
- count=count+1; /* zaehlt die Versuche hoch */
- if (z==e)
- {
- /*wenn z gleich e dann richtig geraten*/
- printf("\nGut geraten!\nDas ist richtig!\n");
- }
- /*wenn eingegebene Zahl zu klein*/
- if (z>e && count<3 )
- {
- printf ("\nTipp: die gesuchte Zahl ist größer!\n");
- printf("Probieren Sie nocheinmmal!\n");
- i=i-1; /* i wird bei jeden Versuch um 1 reduziert*/
- if(i<2)
- {
- printf("\n");
- printf("Sie haben noch %den Versuch!\n",i);
- }
- if (i>1){
- printf("\n");
- printf("Sie haben noch %d Versuche!\n", i);
- }
- }
- /*wenn eingegebene Zahl zu gross*/
- if (z<e && count<3 )
- {
- printf ("\nTipp: die gesuchte Zahl ist kleiner!\n");
- printf("Probieren Sie nocheinmal!\n");
- i=i-1;
- if(i<2)
- {
- printf("\n");
- printf("Sie haben noch %den Versuch!\n",i);
- }
- if (i>1){
- printf("\n");
- printf("Sie haben noch %d Versuche!\n", i);
- }
- }
- }while(z!= e && count<3); /* wird ausgeführt solange z ungleich e und count kleiner 3*/
- /*wenn count gleich 3 und immer noch nicht richtig erraten*/
- if (count==3 && e!=z)
- {
- printf("\nDie gesuchte Zahl lautet: ");
- printf("%d\n",z);
- printf("\n");
- printf("vielleicht klappt es beim nächsten mal\n");
- printf("\n");
- }
- system("pause");
- return 0;
- }
Jetzt ist nur blöd das der Zufallsgenerator irgenwie nicht so will wie ich der generiert nämlich immer die selbe Zahl nur nach mehrmaligen aufrufen des Programms ändert sich das wieso?
was kann ich dagegen tun ? und wie Funktioniert diese Funktion rand() eigentlich also z= (int) (10.0*rand()/(RAND_MAX+1.0));
war nämlich schon so vor gegeben und ich weiß nicht wie das Ding arbeitet ?
Warum muss ich eigentlich Funktionen und Variablen in c auserhalb der main deklarieren ?
und wieso kann ich die initialisierung des Generrators srand(time(0)); nicht auch Außerhalb der main stehen lassen ?
und wäre schön wenn mir jemand noch die Unicodezeichen für Sonderzeichen nennen könnte wie ß ä ö ü usw hab schon gegoogelt aber finde nichts brauchbares
danke!
Mit freundlichen Grüßen!