#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>
#include <io.h>
#include <ctype.h>
struct eingabe
{
char vname[21];
char nname[21];
char adresse[60];
char geb_dat[10];
float betrag;
char telefon[21];
};
int main(void)
{
int max = 2;
float gesamt;
int i = 0, nbr = 0, wahl = 0, zaehler = 0;
struct eingabe *liste;
liste = (eingabe *)malloc(max * sizeof (eingabe));
if (liste != NULL)
{
for (int j = 0; j < max; j++)
{
liste[j].betrag = 0;
}
gesamt = 0;
while (true)
{
if (i < max)
{
printf("Bitte Vornamen eingeben(max. 20 Zeichen): ");
fflush(stdin);
for (int x = 0; x < sizeof(liste[i].vname); x++)
{
liste[i].vname[x]= getchar();
if (liste[i].vname[x] == 10)
{
liste[i].vname[x] = '\0';
break;
}
}
fflush(stdin);
printf("\nBitte Nachnamen eingeben (max.20 Zeichen): ");
for (int x = 0; x < 21; x++)
{
liste[i].nname[x] = getchar();
if (liste[i].nname[x] == 10)
{
liste[i].nname[x] = '\0';
break;
}
}
fflush(stdin);
printf("\nBitte Adresse eingeben (max. 60 Zeichen): ");
for (int x = 0; x < 60; x++)
{
liste[i].adresse[x] = getchar();
if (liste[i].adresse[x] == 10)
{
liste[i].adresse[x] = '\0';
break;
}
}
fflush(stdin);
printf("\nGeburtsdatum im Format \"01.01.1999\": ");
for (int x = 0; x < 11; x++)
{
liste[i].geb_dat[x] = getchar();
if (liste[i].geb_dat[x] == 10)
{
liste[i].geb_dat[x] = '\0';
break;
}
}
fflush(stdin);
printf("\nTelefonnummer im Format 123-456 eingeben: ");
for (int x = 0; x < 21; x++)
{
liste[i].telefon[x] = getchar();
if (liste[i].telefon[x] == 10)
{
liste[i].telefon[x] = '\0';
break;
}
}
fflush(stdin);
printf("\nGeben Sie die Hoehe der Spende ein: ");
scanf("%f", &liste[i].betrag);
fflush(stdin);
do
{
printf("\n\nWeitere Eintragungen machen? (1 = JA, 2 = NEIN) ");
scanf("%d", &wahl);
} while (wahl < 1 || wahl > 2);
printf("\n\n");
gesamt += liste[i].betrag;
nbr = i+1;
zaehler = i;
if (wahl == 2)
{
printf("\nHauptmenue:\n");
break;
}
i++;
}
else
{
struct eingabe * merke;
merke = liste;
liste = (eingabe *)malloc(2 * sizeof(eingabe));
if (liste == NULL)
{
printf("Kein Speicher verfuegbar!\n");
break;
}
for (int j = 0; j < max; j++)
{
liste[j] = merke[j];
}
max *= 2;
free (merke);
}
}
wahl = 0;
while (wahl != 4)
{
printf("\n\n");
printf("Waehlen Sie bitte aus: 1- Eintraege anzeigen\n");
printf(" 2- Durchschnittliche Spendenhoehe pro Person\n");
printf(" 3- Spenden gesamt\n");
printf(" 4- Abbrechen\n");
scanf("%d", &wahl);
switch (wahl)
{
case 1:
for (i = 0; i < (zaehler + 1); i++)
{
printf("\nSpender: %s %s Geburtsdatum: %s", liste[i].vname, liste[i].nname, liste[i].geb_dat);
printf("\nAdresse: %s", liste[i].adresse);
printf("\nSpendenhoehe: %.2f Euro", liste[i].betrag);
printf("\nTelefon: %s\n\n", liste[i].telefon);
}
break;
case 2:
printf("\nDurchschnittliche Spende p.P.: %.2f Euro\n\n", gesamt / nbr);
break;
case 3:
printf("\nEs wurden insgesamt %.2f Euro Spenden eingenommen!\n\n", gesamt);
break;
case 4:
printf("Auf Wiedersehen!\n");
break;
getch();
return 0;
}
}
}
else
{
printf("Kein Speicher verfuegbar!\n");
}
}
Hoffe du kannst damit etwas anfangen :)