C-Kurs/Studentendatenbank/Musterlösung: Unterschied zwischen den Versionen
< C-Kurs | Studentendatenbank
(Die Seite wurde neu angelegt: „=== Musterlösung === <pre> #include <stdlib.h> #include <stdio.h> #include <string.h> #define ANZAHL 10 →Teil a: struct student { int mat_nr; char vorna...“) |
(kein Unterschied)
|
Version vom 19. September 2009, 13:14 Uhr
Musterlösung
#include <stdlib.h> #include <stdio.h> #include <string.h> #define ANZAHL 10 /* Teil a */ struct student { int mat_nr; char vorname[25]; char nachname[25]; }; /* Teil b */ print_student(struct student *studi) { printf("Matr.Nr.: %i, Vorname: %s, Nachname: %s\n", studi->mat_nr, studi->vorname, studi->nachname); } /* Teil c */ print_studenten_db(struct student **db) { int i; for (i=0; i<ANZAHL; i++) { if (db[i] != NULL) { print_student(db[i]); } } } /* Teil e */ clear_db(struct student **db) { int i; for (i=0; i<ANZAHL; i++) { if (db[i] != NULL) { free(db[i]); db[i] = NULL; } } } int main() { /* Teil b*/ printf("Teil b\n"); struct student *ein_student = malloc(sizeof(struct student)); ein_student->mat_nr = 123456; strcpy(ein_student->vorname, "Max"); strcpy(ein_student->nachname, "Mustermann"); print_student(ein_student); /* Teil c */ printf("Teil c\n"); struct student *alle_studenten[ANZAHL]; int i; for (i=0; i<ANZAHL; i++) { alle_studenten[i] = NULL; } alle_studenten[0] = ein_student; print_studenten_db(alle_studenten); /* Teil d */ printf("Teil d\n"); alle_studenten[1] = malloc(sizeof(struct student)); alle_studenten[1]->mat_nr=653321; strcpy(alle_studenten[1]->vorname, "Herbert"); strcpy(alle_studenten[1]->nachname, "Meier"); alle_studenten[2] = malloc(sizeof(struct student)); alle_studenten[2]->mat_nr=765431; strcpy(alle_studenten[2]->vorname, "Hubertine"); strcpy(alle_studenten[2]->nachname, "Schulze"); free(alle_studenten[0]); alle_studenten[0] = NULL; print_studenten_db(alle_studenten); /* Teil e */ clear_db(alle_studenten); }
Kommentare
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf "bearbeiten" und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)