vabu84
Goto Top

Hilfe in C Programmierung Diagram als ppm ausgeben

Ich muss in meiner Ausbildung eine Notenverwaltungssoftware als Konsolenprogramm schreiben.
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.

Die Lehrkraft kann eine beliebige Anzahl Noten in diese Prüfung eintragen dies macht man irgendwie mit einer Schleife, so gut ich
mich noch erinnern kann, leider weiss ich nicht mehr wie genau. Nachdem mehr als 2Prüfungen eingetragen wurden hat der Anwender
die Möglichkeit ein Diagramm in ppm Dateiformat generieren zu lassen, da habe ich echt keine Ahnung wie man dies macht. Ich habe das Problem dass
ich ständig unter Zeitdruck bin, da ich in meiner Schule jede 2 Wochen ein neues Modul habe und nicht die Zeit stundenlang im Internet nach Lösungen zu suchen und auszuprobieren. Alle ungenügenden Module muss man repetieren und man hat nur sehr kurz Zeit Programmieren zu lernen(Alle 2 Wochen neues Modul)
Es wäre super, wenn ihr mir helfen könnted meinen ziehmlich chaotischen Anfängercode verbessern oder einen neuen Code für mich schreiben.,mir weiterhelfen wie ich diese Aufgabe schaffe, die evt wieder als Prüfung kommt oder Freiwiligen Arbeit. Vielen Dank vanessa.

Bilder meines Codes im Anhang oder unten eingefügter (chaotischer) face-smile Code. Als ppm muss so ein Diagram ausgegeben werden für die Noten.

000000
111100 Note 4
000000
111110 Note 5 ... etc.

Für eure Hilfe bin ich extrem dankbar. lg vanessa

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


a
b
c

Content-Key: 316944

Url: https://administrator.de/contentid/316944

Printed on: April 18, 2024 at 18:04 o'clock

Member: Kraemer
Kraemer Oct 05, 2016, updated at Oct 07, 2016 at 10:11:50 (UTC)
Goto Top
Nabend,

kein Hallo, keine Code-Tags und anscheinend keinerlei eigener Code.
Mein Tipp: Löse dein Zeitproblem!

PS: Dir hier zu helfen ist Perlen vor die S...

Gruß Krämer
Member: runasservice
runasservice Oct 06, 2016, updated at Oct 07, 2016 at 10:11:57 (UTC)
Goto Top
PS: Dir hier zu helfen ist Perlen vor die S...

Es gibt keine dummen Fragen, nur dumme Antworten!
Member: H41mSh1C0R
H41mSh1C0R Oct 06, 2016 at 08:01:21 (UTC)
Goto Top
Nunja so unrecht hat Krämer nicht.

...oder einen neuen Code für mich schreiben.,mir weiterhelfen wie ich diese Aufgabe schaffe, die evt wieder als Prüfung kommt oder Freiwiligen Arbeit.

Ich denke keiner hat ein Problem damit, wenn man über Code diskutieren kann, wenn es um Fallstricke geht.

@Vanessa:
Statt zu fragen wer dir den Code liefern kann wäre es sinnvoll sich mit Grundlagen im Detail auseinanderzusetzen.
Stichwort Struktogramm, Programmablaufplan, etc.. Wenn du dann soweit bist das du die einzelnen Elemente zusammenhast gehts daran dafür die Syntax(Schleifen, Verzweigungen etc.) zu lernen.

Klar kann man auch bei jeder Aufgabe alles anderen über den Zaun werfen, aber was lernst du dabei?