Zahlenraten Finde den fehler nicht



  • Hallo Leute,

    bin schon wieder am rätseln wo mei fehler liegt. Hausaufgabe für die Schule ist es eion zahlenrateprogramm zwischen 1 und 10 zu schreiben. Habe es nun Versucht, finde aber meine fehler nicht. Vielleicht könnt ihr mir ja helfen.

    Viele Grüße
    Jens

    #include <iostream.h>
    #include <stdlib.h>
    #include <time.h>
    
    void main()
    
    {
    
    srand(time(0));
    
    int zufallzahl, userzahl;
    
    zufallzahl = rand() % 10;
    
    {
    
    printf("Errate meine Zahl zwischen 1 und 10!\n");
    scanf("%d",&userzahl);
    
    do
    
    {
    
    if (zufallzahl < userzahl)
    printf("..meine Zahl ist groesser\n");
    
    if (userzahl > zufallzahl)
    printf("..meine Zahl ist kleiner\n");
    
    }
    while ( userzahl != zufallzahl );
    printf("Geschafft\n");
    
    }
    

    [ Dieser Beitrag wurde am 16.11.2002 um 00:30 Uhr von JensH editiert. ]

    [ Dieser Beitrag wurde am 16.11.2002 um 00:34 Uhr von JensH editiert. ]



  • if (zufallzahl < userzahl)
    printf("..meine Zahl ist groesser\n");
    

    Sieht so aus, als ob du hier besser ">" statt "<" nehmen solltest.

    Außerdem liegt deine Zahl zwischen 0 und 9!

    Außerdem sollte

    printf("Errate meine Zahl zwischen 1 und 10!\n");
    scanf("%d",&userzahl);
    

    wohl besser in die Schleife!

    [ Dieser Beitrag wurde am 16.11.2002 um 02:16 Uhr von Gregor editiert. ]



  • Viele Dank für die Hilfe.
    Habe das Programm umgestellt. Der Compiler meckert aber immer noch wegen printf und scanf. Die Meldungen:

    error C2065: 'printf' : undeclared identifier
    error C2061: syntax error : identifier 'scanf'

    Auch bin ich noch am suchen für eine elegantere Lösung als zufallzahl = zufallzahl+1 damit das Prog. von 1 bis 10 zählt. Hier der Quelltext wie er jetzt ist.

    Viele Grüße
    Jens

    #include <iostream.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    
    {
    
    srand(time(0));
    
    int zufallzahl,userzahl;
    
    zufallzahl = rand() % 10;
    zufallzahl = zufallzahl+1;
    
    do
    
    printf ("Errate meine Zahl zwischen 1 und 10");
    scanf("%i",&userzahl);
    
    if (zufallzahl > userzahl)
    printf("..meine Zahl ist groesser\n");
    
    if (userzahl > zufallzahl)
    printf("..meine Zahl ist kleiner\n");
    
    while ( userzahl != zufallzahl );
    printf("Geschafft\n");
    
    return (0);
    
    }
    


  • Hi,
    also ich würde sagen, nach do muss eine offene Klammer "{" und vor while eine geschlossene "}" hin.
    Weiß nich obs richtig is?



  • lass mal das iostream.h weg, nicht nur, dass du es nicht brauchst, es ist auch kein C, sondern altes C++. Seit 1998 ist iostream.h eh veraltet!

    Includier lieber stdio.h



  • Danke für eure Hilfe. Nun funzt es.
    Wünsche euch noch ein schönes Wochenende.

    Viele Grüße
    Jens


Anmelden zum Antworten