005
11.04.2004, 17:17 Uhr
Oliver
S2-Pixelgeneral
|
So sollte es gehen, natürlich werden jetzt auch die Fragen doppelt gestellt, aber das kannste ja noch ändern.
C++: |
#include <iostream> #include <fstream> #include <conio.h> #include <string> #include <ctime> using namespace std;
int main()
{ ifstream dat_ein; int weiter; // anzahl int anzahl; string dateiname = ("daten.dll"); //Datenbank // Array für Antworten string *antworten; // Array für Fragen string *fragen; // aktuelle frage int aktfrage; // Antwort des Benutzers string antwort;
//Datenbank öffnen
dat_ein.open(dateiname.c_str(), ios_base::in);
if(!dat_ein) { cout << "Datenbank konnte nicht gefunden werden!"; cout << endl; return -1; }
// Anzahl einlesen dat_ein >> anzahl;
// Speicher allokieren soviel, wie es Fragen gibt, logischerweise antworten = new string[anzahl]; fragen = new string[anzahl];
// Antworten und Fragen in die Arrays lesen for(int i=0;i<anzahl;++i) { dat_ein >> fragen[i]; dat_ein >> antworten[i]; }
//Zufallsgenerator initialiseren srand( (unsigned)time( NULL ) );
while(weiter !=0) {
// Zufällige Frage aktfrage=rand() % anzahl +1;
//Anwender nach der Hauptstadt fragen cout << "Wie heisst die Hauptstadt von " << fragen[aktfrage] << "?" << endl; cin >> antwort;
//Antwort auswerten if(antwort==antworten[aktfrage]) { cout << "Richtig!!!" << endl; cout << "0 Eingeben zum beenden: "; cin >> weiter; cout << endl; } else { cout << "Falsch!!!" << endl; cout << "Die Richtige Antwort ist: " << antworten[aktfrage] << endl; cout << "0 Eingeben zum beenden: "; cin >> weiter; cout << endl; } }
//Datenbank schließen
dat_ein.close();
// !!! Speicher freigeben // nicht vergessen !!!
delete [] fragen; delete [] antworten;
getch();
return 0;
}
|
-- Demokratie ist die Diktatur der Mehrheit.
www.siedler25.org/ ( Siedler2 - Remake ) |