Programm Zahlenraten -- Ich bin verwirrt!! Hilfe!!
-
Also danke für eure Tipps, aber entweder bin ich zu "blöde oder dämlich" oder da steckt irgendwo ein kleiner Fehler drin.
folgende Probleme:
1. Er sucht sich bei jedem neuen Spielaufruf die selbe Zufallszahl. Kann ich das ändern ?
2. Wie lautet der Satz zum ausgeben von den Versuchen?
3. Wie bekomme ich das hin, dass das Fenster geöffnet bleibt, wenn ich die Zahl gefunden habe. Bisher schließt sich das Fenster sofort.
Ich weiß das ich ein schwieriger Fall bin, aber vielleicht kann mir ja noch einmal jemand helfen.
Hier noch einmal mein verändertes Programm:
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>const wertebereich = 1000;
int Zufallszahl, Ratezahl, Versuche;int zufall (int max_zufall=wertebereich)
{
return rand() %1000;
}int main()
{
rand();Zufallszahl = zufall();
printf ("Herzlich Willkommen beim Zahlenraten\n\n");
printf ("Sie muessen versuchen eine von mir per Zufallsgenerator ausgewaehlte\n");
printf ("Zahl zwischen 0 und 1000 zu erraten!\n\n");
printf ("Das System gibt Ihnen folgende Hilfe: Wenn Ihre Zahl\n\n");
printf ("1 bis 10 Nummern < oder > ist als die Zufallszahl erscheint ein Heiss\n");
printf ("11 bis 50 Nummern < oder > ist als die Zufallszahl erscheint ein Warm\n");
printf ("51 Nummern < oder > ist als die Zufallszahl erscheint ein Kalt\n\n");
printf ("Am Ende wird Ihnen die Anzahl Ihrer benoetigten Versuche angezeigt.\n\n");
printf ("Viel Erfolg!\n\n");int i=0;
do
{
scanf ("%d", &Ratezahl);
if (Ratezahl < Zufallszahl+11 && Ratezahl > Zufallszahl-11)
printf ("Heiss\n");
if (Ratezahl > Zufallszahl+10 && Ratezahl < Zufallszahl+51)
printf ("Warm\n");
if (Ratezahl < Zufallszahl-10 && Ratezahl > Zufallszahl-51)
printf ("Warm\n");
if (Ratezahl < Zufallszahl-50 && Ratezahl >1 || Ratezahl > Zufallszahl+50 && Ratezahl <999)
printf ("Kalt\n");
if (Ratezahl > 999)
printf ("Es werden nur Zahlen zwischen 0 und 1000 gesucht!\n");
++i;}
while ( Ratezahl != Zufallszahl );
printf ("Sie haben die richtige Zahl gefunden\n");
printf(" Dazu benötigten Sie ??? "\n);}
-
weil du keine code tags benutzt und anscheinend gar nix selber versuchst
hab ich eigentlich gar keine lust mehr dir zu helfen.1.) such mal nach randomize()
2.) printf(" Dazu benötigten Sie %i ", i); // keine gewähr
3.) Was soll es denn noch machen? Bau doch eine while schleife ein damit man wieder eine zahl raten kann.
-
- Versuche es mal mit einen getchar() oder getc() am ende deines programms. eins davon ist besser geeignet, ich weis nicht mehr welches.
-
1280x1024 schrieb:
1.) such mal nach randomize()
Nicht srand?
-
Ja, sorry
-
-
AJ schrieb:
randomize() -> random()
srand() -> rand()
???
-
@dEUs
Wenn man mit random() arbeitet (was soviel ich weiß nicht ANSI-C Standard ist), dann muss man randomize() zum Initialisieren verwenden.Arbeitet man jedoch mit rand(), dann muss man srand() zum Initialisieren verwenden.
Jetzt klarer??
-
Jupp.
Ich dachte, du meinst, man sollte statt srand rand verwenden.Bischen unglücklich gewählt, deine Darstellung
-
Ok das nächste mal mach ich es anders