C++ Quiz Fragen / Antworten aus Textdatei.txt in Textbox einlesen



  • Hallo Leute,

    ich komme gar nicht mehr klar. Ich bin wohl doch nicht so gut in Informatik 😃
    Ich habe schon im Internet so viel durchforstet aber nichts brauchbares gefunden.

    Und zwar muss ich ein Quiz mit Hilfe einer IGEL-Oberfläche (Integrierte Grafik Entwicklungs- und Laufzeitumgebung) erstellen.

    Dabei sollen die Fragen und Antworten in einer Textdtei.txt hinterlegt werden und anschließend in eine Textbox eingelesen werden.
    Sprich eine Textbox mit der Frage und vier weitere mit den vier Antwortmöglichkeiten. Es soll dann am Ende auch gezählt werden wie viele richtig und falsch beantwortet wurden.

    Den Anfang habe ich bereits gemacht. Komme aber irgendwie nicht damit klar die ich die Fragen/Antworten, sei es zeilenweise aus einer txt. datei in die textbox einlese und es anschließend zur nächsten Frage geht.

    Hat jemand von euch eine Idee??

    Fragen+Antworten.txt
    Frage: 2+2?
    AntwortA: 1
    AntwortB: 2
    AntwortC: 3
    AntwortD: 4
    Richtig: D

    Frage:
    AntwortA:
    AntwortB:
    AntwortC:
    AntwortD:
    Richtig:

    usw.

    Quiz.cpp
    # include "Igel.h"
    #include <fstream>
    #include <iostream>
    #include <string>
    using namespace std;

    void lauftext()
    {
    //Lauftext
    int i;
    char t;
    char text[] = { " Quiz" };

    while (1)
    {

    textbox(150, 50, 1450, 200, 8, RGB(211, 211, 211), RGB(0, 205, 0), 50, RGB(0, 0, 0), text);

    t = text[0];

    for (i = 0;text[i] != 0;i++)
    {
    text[i] = text[i + 1];
    }
    text[i - 1] = t;
    text[i] = 0;
    wait(250);
    } //Schleife für den Lauftext zuende
    }

    void quiz()
    {
    int fensterbreite, fensterhöhe;
    get_windowsize(&fensterbreite, &fensterhöhe);

    char Frage[] =
    char AntwortA[] =
    char AntwortB[]=
    char AntwortC[] =
    char AntwortD[] =

    //Frage
    textbox(300, 250, 1300, 440, 6, RGB(211, 211, 211), RGB(144, 238, 144),30, RGB(0, 0, 0), Frage);

    //Antworten
    textbox(300, 451, 795, 600, 4, RGB(211, 211, 211), RGB(154, 255, 154), 30, RGB(0, 0, 0),AntwortA); //A

    textbox(805, 451, 1300, 600, 4, RGB(211, 211, 211), RGB(154, 255, 154), 30, RGB(0, 0, 0),AntwortB); //B

    textbox(300, 610, 795, 750, 4, RGB(211, 211, 211), RGB(154, 255, 154), 30, RGB(0, 0, 0), AntwortC); //C

    textbox(805, 610, 1300, 750, 4, RGB(211, 211, 211), RGB(154, 255, 154), 30, RGB(0, 0, 0), AntwortD); //D

    }

    void IgelMain()
    {
    quiz();
    lauftext();

    }



  • Moin!
    In Deinem Code ist erstmal nix zu sehen von Datei E/A. Es wäre gut, wenn da mehr von Dir käme.

    Diese IGEL Geschichte ist ziemlich speziell, dazu kannst Du wahrscheinlich keine Hilfe erwarten - aber wenn ich Dich richtig verstehe, geht es ja auch gar nicht so sehr darum.

    Und zuguterletzt: die Zeichenkette in C++ ist std::string aus <string> , die ganzen char-Arrays sind "falsch".



  • aus textdateien kannst du z.B. mit fgets lesen.

    igel von ulrich kaiser? frag den doch mal direkt! 😃


  • Global Moderator

    HansKlaus schrieb:

    aus textdateien kannst du z.B. mit fgets lesen.

    Das sieht aber sehr nach C++ statt C aus.



  • c++ kann auch fgets. außerdem deutet "Igel.h" darauf hin, dann man es mit einer bibliothek zu tun hat, die kein string, keine streams und allgemein kein c++ kennt.