Unser neuestes Mitglied: pemay01

138 Besucher derzeit online [ Zeigen ]

Startseite | Werbefreies Forum: Jetzt Mitglied werden! | Login | Team | Suchen
Statistik | Hilfe / FAQ | Regeln
Willkommen auf dem xpBulletin Board, Gast.
Du bist nicht registriert oder eingeloggt.
Dein Letzter Besuch war am: 25.09.2018, 14:43 Uhr.
[ Alles als gelesen markieren ]
xpBulletin Board » Programmierung » C und C++ - Forum » Hilfe bei Projekt (reines C)
Benutzer im Forum aktiv: Keine

[ Neue Antwort ]


Autor
Thema: Hilfe bei Projekt (reines C)

 

Seiten (1): [1]

Neuer Beitrag 19.01.2014, 15:55
 Hilfe bei Projekt (reines C)

#1 | Zitieren |

PepTic ist Offline PepTic
Neophyte
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("------------------- nn");
        printf("1) Konto erstellenn"); 
        printf("2) Konto anzeigenn"); 
        printf("3) Konto loeschenn"); 
        printf("4) Ueberweisungn"); 
        printf("0) Beendennn"); 
		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 geloeschtn");
                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("nnVorname:     "); 
	scanf("%s", &konten->vorname); 
    printf("Nachname:    "); 
	scanf("%s", &konten->nachname); 
    printf("Kontostand:  "); 
	scanf("%f", &konten->kontostand); 
    printf("Kontonummer: %dn", &konten->kontonummer); 
    printf("Konto wurde erstellt!nnn"); 
	
} 

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("nnDieses Konto existiert nicht!nnn"); 
    } 
    else 
    { 
        printf("nnVorname:     %sn", konten->vorname); 
        printf("Nachname:    %sn", konten->nachname); 
        printf("Kontostand:  %.2fn", konten->kontostand); 
        printf("Kontonummer: %dnnn", konten->kontonummer); 
    } 
} 

void speichere_konto() 
{ 
	
	FILE *datei; 
    datei = fopen("Konten.txt", "a+"); 
	
	if(datei == NULL)
	{
		printf("nFEHLER BEIM SPEICHERN"); 
	}

	else
	{
		fprintf(datei, "Kontonummer: %dnVorname:     %snNachname:    %snKontostand:  %.2fnn", konten->kontonummer, konten->vorname, konten->nachname, konten->kontostand); 
	}
    fclose(datei); 
} 

void ueberweisung(float guthaben) 
{ 
	

    if(konten->kontostand - guthaben < 0) 
    { 
        printf("nnNicht genug Guthaben!nn"); 
    } 
    else 
    { 
        konten->kontostand = konten->kontostand - guthaben; 
        konten->kontostand = konten->kontostand + guthaben; 
        printf("nnUeberweisung erfolgreich!nn"); 
    } 
}



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!
 Beiträge: 4 | Punkte: 7 | Wohnort: Hessen | Registriert seit: 1709 Tagen (Jan 2014)
 
Neuer Beitrag 19.01.2014, 15:55
 Werbung

AdBot
Mister Ad

 
Neuer Beitrag 20.01.2014, 00:19
 Re: Hilfe bei Projekt (reines C)

#2 | Zitieren |

Ark ist Offline Ark
Zen Master Foo



Geschlecht: Männlich
Was ich auf Anhieb sehe, ist, dass du in manche Funktionen Parameter (die Adresse) übergibst, aber die Funktion keine Parameter annimmt.

~ Xenoblade ~
 Beiträge: 5.490 | Punkte: 3.353 | Wohnort: ... | Registriert seit: 4825 Tagen (Jul 2005)
 
Neuer Beitrag 20.01.2014, 18:26
 Re: Hilfe bei Projekt (reines C)

#3 | Zitieren |

PepTic ist Offline PepTic
Neophyte


Themenstarter/in
Ark schrieb:
Was ich auf Anhieb sehe, ist, dass du in manche Funktionen Parameter (die Adresse) übergibst, aber die Funktion keine Parameter annimmt.



Kannst du mir sagen wo und mir einen Ansatz geben?

edit:
Jetzt passt soweit alles, nur möchte ich, dass ich zu Beginn des Programms auf den Inhalt der Datei zugreifen und ihn verwenden kann.

Beitrag editiert von PepTic am 20.01.2014, 19:47
 Beiträge: 4 | Punkte: 7 | Wohnort: Hessen | Registriert seit: 1709 Tagen (Jan 2014)
 
Neuer Beitrag 20.01.2014, 18:26
 Werbung

AdBot
Mister Ad

 
Neuer Beitrag 20.01.2014, 21:10
 Re: Hilfe bei Projekt (reines C)

#4 | Zitieren |

trouff ist Offline trouff
Ancient Hacker
Hi,

Ne Datei geöffnet hast du doch schon in einer Funktion. Ich verstehe jetzt dein Problem nicht! Versuche mal zu erklären, wo dieses liegt!

Mfg trouff
 Beiträge: 932 | Punkte: 1.216 | Wohnort: pillepallearschgekna | Registriert seit: 4800 Tagen (Aug 2005)
 
Neuer Beitrag 20.01.2014, 21:21
 Re: Hilfe bei Projekt (reines C)

