Hallo zusammen,
ich versuche gerade eine kleine Stundentenverwaltung zu schreiben als Projekt für die Uni. Ich verzweifle gerade beim Einlesen der Daten. (Bei allen Funktionen sind die Parameter festgeschrieben, darf ich also nicht ändern)
Außerderm ist der Student fest vorgeschrieben als folgende Struktur:
Habe mir eine kleine Funktion geschrieben, die den Studenten einliest:
Diese scheint auch soweit zu funktionieren. Jedoch scheint er die bereits gelesenen Studenten beim zweiten Aufruf vergessen zu haben. Kann mir bitte jemand helfen?
ich versuche gerade eine kleine Stundentenverwaltung zu schreiben als Projekt für die Uni. Ich verzweifle gerade beim Einlesen der Daten. (Bei allen Funktionen sind die Parameter festgeschrieben, darf ich also nicht ändern)
Außerderm ist der Student fest vorgeschrieben als folgende Struktur:
Code:
struct person
{
char* name;
int matrikelnummer;
};
typedef struct person studierende;Habe mir eine kleine Funktion geschrieben, die den Studenten einliest:
Code:
studierende *datenEinlesen()
{
studierende stud;
char tmpName[1000];
int len = 0;
printf("\n Matrikelnummer eingeben: ");
scanf_s("%i", &stud.matrikelnummer);
fflush(stdin);
printf("\n Namen eingeben: ");
scanf_s("%999s", &tmpName, 1000);
fflush(stdin);
len = strlen(tmpName);
stud.name = (char*)malloc(sizeof(char)* (len +1));
strncpy_s(stud.name, len + 1, tmpName, len + 1);
return &stud;
}Diese scheint auch soweit zu funktionieren. Jedoch scheint er die bereits gelesenen Studenten beim zweiten Aufruf vergessen zu haben. Kann mir bitte jemand helfen?
Code:
void main(void)
{
studierende* immatrikuliert[1000];
int actAnzahl = 0;
int selection = 1;
int searchMatrikelNo = 0;
int i = 0, pos = 0;
/*read all students*/
printf("Zuerst wollen wir Studenten einlesen");
while (selection != 0 && actAnzahl < 1000)
{
immatrikuliert[actAnzahl] = datenEinlesen();
actAnzahl++;
fflush(stdin);
}
}
No comments:
Post a Comment