Seite 1 von 1

Fehlerabfrage

Verfasst: 19. März 2013 13:38
von Melvin71
Hallo,
ich habe sowas was mal ein Quiz werden soll entworfen und möchte nun, dass, wenn alle Fragen durch sind,
am Ende auch gezeigt wird, wieviele Fragen richtig und und wieviele falsch beantwortet wurde. Wie kann ich
das nun realisieren? Hier einen kleinen Ausschnitt meines Code´s :
void MainWindow::on_bestaetigen_clicked()
{
bool eins = ui->radioButton_1->isChecked();
bool zwei = ui->radioButton_2->isChecked();
bool drei = ui->radioButton_3->isChecked();


qDebug() << "radiobutton_1" + eins;
qDebug() << "radiobutton_2" + zwei;
qDebug() << "radiobutton_3" + drei;



if(eins == true && frage == 1) //Simpsons
{
ui->ergebnis->setText("richtig");
frage = 2;
QTimer::singleShot(3000, this, SLOT(frage_2()));
qDebug() << frage;
tot();
return;

}
else if(frage == 1)
{
ui->ergebnis->setText("falsch");
qDebug() << "simpsons falsch";
return;

}

if (drei == true && frage == 2)
{
ui->ergebnis->setText("richtig"); //Periodensystem
frage = 3;
QTimer::singleShot(3000, this, SLOT(frage_3()));
tot();
return;

}
else if(frage == 2)
{
ui->ergebnis->setText("falsch");
qDebug() << "periodensystem";
return;
}

if (zwei == true && frage == 3)
{
ui->ergebnis->setText("richtig"); //Episoden Star Wars
frage =4;
QTimer::singleShot(3000, this, SLOT(frage_4()));
tot();
return;

Die Fragen sind noch alle weitesgehenst nur schnell reingekrizelt damit überhaupt ein Inhalt da ist^^ Mir gehts dabei eigentlich nur Grundsätzlich um das Gerüst.
Wonach ich mir auch schon einen Wolf gesucht habe^^, wie zum Teufel kann ich eine Grafik einfügen. . . z.b. als Hintergrund für das Fragefeld oder eines der
anderen Felder???
Bin für jede Hilfe echt dankbar, da ich noch recht am Anfang stehe mit meinen Kenntnissen.
Dank

MFG

Re: Fehlerabfrage

Verfasst: 19. März 2013 22:48
von veeman
Erstell eine Variable die die richtigen Antworten zählt, ggf. als Member von der Klasse.
Und schließlich gibst du den Wert nach der letzten Frage aus.

Mfg Rushh0ur

Re: Fehlerabfrage

Verfasst: 20. März 2013 01:01
von Melvin71
Hallo,
da ich ja wie gesagt noch recht weit am anfang stehe, wäre eine kleines code beispiel sehr gut^^ :lol:
Ohne beispiel weiss ich immer nichts so recht damit anzufangen^^
und wegen den grafiken wäre eine kurze erklärung mit beispiel auch super, ohne bildchen
sieht ein programm ja trist und grau aus :o

MFG

Re: Fehlerabfrage

Verfasst: 20. März 2013 01:44
von veeman
Codeabschnitt:

Headerdatei *.h(pp):

Code: Alles auswählen

class DeinFenster: public QElternKlasse
{
...
  public:
      DeinFenster(...);

  private:
    int fragenRichtig;
}
Sourcedatei *.cpp:

Code: Alles auswählen

DeinFenster::DeinFenster(...)
  : QElternKlasse(...)
{
  fragenRichtig = 0;
}

....
if(eins == true && frage == 1) //Simpsons
{
  fragenRichtig++; // fragenRichtig = fragenRichtig  + 1;
  ui->ergebnis->setText("richtig");
...
mfg veeman

Re: Fehlerabfrage

Verfasst: 22. März 2013 12:09
von Melvin71
ah ok, jetzt werden die falschen und richtigen fragen gezählt, aber wie und wo gebe ich sie aus?
habe einiges versucht, aber der code wollte mir einfach nicht gehorchen und mir die ausgabe darstellen^^

MFG

Re: Fehlerabfrage

Verfasst: 22. März 2013 13:43
von veeman
Das liegt in deinem ermessen. Eventuell nach dem die Letzte Frage gestelt wurde und beantwortet wurde. Jedoch rufst du dann eine andere Funktion zum Anzeigen der Antworten.
-> bsp. SLOT(Zeige_Ergebnisse())

Um den Int-Variable in einen String/text zu konvertieren hast du zwei Möglichkeiten:
1. QString strRichtig = QString::number(fragenRichtig);
oder
2. QString strRichtig = QString("Sie haben %1 Antworten richtig beantwortet.").arg(fragenRichtig);

Mfg veeman

Re: Fehlerabfrage

Verfasst: 24. März 2013 17:19
von Melvin71
Ok soweit habe ich das verstanden und auch in meinen Code eingebunden bekommen,
aaaaber. . . das mit der Anzeige habe ich leider nicht ganz hinbekommen und wenn ich
ehrlich bin auch nicht sooo wirklich verstanden. Das ich natürlich nur mit einem INT "rechnen"
bzw. zählen kann, dass weiss ich natürlich, da muss man dann also einen string in einen int
wandeln.
Mir fällt es immer sehr viel leichter etwas zu verstehen, wenn ich ein Beispiel vor Augen habe.
Daher wäre es für mich sehr hilfreich, auch zu der Erklärung auch immer einen kleinen Code-
Ausschnitt zu bekommen und auch WO und an welche Stelle das dann hingehört^^ :lol:


MFG

Re: Fehlerabfrage

Verfasst: 24. März 2013 19:28
von veeman
Melvin71 hat geschrieben:.... da muss man dann also einen string in einen int
wandeln ...
Umgekehrt. :)
Melvin71 hat geschrieben: Ok soweit habe ich das verstanden und auch in meinen Code eingebunden bekommen,
aaaaber. . . das mit der Anzeige habe ich leider nicht ganz hinbekommen und wenn ich
ehrlich bin auch nicht sooo wirklich verstanden.
Ich kann dir nicht ganz folgen, was hast du jetzt gemacht?

Wie gesagt im Prinzip ist es genauso wie du es schon die ganze Zeit machst, nur zeigst du nach der letzten Frage einfach die Ergebnisse an.

Code: Alles auswählen

DeinFenster::Zeige_Ergebnisse()
{
QString strRichtig = QString("Sie haben %1 Antworten richtig beantwortet.").arg(fragenRichtig);
ui->ergebnis->setText(strRichtig);
}