Moin moin
ich bin neu hier.. =) wollt mal ganz lieb fragen ob sich jemand bereit erklären würde, mir bei ner kleinen Aufgabe für mein Studium zu helfen...
Die Aufgabe lautet wie folgt:
hab schonmal angfangen n bissel was zu machen.. das neun Anlegen und Anzeigen klappt immerhin schon![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
für Unterstützung übers Forum, ICQ oder MSN wär ich sehr sehr dankbar...
hier mal mein erster Ansatz:
]
bisschen was war vorgegeben.. den rest hab ich mir gemeinsam mit nem Kollegen erarbeitet...
Vielen Dank schonmal![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
ich bin neu hier.. =) wollt mal ganz lieb fragen ob sich jemand bereit erklären würde, mir bei ner kleinen Aufgabe für mein Studium zu helfen...
Die Aufgabe lautet wie folgt:
Erstellen Sie ein Programm stud zur - zugegebenermaßen sehr einfachen - Verwaltung von Studierenden. Das Programm soll folgenden Funktionsumfang besitzen:
Benutzungsoberfläche: Konsole mit Menüsteuerung (vgl. prototypische Implementierung im Anhang)
- Neu anlegen von Studierenden 5-stellige Matrikelnummer, Nachname, Vorname, Studienrichtungskürzel (2 Großbuchstaben), automatischer Vorschlag einer freien Matrikelnummer, keine Leerstrings
- Bearbeiten/Ändern von Studierendendaten (Ändern von Matrikelnummer nicht möglich)
- Löschen von erfassten Studierendendaten
- Anzeigen aller erfassten Studierendendaten als Liste (Sortiert nach Matrikelnummer, zusätzliche Sortierkriterien: Name-Vorname-Matrikelnummer und Studienrichtung-Matrikelnummer)
Wichtig:
• Übersetzbarkeit und Ausführbarkeit
• Robustheit
• Strukturierung des Codings
• Funktionalität
• Ergonometrie (Bedienbarkeit, benutzerfreundliche Menüführung etc.)
hab schonmal angfangen n bissel was zu machen.. das neun Anlegen und Anzeigen klappt immerhin schon
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
für Unterstützung übers Forum, ICQ oder MSN wär ich sehr sehr dankbar...
hier mal mein erster Ansatz:
C:
#include <stdio.h>
#define LINELEN 256
#define NAMELEN 25
#define MAXSTUD 1000
struct studenten {
int matrikelnummer;
char nachname[NAMELEN];
char vorname[NAMELEN];
char studienfach[3];
};
typedef struct studenten stud;
void anzeigen(stud sarr [], int x){
int i;
printf("MatrikelNr\t\tName\t\tVorname\t\tStudienfach\n");
printf("-------------------------------------------------------------------\n");
for(i=0; i <x; i++){
printf(" %8d %17s %18s %15s\n", sarr[i].matrikelnummer, sarr[i].nachname, sarr[i].vorname, sarr[i].studienfach);
}
printf(" Es sind noch %d von %d Plaetze verfuegbar \n ", x=MAXSTUD-x, MAXSTUD);
}
int bearbeiten(){
printf("bearbeiten\n");
}
int anlegen(stud sarr[], int x){
int i = x;
char line[LINELEN +1];
printf("Bitte geben Sie die 5-Stellige Matrikelnummer ein:");
fgets(line,LINELEN, stdin);
sscanf(line, "%d", &sarr[i].matrikelnummer);
printf("Bitte geben Sie den Nachnamen ein:");
fgets(line,LINELEN, stdin);
sscanf(line, "%s", &sarr[i].nachname);
printf("Bitte geben Sie den Vornamen ein:");
fgets(line,LINELEN, stdin);
sscanf(line, "%s", &sarr[i].vorname);
printf("Bitte geben Sie das Studienfach ein:");
fgets(line,LINELEN, stdin);
sscanf(line, "%s", &sarr[i].studienfach);
i++;
return i;
}
int loeschen(){
printf("bearbeiten\n");
}
int main(){
char val='\0';
char line[ LINELEN+1 ];
int ende=0;
stud sarr[MAXSTUD];
int n=0;
int x = 0;
printf("\n\nStudierendenverwaltung (Vers. 1.1)\n");
while( !ende ){
printf("-----------------------\n");
printf(" 1 (Anzeigen)\n");
printf(" 2 (Bearbeiten)\n");
printf(" 3 (Neu anlegen)\n");
printf(" 4 (Loeschen)\n");
printf(" 5 (Programm beenden)\n");
printf("-----------------------\n");
printf(" --> Azahl der Studenten: %d <-- \n", x);
printf("Eingabe: ");
if( fgets( line, LINELEN, stdin ) == NULL ){
printf("Fehler in fgets()\n");
return -1;
}
if( sscanf( line, "%c", &val ) != 1 ){
printf("Fehler in sscanf()\n");
return -1;
}
switch ( val ){
case '1' : anzeigen(sarr, x); break;
case '2' : bearbeiten(); break;
case '3' : x = anlegen(sarr, x); break;
case '4' : loeschen(); break;
case '5' : ende=1; break;
default : printf("\nFalsche Eingabe!\n\n");
}
}
printf("Programm beendet.\n");
return 0;
}
bisschen was war vorgegeben.. den rest hab ich mir gemeinsam mit nem Kollegen erarbeitet...
Vielen Dank schonmal
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
Zuletzt bearbeitet: