Ppm in c programmierung ausgeben benötige Hilfe [Geschlossen]

vabu 1 Beiträge Donnerstag Oktober 6, 2016Mitglied seit: Oktober 6, 2016 Zuletzt online: - 6. Oktober 2016 um 01:15
Guten Tag,

Aufgabe: Notenverwaltungsoftware in C , benötige eure Hilfe

Es soll dem Anwender möglich sein eine Prüfung zu erfassen, die als Dateiname abgelegt wird.Nachdem dies vorgenommen wurde kann die Lehrkraft zu einem beliebigen Zeitpunkt, eine beliebige Anzahl Noten in diese Prüfung eintragen.
Nachdem mehr als 2 Prüfungen eingetragen wurden, hat die Lehrkraft die möglichkeit ein Diagramm im Dateiformat ppm generieren
zu lassen. Um dies bewerkstelligen zu können müssen Sie das einfache Ascii BildFormat studieren.

https://de.wikipedia.org/wiki/Portable_Anymap ,heisst es in der Aufgabenstellung.
irgend so ein Diagramm ausgeben für die Noten.
000000
111100 Note 4
000000
111110 Note 5


include <stdlib.h>
#include <stdio.h>

struct {
char vorname[20];
char nachname[30];
char note1[80];
char note2[80];
char note3[80];

} adressen;

void speichern(void) {
FILE *save = fopen("adressen.dat","r+b");
if( NULL == save ) {
save = fopen("adressen.dat","w+b");
if( NULL == save ) {
fprintf(stderr,"Kann \"adressen.dat\" nicht öffnen!\n");
return;
}
}
/* FILE-Zeiger save auf das Ende der Datei setzen */
fseek(save, 0, SEEK_END);

/* Wir schreiben eine Adresse ans Ende von "adressen.dat". */
if(fwrite(&adressen, sizeof(adressen), 1, save) != 1) {
fprintf(stderr, "Fehler bei fwrite...!!!\n");
return;
}
/* Wir geben unseren FILE-Zeiger wieder frei. */
fclose(save);
}

void ausgabe(void) {
FILE *output = fopen("adressen.dat","r+b");
if( NULL == output ) {
fprintf(stderr,"Kann \"adressen.dat\" nicht öffnen!\n");
return;
}
/* Wir lesen alle Adressen aus "adressen.dat". */
while(fread(&adressen, sizeof(adressen), 1, output) == 1) {
printf("Vorname Schueler1. %s",adressen.vorname);
printf("Nachname......... %s",adressen.nachname);
printf("note1........... %s",adressen.note1);
printf("\n");
printf("Vorname.Schueler2. %s",adressen.vorname);
printf("Nachname......... %s",adressen.nachname);
printf("note............. %s",adressen.note2);
printf("\n\n");
printf("Vorname.Schueler3. %s",adressen.vorname);
printf("Nachname......... %s",adressen.nachname);
printf("note............. %s",adressen.note3);
printf("\n\n");
printf("Vorname.......... %s",adressen.vorname);
printf("Nachname..........%s",adressen.nachname);
printf("note............. %s",adressen.note1);
printf("\n\n");
printf("Vorname..........%s",adressen.vorname);
printf("Nachname..........%s",adressen.nachname);
printf("note..............%s",adressen.note2);
printf("\n\n");
/*WIE GIBT MAN BILD AUS IN KONSOLE??? */
/* Wir lesen alle Adressen aus "adressen.dat". */
}
fclose(output);
}
void eingabe(void) {
printf("Vorname Schueler1....");
fgets(adressen.vorname, sizeof(adressen.vorname), stdin);
printf("Nachname....");
fgets(adressen.nachname, sizeof(adressen.nachname),stdin);
printf("note 1:....");
fgets(adressen.note1, sizeof(adressen.note1), stdin);
printf("note 2:....");
fgets(adressen.note2, sizeof(adressen.note2), stdin);
printf("note 3:....");
fgets(adressen.note3, sizeof(adressen.note3), stdin);
printf("Vorname Schueler2....");
fgets(adressen.vorname, sizeof(adressen.vorname), stdin);
printf("Nachname....:");
fgets(adressen.nachname, sizeof(adressen.nachname),stdin);
printf("note 1....:");
fgets(adressen.note1, sizeof(adressen.note1), stdin);
printf("note 2....:");
fgets(adressen.note2, sizeof(adressen.note2), stdin);
printf("note 3:....");
fgets(adressen.note3, sizeof(adressen.note3), stdin);
printf("Vorname Schueler3....");
fgets(adressen.vorname, sizeof(adressen.vorname), stdin);
printf("Nachname:....");
fgets(adressen.nachname, sizeof(adressen.nachname),stdin);
printf("note 1:....");
fgets(adressen.note1, sizeof(adressen.note1), stdin);
printf("note 2:....");
fgets(adressen.note2, sizeof(adressen.note2), stdin);
printf("note 3:....");
fgets(adressen.note3, sizeof(adressen.note3), stdin);
speichern();
}

int main(void) {
int wahl;

do {
printf("Was wollen Sie machen\n");
printf("-1- Neuen Note erfassen\n");
printf("-2- Alle Datensaetze ausgeben\n");
printf("-3- Programm beenden\n\n");
printf("Ihre Auswahl : ");
do {
scanf("%d",&wahl);
} while(getchar() != '\n');
switch(wahl) {
case 1 : eingabe(); break;
case 2 : ausgabe(); break;
case 3 : printf("...Programm wird beendet\n");
break;
default: printf(">>%d<< ???\n",wahl);
}
} while(wahl != 3);

return;
}

Mehr anzeigen