Aufgabe war es eine Mitarbeiter Datenbank zu erstellen. Folgendes soll vorhanden sein:
1. Kleines Auswahlmenü
2. Auswahl zwischen Mitarbeiter erstellen und Mitarbeiteriste anzeigen
Es reicht eine Datenbank für 10 Mitarbeiter.
Wenn Sie voll ist soll das Programm eine Meldung ausgeben.
(Bonusaufgabe wäre eine Löschfunktion, hab ich aber noch nicht gemacht)
Mein Programm funktioniert , aber ich glaube ich habe es viel zu umständlich gelöst.
Ich bin im 1. Semester und lerne noch fleißig

Hier der Code:
Code: Alles auswählen
#include <stdlib.h>
#include <string.h>
typedef struct s_datum //Strucktur Datum
{
int tag,monat,jahr;
}datum;
typedef enum _rolle //Strucktur Rolle
{
Entwickler ,
Projektleiter,
Manager
} Rolle;
typedef struct _person //Strucktur Person
{
char name[25];
int gehalt;
Rolle rolle;
datum neu;
}Person;
int anzahl_Personen = 0;
int liste = 1;
Person Mitarbeiter[10]; //Array mit 10 möglichen Eintraegen
//Erstellt Person1 im Array von Mitarbeiter[0]
void erstelle_Person1(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[0].name); //Mitarbeiter[0] greift auf den ersten Platz im Array von Mitarbeiter[10] zu.
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[0].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[0].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[0].neu.tag, &Mitarbeiter[0].neu.monat, &Mitarbeiter[0].neu.jahr);}
void erstelle_Person2(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[1].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[1].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[1].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[1].neu.tag, &Mitarbeiter[1].neu.monat, &Mitarbeiter[1].neu.jahr);}
void erstelle_Person3(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[2].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[2].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[2].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[2].neu.tag, &Mitarbeiter[2].neu.monat, &Mitarbeiter[2].neu.jahr);}
void erstelle_Person4(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[3].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[3].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[3].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[3].neu.tag, &Mitarbeiter[3].neu.monat, &Mitarbeiter[3].neu.jahr);}
void erstelle_Person5(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[4].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[4].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[4].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[4].neu.tag, &Mitarbeiter[4].neu.monat, &Mitarbeiter[4].neu.jahr);}
void erstelle_Person6(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[5].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[5].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[5].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[5].neu.tag, &Mitarbeiter[5].neu.monat, &Mitarbeiter[5].neu.jahr);}
void erstelle_Person7(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[6].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[6].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[6].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[6].neu.tag, &Mitarbeiter[6].neu.monat, &Mitarbeiter[6].neu.jahr);}
void erstelle_Person8(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[7].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[7].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[7].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[7].neu.tag, &Mitarbeiter[7].neu.monat, &Mitarbeiter[7].neu.jahr);}
void erstelle_Person9(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[8].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[8].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[8].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[8].neu.tag, &Mitarbeiter[8].neu.monat, &Mitarbeiter[8].neu.jahr);}
void erstelle_Person10(){
anzahl_Personen++;
printf("Mitarbeiter Nr.%d\n",anzahl_Personen);
printf("Name des Mitarbeiters: \n");
scanf("%s",Mitarbeiter[9].name);
printf("Gehalt des Mitarbeiters: \n");
scanf("%d",&Mitarbeiter[9].gehalt);
printf("Rolle des Mitarbeiters: (1-Entwickler , 2-Projektleiter, 3-Manager)\n");
scanf("%u",&Mitarbeiter[9].rolle);
printf("Eintrittsdatum des Mitarbeiters:\n");
scanf("%2d %2d %4d",&Mitarbeiter[9].neu.tag, &Mitarbeiter[9].neu.monat, &Mitarbeiter[9].neu.jahr);}
//ausgabe_Person1() gibt die Daten von Mitarbeiter[0] aus.
void ausgabe_Person1(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[0].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[0].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[0].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[0].neu.tag, Mitarbeiter[0].neu.monat,Mitarbeiter[0].neu.jahr);
}
void ausgabe_Person2(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[1].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[1].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[1].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[1].neu.tag, Mitarbeiter[1].neu.monat,Mitarbeiter[1].neu.jahr);
}
void ausgabe_Person3(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[2].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[2].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[0].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[2].neu.tag, Mitarbeiter[2].neu.monat,Mitarbeiter[2].neu.jahr);
}
void ausgabe_Person4(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[3].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[3].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[0].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[3].neu.tag, Mitarbeiter[3].neu.monat,Mitarbeiter[3].neu.jahr);
}
void ausgabe_Person5(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[4].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[4].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[4].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[4].neu.tag, Mitarbeiter[4].neu.monat,Mitarbeiter[4].neu.jahr);
}
void ausgabe_Person6(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[5].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[5].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[0].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[5].neu.tag, Mitarbeiter[5].neu.monat,Mitarbeiter[5].neu.jahr);
}
void ausgabe_Person7(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[6].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[6].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[6].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[6].neu.tag, Mitarbeiter[6].neu.monat,Mitarbeiter[6].neu.jahr);
}
void ausgabe_Person8(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[7].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[7].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[0].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[7].neu.tag, Mitarbeiter[7].neu.monat,Mitarbeiter[7].neu.jahr);
}
void ausgabe_Person9(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[8].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[8].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[8].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[8].neu.tag, Mitarbeiter[8].neu.monat,Mitarbeiter[8].neu.jahr);
}
void ausgabe_Person10(){
printf("Person Nummer: %d\n\n",liste);
liste++;
printf("Der Name des Mitarbeiters:%s\n",Mitarbeiter[9].name);
printf("Das Gehalt des Mitarbeiters:%d Euro\n",Mitarbeiter[9].gehalt);
printf("Die Rolle des Mitarbeiters:%u\n(1-Entwickler , 2-Projektleiter, 3-Manager)\n",Mitarbeiter[9].rolle);
printf("Das Eintrittsdatum des Mitarbeiters: %d.%d.%d\n",Mitarbeiter[9].neu.tag, Mitarbeiter[9].neu.monat,Mitarbeiter[9].neu.jahr);
}
int main()
{
int wahl;
while(anzahl_Personen<=10){
printf("Die Datenbank enthaelt %d Mitarbeiter\n\n",anzahl_Personen);
printf("Was wollen Sie tun?\n\n1-Mitarbeiter hinzufuegen\n2-Liste ansehen.\n\n");
scanf("%d",&wahl);
if (wahl == 1){
switch(anzahl_Personen){
case 0: erstelle_Person1();break;
case 1: erstelle_Person2();break;
case 2: erstelle_Person3();break;
case 3: erstelle_Person4();break;
case 4: erstelle_Person5();break;
case 5: erstelle_Person6();break;
case 6: erstelle_Person7();break;
case 7: erstelle_Person8();break;
case 8: erstelle_Person9();break;
case 9: erstelle_Person10();break;
default: printf("Datenbank voll\n");}
}
else if (wahl == 2){
switch(anzahl_Personen){
case 1: ausgabe_Person1();break;
case 2: ausgabe_Person1();ausgabe_Person2();break;
case 3: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();break;
case 4: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();break;
case 5: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();ausgabe_Person5();break;
case 6: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();ausgabe_Person5();ausgabe_Person6();break;
case 7: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();ausgabe_Person5();ausgabe_Person6();ausgabe_Person7();break;
case 8: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();ausgabe_Person5();ausgabe_Person6();ausgabe_Person7();ausgabe_Person8();break;
case 9: ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();ausgabe_Person5();ausgabe_Person6();ausgabe_Person7();ausgabe_Person8();ausgabe_Person9();break;
case 10:ausgabe_Person1();ausgabe_Person2();ausgabe_Person3();ausgabe_Person4();ausgabe_Person5();ausgabe_Person6();ausgabe_Person7();ausgabe_Person8();ausgabe_Person9();ausgabe_Person10();break;
default : printf("Falsche Eingabe\n\n");
}
}
else{printf("ungueltige Eingabe\n");}
}
return(0);
}