Ich bereauche Hilfe
-
Bitte lern richtig schreiben! Genauso wie bei C am Ende ein Semikolon gesetzt wird, wird im deutschen ein Punkt ans Ende des Satzes geschrieben. Und Deutsch ist auch noch case sensitiv. Oder kurz, deine Sätze lesen sich furchtbar.
-
Tyrdal schrieb:
Bitte lern richtig schreiben! Genauso wie bei C am Ende ein Semikolon gesetzt wird, wird im deutschen ein Punkt ans Ende des Satzes geschrieben. Und Deutsch ist auch noch case sensitiv. Oder kurz, deine Sätze lesen sich furchtbar.
Sorry, schreib hier immer nur kurz rein wenn ich ne Mail kriege das jemand hier geantwortet hat. Ist sonst nicht meine Art.
-
@Cstoll : Was wäre bei deinem Beispiel, der include?
-
<vector> und <string> für die verwendeten Datentypen, <iostream> für cin/cout, außerdem brauchst du noch <fstream> für die Lese-Routinen - und mußt die gesamten Fragmente zu einem kompletten Programm zusammenbauen.
(in C dürfte es etwas schwieriger sein, weil Arrays längst nicht so einfach zu verwenden sind wie vector<>)
-
CStoll schrieb:
<vector> und <string> für die verwendeten Datentypen, <iostream> für cin/cout, außerdem brauchst du noch <fstream> für die Lese-Routinen - und mußt die gesamten Fragmente zu einem kompletten Programm zusammenbauen.
(in C dürfte es etwas schwieriger sein, weil Arrays längst nicht so einfach zu verwenden sind wie vector<>)
Vector hab ich erhlich gesagt noch nie gehört. Darum blick ich net durch wie ich das coden muss.
-
Wenn du nicht weiterweißt, frag einfach
Btw, zu den wichtigsten Klassen der Standardbibliothek habe ich ein paar Artikel im Magazin verfasst, die du vielleicht lesen solltest ("Aufbau der STL - Teil 1" enthält auch die vector<>en).
-
char file[50]; printf("**************************************************\n"); printf("***Wilkommen im multiple choice Apruefer***\n"); printf("**************************************************\n\n\n\n"); printf("Bitte geben sie den Namen der Prüfung ein.\n"); scanf("%s", &file); strcat (file, ".txt"); FILE * fp; fp = fopen("file", "w");
So hab gestern meinen abend geopfert und hab das bekommen jetzt weiss ich nicht mehr weiter
-
Darfst/willst du nun C++ nutzen oder nicht? Wenn du wirklich in reinem C arbeiten willst, verschiebe ich dich eine Etage höher - ansonsten steig' bitte um auf C++ Funktionen.
@Topic:
Der Anfang ist ja schonmal da - als nächstes mußt du alle Fragen (und Antwortmöglichkeiten) aus deiner Datei einlesen und zwischenspeichern (obwohl - es ist auch möglich, direkt aus der Datei auszulesen, während das Quiz läuft). Aber bevor es damit weitergeht, solltest du dir überlegen, wie du die Taxtdatei mit den Prüfungsfragen aufbaust.PS: Und wenn du lesen willst, öffne die Datei bitte im Modus "r"
-
CStoll schrieb:
Darfst/willst du nun C++ nutzen oder nicht? Wenn du wirklich in reinem C arbeiten willst, verschiebe ich dich eine Etage höher - ansonsten steig' bitte um auf C++ Funktionen.
@Topic:
Der Anfang ist ja schonmal da - als nächstes mußt du alle Fragen (und Antwortmöglichkeiten) aus deiner Datei einlesen und zwischenspeichern (obwohl - es ist auch möglich, direkt aus der Datei auszulesen, während das Quiz läuft). Aber bevor es damit weitergeht, solltest du dir überlegen, wie du die Taxtdatei mit den Prüfungsfragen aufbaust.PS: Und wenn du lesen willst, öffne die Datei bitte im Modus "r"
Also C++ meinte der Lehrer noch nicht, leider. Darum muss es C sein. Mein Problem zur Zeit ist ich weiss nicht wie ich aus einer Datei ein Quiz einlesen kann. Was der Befehl ist.
-
Plion schrieb:
Also C++ meinte der Lehrer noch nicht, leider. Darum muss es C sein. Mein Problem zur Zeit ist ich weiss nicht wie ich aus einer Datei ein Quiz einlesen kann. Was der Befehl ist.
Ein Quiz am Stück einlesen kannst du mit C nicht - besonders da niemand weiß, was ein "Quiz" sein soll. Du kannst aber die einzelnen Fragen und Antworten mit fgets() (liest eine komplette Zeile) oder fscanf() (mit einer reichlichen Auswahl an Formatierungsmöglichkeiten) einlesen.
-
Dieser Thread wurde von Moderator/in CStoll aus dem Forum C++ in das Forum ANSI C verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
CStoll schrieb:
Plion schrieb:
Also C++ meinte der Lehrer noch nicht, leider. Darum muss es C sein. Mein Problem zur Zeit ist ich weiss nicht wie ich aus einer Datei ein Quiz einlesen kann. Was der Befehl ist.
Ein Quiz am Stück einlesen kannst du mit C nicht - besonders da niemand weiß, was ein "Quiz" sein soll. Du kannst aber die einzelnen Fragen und Antworten mit fgets() (liest eine komplette Zeile) oder fscanf() (mit einer reichlichen Auswahl an Formatierungsmöglichkeiten) einlesen.
#include "stdafx.h" #include <string.h> int main(int argc, char* argv[]) { char file[50]; char antwort[300]; printf("*******************************************\n"); printf("***Wilkommen im multiple choice Apruefer***\n"); printf("*******************************************\n\n\n\n"); printf("Bitte geben sie den Namen der Pruefung ein.\n"); scanf("%s", &file); strcat (file, ".txt"); FILE * fp; fp = fopen("file", "a"); while (!feof (fp)) { fscanf(fp,"[^\n]\n",&antwort); fprintf(fp,"%s",antwort); } }
meins du sowas in der art?
-
Im Prinzip ja - nur solltest du noch etwas Struktur in die Schleife einbringen und zwischendurch auch abfragen, welche Antworten der Anwender gegeben hat.
(und fopen() verwendet immer noch den falschen Parameter - "w" schreibt in eine neue Datei (löscht notfalls alte Inhalte), "a" schreibt ans Ende einer vorhandenen Datei, "r" liest aus einer vorhandenen Datei)
-
Ok sorry habs vorher vergessen.
Also ich bin jetzt wieder ein Schritt weiter das Programm zeigt mir jetzt ein normlaes txt file an zu dem hab ich folgenden Quellcode benutzt. Jetzt muss ich was tun das ich auch antworten kann.Quellcode :
#include "stdafx.h" #include <string.h> int main(int argc, char* argv[]) { char file[50]; char antwort[300]; printf("*******************************************\n"); printf("***Wilkommen im multiple choice Apruefer***\n"); printf("*******************************************\n\n\n\n"); printf("Bitte geben sie den Namen der Pruefung ein.\n"); scanf("%s", file); strcat (file, ".txt"); printf("%s", file); FILE * fp; fp = fopen(file, "r"); while (!feof (fp)) { fscanf(fp,"%[^\n]\n",antwort); printf("%s",antwort); } }
-
Wie gesagt - strukturier dir erstmal das Textfile mit den Frage und Antworten, z.B. so:
Frage 1? 3 2 erste Antwort zweite Antwort dritte Antwort Frage 2? 4 1 erste Antwort zweite Antwort dritte Antwort vierte Antwort ...
(die Zahlenpaare nach der jeweiligen Frage geben die Anzahl der Antworten und den Index der korrekten Antwort an)
-
CStoll schrieb:
Wie gesagt - strukturier dir erstmal das Textfile mit den Frage und Antworten, z.B. so:
Frage 1? 3 2 erste Antwort zweite Antwort dritte Antwort Frage 2? 4 1 erste Antwort zweite Antwort dritte Antwort vierte Antwort ...
(die Zahlenpaare nach der jeweiligen Frage geben die Anzahl der Antworten und den Index der korrekten Antwort an)
Das hab ich jetzt. Es zeigt mir aber alle Fragen und Antworten an ich brauch etwas um nun Antworten zu können in dem Programm.
Es zeigt mir nun nur alle fragen und antworten an.
-
Struktur im Programm:
- lies die nächste Frage ein und zeige sie an.
- lies die beiden Zahlenangaben ein (count und korrekt)
- lies count Zeilen ein und gib sie mit laufender Nummer aus
- hol dir die Antwort des Nutzers und vergleich sie mit dem Wert in korrekt
(wenn die Antwort stimmt, erhöhst du den Punktezähler, den du am Ende ausgeben kannst)
-
CStoll schrieb:
Struktur im Programm:
- lies die nächste Frage ein und zeige sie an.
- lies die beiden Zahlenangaben ein (count und korrekt)
- lies count Zeilen ein und gib sie mit laufender Nummer aus
- hol dir die Antwort des Nutzers und vergleich sie mit dem Wert in korrekt
(wenn die Antwort stimmt, erhöhst du den Punktezähler, den du am Ende ausgeben kannst)
das hab ich alles im struktogramm^^... jedoch kenn ich die C codes für das nicht.
-
Klar kennst du sie - einlesen mit fscanf() (hast du ja oben schon verwendet), Ausgaben mit printf() und Nutzerantworten bekommst du mit scanf() (oder indem du stdin als Datei an fscanf() übergibst).
(für den dritten Schritt benötigst du eine for()-Schleife)
-
CStoll schrieb:
Klar kennst du sie - einlesen mit fscanf() (hast du ja oben schon verwendet), Ausgaben mit printf() und Nutzerantworten bekommst du mit scanf() (oder indem du stdin als Datei an fscanf() übergibst).
(für den dritten Schritt benötigst du eine for()-Schleife)
EDIT : ok habs jetzt begriffen. Weiss du per zufall wie dann die befehle in der klammer aussehen da hab ich keinen plan aber den sinn begreif ich jetzt