FlyingDanger
Neues Mitglied
Thread Starter
- Dabei seit
- 16.05.2007
- Beiträge
- 8
- Reaktionspunkte
- 0
Hallo,
falls das das falsche Forum ist, bitte ich um entschuldigung.
Ich habe aus Spass angefangen zu programmieren und bin an eine Stelle gelangt an der icht nicht weiter weis, das Programm macht nicht das, was es sollte.
Es wäre nett, wenn ihr euch kurz den Code anschauen könntet und mir dann den Fehler nennen könntet. Ich vermute ich sehe des Wald vor lauter Bäumen nicht.
Die Einnahmen werden später nicht ausgegeben, bzw. der Wert "0". Bei "trinken" z.B. funktioniert es aber einwandfrei.
Die Werte werden in einem Array aus Structs, welche wiederrum aus Arrays bestehen, gespeichtert. Das Struct besteht komplett aus floats.
falls das das falsche Forum ist, bitte ich um entschuldigung.
Ich habe aus Spass angefangen zu programmieren und bin an eine Stelle gelangt an der icht nicht weiter weis, das Programm macht nicht das, was es sollte.
Es wäre nett, wenn ihr euch kurz den Code anschauen könntet und mir dann den Fehler nennen könntet. Ich vermute ich sehe des Wald vor lauter Bäumen nicht.
Die Einnahmen werden später nicht ausgegeben, bzw. der Wert "0". Bei "trinken" z.B. funktioniert es aber einwandfrei.
Die Werte werden in einem Array aus Structs, welche wiederrum aus Arrays bestehen, gespeichtert. Das Struct besteht komplett aus floats.
#include <iostream>
#include <string>
using namespace std;
//Datentyp wird festgelegt
struct kategorie
{
float einnahmen[32];
float trinken[32];
float billard[32];
float kino[32];
float sonstiges[32];
};
kategorie month[12];
float single_month[12];
//Initialisierung
int init()
{
int a=0;
int b=0;
int c=0;
while (a<13)
{
single_month[a]=0;
a=a+1;
}
while (b<13)
{
while (c<33)
{
month.einnahmen[c]=0;
month.trinken[c]=0;
month.billard[c]=0;
month.kino[c]=0;
month.sonstiges[c]=0;
c=c+1;
}
b=b+1;
}
}
//Verrechnung der Eingabe
int work(int a,int b,int c,float d)
{
if (c==1)
{
month[a].einnahmen=month[a].einnahmen+d;
month[a].einnahmen[0]=month[a].einnahmen[0]+d;
}
if (c==2)
{
month[a].trinken=month[a].trinken+d;
month[a].trinken[0]=month[a].trinken[0]+d;
}
if (c==3)
{
month[a].billard=month[a].billard+d;
month[a].billard[0]=month[a].billard[0]+d;
}
if (c==4)
{
month[a].kino=month[a].kino+d;
month[a].kino[0]=month[a].kino[0]+d;
}
if (c==5)
{
month[a].sonstiges=month[a].sonstiges+d;
month[a].sonstiges[0]=month[a].sonstiges[0]+d;
}
}
//Monatsauswertung
int show_month()
{
int month_numb=0;
float gesamt=0;
cout<< "Monat: ";
cin>> month_numb;
if (month_numb<1||month_numb>12)
{
cout<< "\nFalsche Eingabe!\n\n";
show_month();
}
cout<< "\n"<< change_month(month_numb)<< "\n\n";
cout<< "Einnahmen: "<< month[month_numb].einnahmen[0]<< "\n";
cout<< "Trinken : "<< month[month_numb].trinken[0]<< "\n";
cout<< "Billard : "<< month[month_numb].billard[0]<< "\n";
cout<< "Kino : "<< month[month_numb].kino[0]<< "\n";
cout<< "Sonstiges: "<< month[month_numb].sonstiges[0]<< "\n\n";
gesamt=month[month_numb].einnahmen[0]-month[month_numb].trinken[0]-month[month_numb].billard[0]-month[month_numb].kino[0]-month[month_numb].sonstiges[0];
cout<< "Gesamt: "<< gesamt<< "\n";
single_month[month_numb]=single_month[month_numb-1]+gesamt;
cout<< "Ende : "<< single_month[month_numb]<< "\n\n";
}
//Eingabefunktion
int input()
{
int month_numb=0;
int day=0;
int kat_numb=0;
float money=0.0;
cout<< "Monat: ";
cin>> month_numb;
if (month_numb<1||month_numb>12)
{
cout<< "Falsche Eingabe!\n";
input();
}
cout<< "\nTag: ";
cin>> day;
if (day<1||day>32)
{
cout<< "Falsche Eingabe!\n";
input();
}
cout<< "\nKategorie:\n"
<< "1 Einnahmen\n"
<< "2 Trinken\n"
<< "3 Billard\n"
<< "4 Kino\n"
<< "5 Sonstiges\n";
cin>> kat_numb;
if (kat_numb<1||kat_numb>5)
{
cout<< "Falsche Eingabe!\n";
input();
}
cout<< "\nBetrag: ";
cin>> money;
work(month_numb, day, kat_numb, money);
}
//Hauptmenü
int main()
{
int act_numb=0;
init();
cout<< "Aktion:\n";
cout<< "1 Monatsanszeige\n"
<< "2 Gesamtanzeige\n"
<< "3 Eingabe\n"
<< "4 Beenden\n";
cin>> act_numb;
if (act_numb<1||act_numb>4)
{
cout<< "Falsche Eingabe!\n\n";
main();
}
if (act_numb==1)
{
show_month();
cout<< "\n";
main();
}
if (act_numb==3)
{
input();
cout<< "\n";
main();
}
if (act_numb==4);
{
}
}
Zuletzt bearbeitet: