ich wiederhol gerade C.. mein erstes "großes" Programm war das:
[c]#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void auswahl();
void schreibe();
void lese();
struct stru {
char name[20];
int alter;
char ort[20];
int index;
};
void wait_enter() {
char bla[123];
printf("Please press Enter to continue..\n");
fgets(bla,123,stdin);
fgets(bla,123,stdin);
}
void error_msg(int error) {
if (error == 0) {
printf("Error! Keine Datensätze angelegt.\n");
wait_enter();
}
else if (error == 1) {
printf("Error, ID nicht vorhanden.\n");
wait_enter();
}
}
void auswahl(){
int wahl;
int zaehler = 1;
int id;
int tata;
struct stru meins[100];
do {
printf("\nID Schreiben:.. 1\nID Lesen:...... 2\nAlles Lesen.... 3\nBeenden:....... 0\nAuswahl: ");
scanf("%d",&wahl);
printf("\n");
if (wahl == 2) {
if (zaehler == 1) {
error_msg(0);
}
else {
printf("ID (1 bis %d): ",zaehler-1);
scanf("%d",&id);
if(id < 1 || id >= zaehler) {
error_msg(1);
}
else {
lese(&meins[id]);
wait_enter();
}
}
}
if (wahl == 3) {
if(zaehler == 1) {
error_msg(0);
}
else {
for (tata = 1; tata < zaehler; tata++) {
lese(&meins[tata]);
}
}
wait_enter();
}
if (wahl == 1) {
schreibe(&meins[tata],zaehler);
zaehler++;
}
if (wahl == 0) {
return;
}
} while(1);
}
void lese(struct stru *temp, int zaehler) {
printf("\n#####\n");
printf("ID #%d\nName: %s\nAlter: %d\nOrt: %s",(*temp).index,(*temp).name,(*temp).alter,(*temp).ort);
printf("\n#####\n\n");
}
void schreibe(struct stru *temp, int zaehler) {
printf("ID #%d\n",zaehler);
printf("Name: ");
getchar();
fgets(temp[zaehler].name,20,stdin);
printf("Alter: ");
scanf("%d",&temp[zaehler].alter);
printf("Ort: ");
getchar();
fgets(temp[zaehler].ort,20,stdin);
temp[zaehler].name[strlen(temp[zaehler].name)-1] = '\0';
temp[zaehler].ort[strlen(temp[zaehler].ort)-1] = '\0';
temp[zaehler].index = zaehler;
}
int main (void) {
auswahl();
}[/c]