Quiz Land - Hauptstadt in C++

New member
Hey hab hier mal ein Quiz programmiert wo nach der Hauptstadt fragt.
Es wählt ein Zufallsgenerator die Länder aus deswegen ist es sehr schwer.
Habe die Datenbank selber geschrieben ( daten.txt ) es sind alle Länder enthalten und 207 Datensätze.
Um das Quiz zu spielen braucht ihr die Datenbank noch es ist eine einfache Textdatei. Die Textdatei muss im gleichen Verzeichnis sein wo Die .exe enthalten ist.

Hier erstmal der Quellcode ( Ich habe meine eigene Ordnung )

Code:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;

int main()
{

  Label1:

  string str;

  system("cls");
  cout<<"<....................................................>"<<endl;
  cout<<"<.............. Land / Hauptstadt Quiz ..............>"<<endl;
  cout<<"<....................................................>"<<endl;
  cout<<"<....................................................>"<<endl;
  cout<<"<....................................................>"<<endl;
  cout<<"<................ --->BY<->F4bio<--- ................>"<<endl;
  cout<<"<....................................................>"<<endl<<endl<<endl<<endl;


  cout<<"Willkommen bei dem Land / Hauptstadt Quiz."<<endl<<endl;
  cout<<"(Alle Leerzeichen muessen mit einem '-' ersetzt werden)"<<endl<<endl<<endl<<endl;



  ifstream dat_ein;
  string dateiname = ("daten.txt"); //Datenbank

  //Datenbankdatei öffnen
  dat_ein.open(dateiname.c_str(), ios_base::in);

  if(!dat_ein)
  {
    cout<<"Datei konnte nicht geoffnet werden!"<<endl;
    return -1;
  }

  int anzahl;      //Gesamtzahl der Land/Stadt
                      //Kombinationen

  int datensatz;      //Auszuwaehlender Datensatz

  string land, stadt; //Land- u. Stadtfelder aus dem aktuellen Datensatz

  int loop;

  string antwort;     //Antwort des Anwenders

  //Wie viel Datensätze gibt es in der Datenbank?
  dat_ein>>anzahl;

  //Eine Zufallszahl zwischen 1 und der Gesamtzahl
  //der Datensätze ziehen
  srand( (unsigned)time( NULL ) );
  datensatz = rand() % anzahl + 1;

  //Land und Stadtfeld des ausgewahlten Datensatzes einlese

  loop = 2 * datensatz;
  while(loop >= 2)
  {
    dat_ein>>land>>stadt;
    loop -= 2;
  }

  //Anwender nach der Hauptstadt fragen
  cout<<"Wie heisst die Haupstadt von/der "
      << land << "?" <<endl<<endl<<endl;
  cout<<"Ihre Eingabe: ";

  cin >> antwort;

  //Antwort auswerten
  if (antwort == stadt)
  {
    system("cls");
    cout<<"Richtig!"<<endl<<endl;
    cout<<"Naechste Frage...........(1)"<<endl;
    cout<<"EXIT.....................(2)"<<endl<<endl<<endl;

    cout<<"Ihre Eingabe: ";
    cin>>str;
    char c = str[ 0 ];

    switch(c)
    {
             case '1':
                  //Datenbank schließen
                   dat_ein.close();
                  goto Label1;

             case '2':
                  //Datenbank schließen
                   dat_ein.close();
                  return EXIT_SUCCESS;

             default:
                   system("cls");


}

  }
  else
  {
    system("cls");
    cout<<"Falsch!"<<endl<<endl;
    cout<<"Die richtige Antwort ist: "<<stadt<<endl<<endl<<endl;
    cout<<"Naechste Frage...........(1)"<<endl;
    cout<<"EXIT.....................(2)"<<endl<<endl<<endl;

    cout<<"Ihre Eingabe: ";
    cin>>str;
    char c = str[ 0 ];

    switch(c)
    {
             case '1':
                   //Datenbank schließen
                   dat_ein.close();
                   goto Label1;

             case '2':
                   //Datenbank schließen
                   dat_ein.close();
                   return EXIT_SUCCESS;

             default:
                   system("cls");

}
  }

   goto Label1;
   return 0;

}

Sry für unübersichtlichkeit :D
 

Anhänge

  • daten.txt
    4,1 KB · Aufrufe: 271

Online-Statistiken

Zurzeit aktive Mitglieder
1
Zurzeit aktive Gäste
33
Besucher gesamt
34

Beliebte Forum-Themen

X
Keine passende Antwort gefunden?