#5 | Zitieren |

PepTic ist Offline PepTic
Neophyte


Themenstarter/in
trouff schrieb:
Hi,

Ne Datei geöffnet hast du doch schon in einer Funktion. Ich verstehe jetzt dein Problem nicht! Versuche mal zu erklären, wo dieses liegt!

Mfg trouff



Wenn ich ein Konto erstelle, wird (wenn ich auf Konto speichern gehe) der Inhalt in die Datei geschrieben.
Wenn ich das Programm jetzt nochmal ausführe, kann ich auf den Inhalt der Datei nicht zugreifen.
 Beiträge: 4 | Punkte: 7 | Wohnort: Hessen | Registriert seit: 1709 Tagen (Jan 2014)
 
Neuer Beitrag 20.01.2014, 22:18
 Re: Hilfe bei Projekt (reines C)

#6 | Zitieren |

trouff ist Offline trouff
Ancient Hacker
In wie fern kannst du auf die Datei nicht zugreifen? Gibt es ne Fehlermeldung? Weißt du nicht wie es geht? Bekommst du keine Daten?

Du musst das schon ein bisschen näher spezifizieren! Beispiele für C für den Zugriff auf eine Datei gibt es im Netz wie Sand am Meer! Also entweder suchst du nach solchen Beispielen oder du musst dein Problem genauer erklären!

Mfg trouff
 Beiträge: 932 | Punkte: 1.216 | Wohnort: pillepallearschgekna | Registriert seit: 4800 Tagen (Aug 2005)
 
Neuer Beitrag 20.01.2014, 23:19
 Re: Hilfe bei Projekt (reines C)

#7 | Zitieren |

PepTic ist Offline PepTic
Neophyte


Themenstarter/in
Code:

int main(void)
{
    int auswahl = 0;
	int IDZaehler = 100;
	int kontoID = 0;
	int kontoID2 = 0;
    double betrag = 0;

	do
    {
		oeffne_konto(kontoID);
		printf("-----------------------------------KONTOFUEHRUNG--------------------------------n");...


Code:

int oeffne_konto(int ID)
{
	char tmpKontonummer[7];
	char tmpKontostand[20];
	char tmpVorname[20];
	char tmpNachname[20];

	
	int kontonummer;
	int kontostand;
	int zeichen;
	int position=0;
	int trennzeichen=0;
	FILE *datei;

	datei = fopen("konten.txt", "r");

	if(datei != NULL)
	{
		zeichen=fgetc(datei);
		
		while(!feof(datei))
		{
			if(zeichen == ';')
			{
				position=0;
				trennzeichen++;
			}
			else
			{
				switch(trennzeichen)
				{
					case 0: 
						tmpKontonummer[position] = zeichen;
						break;
					case 1: 
						tmpVorname[position] = zeichen;
						tmpVorname[position+1] = '\0'; 
						break;
					case 2: 
						tmpNachname[position] = zeichen;
						tmpNachname[position+1] = '\0'; 
						break;
					case 3:	
						tmpKontostand[position] = zeichen;
						break;
					default:
						break;
				}
				position++;
			}
			zeichen=fgetc(datei);
		}
		
		fclose(datei);

		
		kontonummer = atoi(tmpKontonummer);
		kontostand = atof(tmpKontostand);

		strcpy(konten[ID].vorname, tmpVorname);
		strcpy(konten[ID].nachname, tmpNachname);
		konten[ID].kontonummer = kontonummer;
		konten[ID].kontostand = kontostand;

		return 1;
	}

	else
	{
		return 0;
	}
}



soweit bin ich nun, funktioniert aber nicht.
 Beiträge: 4 | Punkte: 7 | Wohnort: Hessen | Registriert seit: 1709 Tagen (Jan 2014)
 
Neuer Beitrag 21.01.2014, 00:35
 Re: Hilfe bei Projekt (reines C)

#8 | Zitieren |

trouff ist Offline trouff
Ancient Hacker
Meister, du musst mit deinen Aussagen schon ein bisschen spezifischer werden!

Was funktioniert nicht?
Gibt es ne Fehlermeldung?

Ich schätze mal, dass ein Fehler hier ist:
Code:

strcpy(konten[ID].vorname, tmpVorname); 		
strcpy(konten[ID].nachname, tmpNachname); 		
konten[ID].kontonummer = kontonummer; 		
konten[ID].kontostand = kontostand;



Was ist konten? Wo wird der Spass definiert?

Mfg trouff
 Beiträge: 932 | Punkte: 1.216 | Wohnort: pillepallearschgekna | Registriert seit: 4800 Tagen (Aug 2005)
 
Neuer Beitrag 21.01.2014, 00:35
 Werbung

AdBot
Mister Ad

Seiten (1): [1]

  

xpBulletin Board » Programmierung » C und C++ - Forum » Hilfe bei Projekt (reines C)

[ Neue Antwort ]


Heute ist der 25.09.2018, 14:43 Uhr

Sämtliche Beiträge geben die Meinung des jeweiligen Verfassers wieder.
Für den Inhalt der Beiträge sind ausschließlich die Autoren verantwortlich.


Powered by: xpBulletin Board Version 2.3.0
Generiert in 0.0520 Sekunden
« Übersicht | @Twitter | @Facebook | Sitemap | Impressum »