From d2e28940b1e7b5d7712058f74ec6be55b43c8b28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tamer=20=C3=96zt=C3=BCrk?= Date: Thu, 22 May 2025 20:10:46 +0200 Subject: [PATCH] 28.4.4 --- noteverw.c | 124 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 noteverw.c diff --git a/noteverw.c b/noteverw.c new file mode 100644 index 0000000..c6b2822 --- /dev/null +++ b/noteverw.c @@ -0,0 +1,124 @@ +#include +#include +#include + +typedef struct schueler { + char name[50]; + char vorname[50]; + int note; + struct schueler *next +}Schueler; + + +void einfuegen (Schueler *head, char *name, char *vorname, int note ){ + + Schueler* current = head; + + Schueler *neu = malloc(sizeof(Schueler)); + + + while(current->next != NULL) { + current = current->next; + } + + strcpy(neu->name, name); + strcpy(neu->vorname, vorname); + neu->note = note; + neu->next = NULL; + + current -> next = neu; + +} + +void printList(Schueler *head){ + Schueler* current = head -> next; + int counter = 1; + + while(current->next != NULL) { + printf("%d. %s \t\t%s \t\t%d \n",counter, current -> name, current -> vorname, current -> note); + counter++; + current = current->next; + } + printf("%d. %s \t\t%s \t\t%d \n",counter, current -> name,current -> vorname, current -> note); +} + +void durch(int *spiegel) { + + for (int i = 1; i <= 6 ; ++i) { + printf("Note %d:", i); + + + for (int j = 0; j < spiegel[i-1]; ++j) { + printf("*"); + } + + printf("\n"); + } + + +} + +int main (){ + Schueler anker; + char name[50], vorname[50], note_eingabe[10]; + int note, counter = 1, temp = 0, spiegel[6] = {}; + double durchschnitt = 0; + + anker.next= NULL; + + do { + printf("----Eingabe des %d.Schuelers----\n", counter); + printf("Name:"); + fgets(name, sizeof(name), stdin); + + if(strcmp(name, "\n") == 0){ + break; + } + name[strcspn(name, "\n")] = '\0'; + + printf("Vorname:"); + fgets(vorname, sizeof(vorname), stdin); + vorname[strcspn(vorname, "\n")] = '\0'; + + + printf("Note:"); + fgets(note_eingabe, sizeof(note_eingabe), stdin); + note_eingabe[strcspn(note_eingabe, "\n")] = '\0'; + note = atoi(note_eingabe); + + switch (note) { + case 1: + spiegel[0] += 1; + break; + case 2: + spiegel[1] +=1; + break; + case 3: + spiegel[2] += 1; + break; + case 4: + spiegel[3] += 1; + break; + case 5: + spiegel[4] += 1; + break; + case 6: + spiegel[5] += 1; + break; + } + + einfuegen(&anker, name, vorname, note); + + temp += note; + + counter++; + }while(1); + + printf("Name \tVorname \tNote\n"); + printf("---------------------------------------------------\n"); + printList(&anker); + printf("....Durchschnittsnote: %.2f\n", (double)temp / (counter - 1)); + printf("...Notenspiegel\n"); + durch((int *)spiegel); +} +