Mr_Tee
Lieutenant
- Registriert
- Jan. 2004
- Beiträge
- 698
Code:
/* Programm: ZahlenRaten.cpp
Aufgabe : Zahlen in 10 Versuchen zu Raten
Autor : Mr_Tee
Datum : 07.05.2004 */
#include <iostream>
#include <conio>
using namespace std;
float statistik=0; //globale Vereinbarungen (sonst Fehler)
int i=0,Eingabe,Zahlerr,x=1,z=1;
char auswahl;
void abfrage(int x, int y) // Bedingungen
{
if (y < (x - 12))
{
cout << "Viel zu klein!";
}
else
if (y < (x - 1))
{
cout << "Zu klein!";
}
else
if (y == (x - 1) || y == ( x +1))
{
cout << "Nah dran!";
}
if (y > (x + 1))
{
cout << "Zu gro\xE1!";
}
else
if (y > (x + 12))
{
cout << "Viel zu gro\xE1";
}
}
void Statistik() //Statistik Berechnung
{
cout << endl;
statistik =((statistik*(x-1))+(100-(i*10)))/x;
cout << "\nIhre Trefferquote betr\x84gt: " << statistik << " %";
x++;
}
void starten()
{
cout << endl;
cout << "\nLevel " << z << ".";
cout << "\n---------";
randomize();
Zahlerr = random(100) + 1;
do
{
cout << "\n" << i+1 << ". Versuch: ";
cin >> Eingabe;
abfrage(Zahlerr,Eingabe);
if (Eingabe == Zahlerr)
{
break;
}
i++;
} while ( i < 10);
if ( Eingabe == Zahlerr)
{
cout << "\n";
cout << "\nGl" << '\x81' <<"ckwunsch. Sie haben die Zahl erraten";
Statistik();
z++;
i=0;
starten();
}
else
{
cout << "\n";
cout << "\nDie zu suchende Zahl war: " << Zahlerr; // hier muss irgendwo der Fehler sein
}
}
void Spielregeln()
{
cout << "\nSpielregeln";
cout << "\n-----------";
cout << "\n";
cout << "\nIn diesem Spiel muss eine Zahl erraten werden, ";
cout << "\nim Bereich von 1 - 100.";
cout << "\nSie haben 10 Versuche.";
cout << "\nDanach haben Sie die M\x94glichkeit der Wiederholung.";
cout << "\nAm Ende erhalten Sie dann ihre Statistik.";
}
void start()
{
char nochmal;
do
{
starten();
abfrage(Zahlerr,Eingabe); // ich denke aber der Fehler liegt daran
Statistik();
cout << "\nErneut Versuchen? ";
cout << endl;
cin >> nochmal;
x=1;
i=0;
} while (nochmal == 'j' || nochmal == 'J');
}
void main()
{
cout << "Zahlen raten";
cout << "\n------------";
do
{
char auswahl;
cout << endl;
cout << "\n1. Starten <s>";
cout << "\n2. Spielregeln <r>";
cout << "\n3. Ende <q>";
cout << endl;
cin >> auswahl;
switch(auswahl)
{
case 'S' :
case 's' : cout << "\nErraten Sie eine Zahl!";
cout << "\nSie haben 10 Versuche, also strengen Sie sich an!";
cout << "\nBitte geben Sie nun eine Zahl ein!";
start();
goto end;
case 'R' :
case 'r' : Spielregeln();
break;
case 'Q' :
case 'q' : goto end;
default : cout << "\nEingabefehler!";
}
} while ( auswahl != 'r');
end:
}
Mein Problem ist wenn die zu erratene Zahl im Programm nicht gefunden wird gebe ich sie als Informatiion aus. Aber dann schaltet sich eine Bedingung dazu und sagt noch viel zu klein, groß etc.
Wie krieg ich des weg ?
Bei einer Lösung würde ich mich gerne freue
Gegen Kritiken hab ich au nix einzuwänden
Zuletzt bearbeitet von einem Moderator:
([code]-Tags verwenden!)