HILFE C PROGRAMMIERUNG ppm Ausgabe

Eure Spielwiese.
vabu84

HILFE C PROGRAMMIERUNG ppm Ausgabe

Beitrag von vabu84 »

Liebe Leute
ich benötige hilfe in der c programmierung Notenverwaltungsoftware

Aufgabe: 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

Ich wäre euch sehr dankbar, wenn ihr mir helft. Vielen Dank.


Mein möchtegern Programmcode

Code: Alles auswählen

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;
   } 

Gast

Beitrag von Gast »

Du bist hier falsch! Das ist hier ein LaTeX-Forum. Du brauchst ein C-Forum.

Antworten