Fehlerabfrage

Du bist neu in der Welt von C++? Dann schau hier herein!
Antworten
Melvin71
Beiträge: 16
Registriert: 25. Februar 2013 02:07

Fehlerabfrage

Beitrag von Melvin71 » 19. März 2013 14:38

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

veeman
Beiträge: 247
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Fehlerabfrage

Beitrag von veeman » 19. März 2013 23:48

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
mfg veeman

mage-dev

Melvin71
Beiträge: 16
Registriert: 25. Februar 2013 02:07

Re: Fehlerabfrage

Beitrag von Melvin71 » 20. März 2013 02:01

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

veeman
Beiträge: 247
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Fehlerabfrage

Beitrag von veeman » 20. März 2013 02:44

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
mfg veeman

mage-dev

Melvin71
Beiträge: 16
Registriert: 25. Februar 2013 02:07

Re: Fehlerabfrage

Beitrag von Melvin71 » 22. März 2013 13:09

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

veeman
Beiträge: 247
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Fehlerabfrage

Beitrag von veeman » 22. März 2013 14:43

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
mfg veeman

mage-dev

Melvin71
Beiträge: 16
Registriert: 25. Februar 2013 02:07

Re: Fehlerabfrage

Beitrag von Melvin71 » 24. März 2013 18:19

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

veeman
Beiträge: 247
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Fehlerabfrage

Beitrag von veeman » 24. März 2013 20:28

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);
}
mfg veeman

mage-dev

Antworten