Hallo erstmal!
Ich komme mit meinem Projekt nicht weiter...
Wenn ich Konto anzeigen auswähle, sagt er mir es existiert nicht.
in die Datei wird es aber geschrieben, nur der Kontostand ist 0.00
bekomme außerdem diesen Compilerfehler:
Nicht initialisierter Speicher "kontoID" wird verwendet.: Lines: 8, 9, 10, 11, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32
Die möglicherweise nicht initialisierte lokale Variable "kontoID" wurde verwendet. Zeile 32
Diverse Rückgabewert wird ignoriert -Warnungen zu scanf und getch.
Wäre nett, wenn mir Jemand helfen kann!
main.c
konto.h
Ich komme mit meinem Projekt nicht weiter...
Wenn ich Konto anzeigen auswähle, sagt er mir es existiert nicht.
in die Datei wird es aber geschrieben, nur der Kontostand ist 0.00
bekomme außerdem diesen Compilerfehler:
Nicht initialisierter Speicher "kontoID" wird verwendet.: Lines: 8, 9, 10, 11, 12, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 31, 32
Die möglicherweise nicht initialisierte lokale Variable "kontoID" wurde verwendet. Zeile 32
Diverse Rückgabewert wird ignoriert -Warnungen zu scanf und getch.
Wäre nett, wenn mir Jemand helfen kann!
main.c
C:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "konto.h"
#include <conio.h>
int main(void)
{
int auswahl;
int IDZaehler = 100;
int kontoID;
int kontoID2;
double 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(kontoID);
return 0;
break;
case 1:
erstelle_konto(IDZaehler);
IDZaehler++;
break;
case 2:
printf("Geben sie die Kontonummer ein: ");
scanf("%d", &kontoID);
zeige_konto(kontoID);
break;
case 3:
printf("Geben sie die Kontonummer ein: ");
scanf("%d", &kontoID);
loesche_konto(kontoID);
printf("Konto wurde geloescht\n");
break;
case 4:
printf("Geben sie die Kontonummer ein, von der abgebucht werden soll: ");
scanf("%d", &kontoID);
printf("Geben sie die Kontonummer ein, an die ueberwiesen werden soll: ");
scanf("%d", &kontoID2);
printf("Geben sie den Betrag ein, der ueberwiesen werden soll: ");
scanf("%f", &guthaben);
ueberweisung(kontoID, kontoID2, guthaben);
break;
default:
break;
}
printf("Druecken Sie eine beliebige Taste um vorzufahren");
getch();
system("cls");
} while(auswahl);
return;
}
void erstelle_konto(int ID)
{
printf("\n\nVorname: ");
scanf("%s", konten[ID].vorname);
printf("Nachname: ");
scanf("%s", konten[ID].nachname);
printf("Kontostand: ");
scanf("%f", &konten[ID].kontostand);
printf("Kontonummer: %d\n", ID);
konten[ID].kontonummer = ID;
printf("Konto wurde erstellt!\n\n\n");
}
void loesche_konto(int ID) //man kann nichtvorhandene konten löschen
{
strcpy(konten[ID].vorname, "");
strcpy(konten[ID].nachname, "");
konten[ID].kontostand = 0;
}
void zeige_konto(int ID)
{
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[ID].vorname);
printf("Nachname: %s\n", konten[ID].nachname);
printf("Kontostand: %.2f\n", konten[ID].kontostand);
printf("Kontonummer: %d\n\n\n", konten[ID].kontonummer);
}
}
void speichere_konto(int ID)
{
FILE *datei;
datei = fopen("Konten.txt", "a+");
if(datei == NULL)
{
printf("\nFEHLER BEIM SPEICHERN");
return;
}
else
{
fprintf(datei, "Kontonummer: %d\nVorname: %s\nNachname: %s\nKontostand: %.2f\n\n", konten[ID].kontonummer, konten[ID].vorname, konten[ID].nachname, konten[ID].kontostand);
}
fclose(datei);
}
void ueberweisung(int vonID, int zuID, double guthaben)
{
if(konten->kontostand - guthaben < 0)
{
printf("\n\nNicht genug Guthaben!\n\n");
}
else
{
konten[vonID].kontostand = konten[vonID].kontostand - guthaben;
konten[zuID].kontostand = konten[zuID].kontostand + guthaben;
printf("\n\nUeberweisung erfolgreich!\n\n");
}
}
C:
struct konto
{
char vorname[20];
char nachname[20];
double kontostand;
int kontonummer;
}konten[1000];
typedef struct konto konto;
void erstelle_konto(int);
void loesche_konto(int);
void zeige_konto(int);
void speichere_konto(int);
void ueberweisung(int, int, double);