Aljoscha.E
Ensign
- Registriert
- Juli 2005
- Beiträge
- 219
Hallo!
Ich habe ein Problem mit einem C-Programm.
Ich habe in der Schule seit Schulanfang IT-Unterricht und wir lernen dort "C". Bis jetzt haben wir gelernt:
-Ein-Ausgabe, Do-Schleifen, IF-Verzweigungen, Switch, Funktionen(mit und ohne Rückgabe), Zufallsgeneratoren,... mehr fällt mir gerade nicht ein, vielleicht kommt noch was dazu
Ich habe nun das Problem, dass wenn meiner Meinung nach eine richtige Eingabe gegeben wird, das Unterpgramm diese aber ignoriert und auf die Falschheit der Eingabe besteht.
Also das Problem liegt meiner Meinung nach eindeutig im Unterprogramm ("janein()").
Ich hoffe ich habe euch das Problem genau genug beschreiben wenn nicht einfach fragen. Das ist das erste mal das ich eine C-Programm Schwierigkeit schriftlich formuliere.
Ich habe ein Problem mit einem C-Programm.
Ich habe in der Schule seit Schulanfang IT-Unterricht und wir lernen dort "C". Bis jetzt haben wir gelernt:
-Ein-Ausgabe, Do-Schleifen, IF-Verzweigungen, Switch, Funktionen(mit und ohne Rückgabe), Zufallsgeneratoren,... mehr fällt mir gerade nicht ein, vielleicht kommt noch was dazu
Ich habe nun das Problem, dass wenn meiner Meinung nach eine richtige Eingabe gegeben wird, das Unterpgramm diese aber ignoriert und auf die Falschheit der Eingabe besteht.
Also das Problem liegt meiner Meinung nach eindeutig im Unterprogramm ("janein()").
Ich hoffe ich habe euch das Problem genau genug beschreiben wenn nicht einfach fragen. Das ist das erste mal das ich eine C-Programm Schwierigkeit schriftlich formuliere.
Code:
#include <stdio.h> // Eta82 25.01.2009 Aljoscha E. (eta =Elektrotechnischer Assistent)
#include <time.h>
#include <stdlib.h>
/***************************************************************************************
Zufallszahlenratespiel:
Vom Benutzer wird ein Bereich definiert, in dem eine Zufallszahl generiert wird.
dieser Bereich ist von "1" bis zu der eingegebenen Zahl.
Nun soll man 3 Rateversuche haben, um die Zufallszahl zu finden.
Nach erraten oder nicht erraten dieser Zahl soll mit der Eingabe von "j" das
Programm wiederholt werden können und bei "n" beendet werden. Desweiteren
soll bei Eingabe von ungültigen Zahlen die "Eingabeaufforderung" mit einer Fehler-
meldung wiederholt werden. (im Unterprogramm "janein")
***************************************************************************************/
main()
{
char janein();
int eing, count, zufallszahl,tipp;
char wiederh;
do
{
printf("\nBitte geben Sie eine Zahl ein, bis zu der geraten werden soll.\n");
scanf("%i",&eing);
zufallszahl = rand()% eing +1; //Zufallszahl zischen 1 und dem Wert von "ing" erzeugen
for(count=1; count <= 3; count=count+1) //for(Initialisierung der Zählervariablen; Grenze der Zahl; Veränderung der Zahl beim Hochzählen)
{
printf("\nDies ist der %i. von 3 Rateversuchen." ,count);
printf("\nGeben Sie Ihren Zahlentippzwischen 1 und %i ein.\n" ,eing);
scanf("%i", &tipp);
if(tipp==zufallszahl)
{
printf("\nDas war die richtige Zahl!\n");
count=4;
}
else
{
if(count<3)
{
printf("\nDas war die falsche Zahl, probiers noch mal\n.");
}
else
{
printf("\nLeider habe Sie die Zufallszahl nicht erraten.");
};
};
}; //For Ende, Rateversuchzähler
wiederh = janein();
}while(wiederh=='j');
printf("\n Enter\t!");
fflush(stdin);
getchar();
}
//---------------------------------------------------------
char janein()
{
char jn='j';
do
{
printf("\nMoechten Sie einen weiteren Rateduchgang? Dann Druecken Sie \"j\".\nWenn nicht dann druecken Sie \"n\" \n");
fflush(stdin);
scanf("%c",&jn);
if((jn!='j') || (jn!='n'))
{
printf("Ungueltige Eingabe!");
}
}while((jn!='j') || (jn!='n'));
return (jn);
}