Informatiker Board (http://www.informatikerboard.de/board/index.php)
- Themengebiete (http://www.informatikerboard.de/board/board.php?boardid=1)
-- Praktische Informatik (http://www.informatikerboard.de/board/board.php?boardid=6)
--- daten in c einlesen (http://www.informatikerboard.de/board/thread.php?threadid=3236)


Geschrieben von lama777 am 18.10.2016 um 14:28:

  daten in c einlesen

Meine Frage:
hallo zusammen,

wir haben eine datei (exam.dat), diese enthält in der ersten zeile die richtige lösung einer multiple choice aufgabe( zb. ACDEBACD....., insgesamt 20 antworten)
in den darauf folgenden zeilen stehen jeweils Studentennummer und die Lösung der studenten, insgesamt 100 Studenten mit 100 Lösungen.
wir sollen jetzt die datei aufmachen und nach studentennummer sortieren, ausserdem sollen wir die lösung der studenten mit der musterlösung(erste zeile in der datei exam.dat) vergleichen und auswerten.
richtige antwort 4 punkte falsche -1. keine antwort 0. ( keine antwort ist in der datei mit X gekennzeichnet). ausgeben soll das programm die richtige lösung und die studentennummer mit der erreichten punktzahl.

Meine Ideen:
wir haben bereits geschafft die erste zeile einzulesen, unser problem ist jedoch dass wir nicht wissen wie man den vergleich machen soll.

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
#include <stdio.h>
#include <stdlib.h>
/*
 * MultipleChoice
 */
int main()
{
    /*Prototypen*/
    void Musterloesung(char *);
    char Ergebniss[21];
    void Student(char *);
    /*Variablen*/
    char Loesung [2000];
    char Matrnummer[100];
    Musterloesung(Ergebniss);
    Student(Loesung);
    return 0;
}
void Musterloesung(char *Ergebniss)
    {
        FILE *erg;
        erg = fopen("exam.dat" , "r");
        int a;
        for (a=0; a<20; a=a+1)
        {
           Ergebniss[a]=fgetc (erg);
        }
       printf ("%s", Ergebniss);
    }
void Student (char *Loesung)
    {
        char Matrnummer[100];
        char Loesungstud[50];
        FILE *erg;
        erg = fopen("exam.dat" , "r");
        while((fgets(erg, 100, stdin)) != NULL)
            printf("%s", erg);
    }


Edit (Karlito): [code]-Tags



Geschrieben von Karlito am 19.10.2016 um 16:52:

 

Hallo,

Hier mal ein paar Tipps:



Gruß,

Karlito


Forensoftware: Burning Board, entwickelt von WoltLab GmbH