52 lines
1.0 KiB
C
52 lines
1.0 KiB
C
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#define NUM_ANGESTELLTE 10
|
|
|
|
#define NAME_LEN 40
|
|
typedef struct {
|
|
char name[NAME_LEN+1];
|
|
int personalnummer;
|
|
float gehalt;
|
|
} angestellter;
|
|
|
|
int main(void) {
|
|
int anzahl;
|
|
|
|
angestellter *array[NUM_ANGESTELLTE];
|
|
|
|
for (int i = 0; i < NUM_ANGESTELLTE; i++) {
|
|
array[i] = NULL;
|
|
}
|
|
|
|
int input = 0;
|
|
while (1) {
|
|
scanf("%d", &input);
|
|
if (input >= NUM_ANGESTELLTE || input < 0) break;
|
|
|
|
if (array[input] == NULL) {
|
|
array[input] = (angestellter*)malloc(sizeof(angestellter));
|
|
printf("Name: ");
|
|
scanf("%s", array[input]->name);
|
|
|
|
printf("Personalnummer: ");
|
|
scanf("%d", &array[input]->personalnummer);
|
|
|
|
printf("Gehalt: ");
|
|
scanf("%f", &array[input]->gehalt);
|
|
} else {
|
|
free(array[input]);
|
|
array[input] = NULL;
|
|
}
|
|
printf("\n############\nAngestellte:\n------------\n");
|
|
for (int i = 0; i < NUM_ANGESTELLTE; i++) {
|
|
if (array[i] == NULL) {
|
|
printf("%d: ---\n", i);
|
|
} else {
|
|
printf("%d: %s | %d | %f\n", i, array[i]->name, array[i]->personalnummer, array[i]->gehalt);
|
|
}
|
|
}
|
|
}
|
|
|
|
return 0;
|
|
} |