Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hi

also ich da ein Problem und hoffedas mir irgendwer hier (möglichst schnell) helfen kann:

Ich möchte ein Quiz programmieren (C++), dass Fragen aus der Datei questions.txt ausliest, und dann die Antworten in einer anderen Datei speichert (das hab ich schon hingekriegt), nur mit dem Fragenteil hab ich probleme,im wesentlichen 2:

1. Wie kann ich einen ganzen Satz aus der Datei lesen,nicht nur das erste Wort?

2. Wie bring ich das Prog dazu die zweite Frage aus der 2. Zeile der Datei zu lesenund die dritte aus der dritten zeile usw.?

Hier mal mein total chaotischer Code

#include <fstream>

#include <iostream>

#include <iostream>

#include <string.h>

using namespace std;

int main()

{

char frage[1024];

char antwort[30];

int zaehler;

char afilename[20], qfilename[20];

cout << "Enter File: ";

cin >> qfilename;

cout << "Gruppennummer";

cin >> afilename;

for (zaehler=1; zaehler<=2; zaehler++)

{

ifstream questions(qfilename);

questions.open(qfilename, ios::in);

questions.getline(frage, 1024);

questions.close;

cout << frage; //da gibt erirgendwie nix aus, obwohl ich doch

//eigentlich vorher mit getline frage geholt hab, oder?

:confused:

cin >> antwort; //hier gibt der nutzer die antwort ein

ofstream answers(afilename, ios::app);

answers << antwort << '\n'; //diese wird in einer datei gespeichert

//dabei bekommt jede Antwort eine neue

//Zeile

}

return 0;

}

Plz help anyone!

:confused:

Danke

Danke erstmal, aber ich mein das noch ien bisschen anders:

Bsp:

Die Datei questions.txt enthält folgendes

Das ist die erste Frage?

Und hier kommt die zweite Frage?

Dann soll mein Prog zwei Dinge tun:

1. Die erste Frage komplett, also den ganzen Satz anzeigen (derzeit zeigt es gar nichts an, davor hat es nur das erste Wort,hier :"Das" angezeigt, soll aber "Das ist die erste Frage?" anzeigen!

2. Wenn der User diese beantwortet hat soll das Program die zweite Frage aus der datei questions.txt einlesen und (ebenfalls den kompletten Satz) anzeigen, damit der User zur Beantwortung schreitenkann.

Bitte helft mir!

Ich hab nicht mehr viel Zeit.

Danke im voraus

Warden

Warum machst Du des nicht so wie ich es geschrieben habe?


char frage[1024];
char antwort[30];
int zaehler;
char afilename[20], qfilename[20];

cout << "Enter File: ";
cin >> qfilename;
cout << "Gruppennummer";
cin >> afilename;

ifstream questions;
ofstream answers;

questions.open(qfilename, ios_base::in);
answers.open("answer.txt", ios_base::app);
while (!questions.eof())
{
questions.getline(frage, 1024);
cout << frage << endl;

fflush(stdin);
cin.getline(antwort, 1024);
answers << antwort << endl;;
}
questions.close();
answers.close();
[/code]

Frank

Estmal wieder t immerhin schon (hab ein bisschen was geändert, weil sonst 26 fehler kamen)

Hier der Aktuelle Code:

#include <fstream.h>

#include <iostream.h>

#include <string.h>

int main()

{

char frage[1024];

char antwort[30];

int zaehler;

char afilename[20], qfilename[20];

cout << "Enter File: ";

cin >> qfilename;

cout << "Gruppennummer";

cin >> afilename;

ifstream questions;

ofstream answers;

questions.open(qfilename, ios::in);

answers.open(afilename, ios::app);

while (!questions.eof())

{

questions.getline(frage, 1024);

cout << frage << endl;

//fflush(stdin);

//den befehl hab ich ausgeklammert, denn er laeuft irgendwie nicht

cin.getline(antwort, 1024);

answers << antwort << '\n' << endl;;

}

questions.close();

answers.close();

return 0;

}

Ein Problem hab ich allerdings noch immer:

Wenn man das Programm ausführt, dann zeigt es nach den Eingaben die ersten beiden Fragen auf einmal an und erst dann geht es regelmäßi, also ausgabe frage 3, eingabe antwort3, ausgabe frage4, eingabe antwort 4usw.

Abermals Danke im voraus

Hm, das hab ich schon kapiert, wegen fflush(stdin): ich hatte nur

#include <stdio.h> vergessen ... :hells:

Und ich hab wieder eine Frage:

Wie muss ich den Code ändern, damit er statt 1 Zeile 5 Zeilen anzeigt?

Ich meine das etwa so:

-------------------------------------------------------------------

Ausgabe:

1.Who is Condoleezza Rice?

a) Financial Advisor

B) Secretary of State

c) First Lady

d) Chairman of the FBI

Eingabe Antwort 1

Ausgabe:

2. Frage?

a) Antwortmöglichkeit

B) Antwortmöglichkeit

c) Antwortmöglichkeit

d) Antwortmöglichkeit

Eingabe Antwort 2

...usw...

------------------------------------------------------------------

Bitte wieder so schnell wie möglich helfenund ebenfalls wieder vielen Dank im voraus!

Vielleicht indem Du statt einer Zeile 5 Zeilen ausliest?

Noch ein Problem:

Ich möchte die Antworten ja überprüfen, also kann mir jemand den code so ändern, dass er die eingegebenen antworten mit den richtigen die in einer datei(z.B correct.txt) stehen vergleicht, wenn richtig die variable (int punkte) um eins erhöht(das schaff ich selber) und am Ende statt die antworten in eine datei zu speichern, die erreichte punktzahl(=anzahl der richtigen) in die antwortsdatei schreibt?

Das Problem was ich hierbei nicht verstehe its, wie man zwei dateien gleichzeitig öffnet (z.B. questions.txt um die fragen anzuzeigen und correct.txt um die antworten vergleichen zu können)

Danke

bei mehrmals (5mal )ausführen zeigt er mir die ganze datei an (alle 20)

Ich möchte die Antworten ja überprüfen, also kann mir jemand den code so ändern, dass er die eingegebenen antworten mit den richtigen die in einer datei(z.B correct.txt) stehen vergleicht, wenn richtig die variable (int punkte) um eins erhöht(das schaff ich selber) und am Ende statt die antworten in eine datei zu speichern, die erreichte punktzahl(=anzahl der richtigen) in die antwortsdatei schreibt?

Das Problem was ich hierbei nicht verstehe its, wie man zwei dateien gleichzeitig öffnet (z.B. questions.txt um die fragen anzuzeigen und correct.txt um die antworten vergleichen zu können)

Du hast doch schon zwei Dateien offen. Questions und Answers. Das ist doch immer das gleiche Prinzip.

Wir sprechen hier von einfachsten Algorythmen in C bzw. C++.

Hier wird dir bestimmt keiner den Code vorbeten. Bei konkreten Problem wird geholfen aber keiner schreibt dir hier dein Programm fertig.

Frank

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.