Hallo erstmal!
Ich muss ein Kontoprogramm erstellen, dies hab ich auch soweit geschafft, aber da ich mehr und mehr auf Fehler gestoßen bin und rumgebastelt habe, hab ich mir den Code ziemlich versaut...
Ich komme einfach nicht weiter, da ich nicht weiß wie ich die Fehler behebe.
Wäre nett wenn mir Jemand helfen könnte
main.c
Code:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "konto.h"
#include <conio.h>
int main(void)
{
konto konten;
int auswahl;
int IDZaehler = 100;
float guthaben;
do
{
printf("-----------------------------------KONTOFUEHRUNG--------------------------------\n");
printf("Herzlich Willkommen \n");
printf("------------------- \n\n");
printf("1) Konto erstellen\n");
printf("2) Konto anzeigen\n");
printf("3) Konto loeschen\n");
printf("4) Ueberweisung\n");
printf("0) Beenden\n\n");
printf("------------------- \n");
printf("Auswahl: ");
scanf("%i", &auswahl);
switch(auswahl)
{
case 0:
speichere_konto(&konten);
return 0;
break;
case 1:
erstelle_konto(&konten);
IDZaehler++;
break;
case 2:
printf("Geben sie die Kontonummer ein: ");
scanf("%d", &konten.kontonummer);
zeige_konto(&konten);
break;
case 3:
printf("Geben sie die Kontonummer ein: ");
scanf("%d", &konten.kontonummer);
loesche_konto(&konten);
printf("Konto wurde geloescht\n");
break;
case 4:
printf("Geben sie die Kontonummer ein, von der abgebucht werden soll: ");
scanf("%d", &konten.kontonummer);
printf("Geben sie die Kontonummer ein, an die ueberwiesen werden soll: ");
scanf("%d", &konten.kontonummer);
printf("Geben sie den Betrag ein, der ueberwiesen werden soll: ");
scanf("%f", &guthaben);
ueberweisung(guthaben);
break;
default:
break;
}
printf("Druecken Sie eine beliebige Taste um vorzufahren");
getch();
system("cls");
} while(auswahl);
return;
}
void erstelle_konto()
{
printf("\n\nVorname: ");
scanf("%s", &konten->vorname);
printf("Nachname: ");
scanf("%s", &konten->nachname);
printf("Kontostand: ");
scanf("%f", &konten->kontostand);
printf("Kontonummer: %d\n", &konten->kontonummer);
printf("Konto wurde erstellt!\n\n\n");
}
void loesche_konto() //man kann nichtvorhandene konten löschen
{
strcpy(konten->vorname, "");
strcpy(konten->nachname, "");
konten->kontostand = 0;
}
void zeige_konto()
{
if(strlen(konten->vorname) == 0 || strlen(konten->nachname) == 0)
{
printf("\n\nDieses Konto existiert nicht!\n\n\n");
}
else
{
printf("\n\nVorname: %s\n", konten->vorname);
printf("Nachname: %s\n", konten->nachname);
printf("Kontostand: %.2f\n", konten->kontostand);
printf("Kontonummer: %d\n\n\n", konten->kontonummer);
}
}
void speichere_konto()
{
FILE *datei;
datei = fopen("Konten.txt", "a+");
if(datei == NULL)
{
printf("\nFEHLER BEIM SPEICHERN");
}
else
{
fprintf(datei, "Kontonummer: %d\nVorname: %s\nNachname: %s\nKontostand: %.2f\n\n", konten->kontonummer, konten->vorname, konten->nachname, konten->kontostand);
}
fclose(datei);
}
void ueberweisung(float guthaben)
{
if(konten->kontostand - guthaben < 0)
{
printf("\n\nNicht genug Guthaben!\n\n");
}
else
{
konten->kontostand = konten->kontostand - guthaben;
konten->kontostand = konten->kontostand + guthaben;
printf("\n\nUeberweisung erfolgreich!\n\n");
}
}
konto.h
Code:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
struct konto
{
char vorname[20];
char nachname[20];
double kontostand;
int kontonummer;
}konten[1000];
typedef struct konto konto;
void erstelle_konto();
void loesche_konto();
void zeige_konto();
void speichere_konto();
void ueberweisung(float);
Schonmal vielen Dank für die Hilfe!