Probleme Teil 2 Erstellung Zinsberechnungsprogramm

Ice_Golem

Grünschnabel
Hallo Leute ich bins nochma :)

ich hab ja gesagt ich schreib das Programm nochma neu des hab ich

auch

gemacht.... soweit so gut ich hab das Programm jetzt en bisschen

verändert ,

in dem ich switch cases reingepackt habe. Doch mein Problem ist immer
noch das selbe ich habe die alle Variablen korrekt den jeweiligen

Datentypen zugewiesen die Funktionen funktionieren auch bzw. die

Übergabe der Variablen bzw. dessen Werte und alles andere auch

perfekt keine Fehler aber die Ausgabe der Ergebnisse z. B. das Kapital

oder das Zinsergebnis sind nicht korrekt. Er gibt jedesmal wenn ich das

Programm durchlaufen lasse immer nur son Kauderwelsch wie z. B.

(21.0 + 4B 38) oder so ähnlich aus kann die Ausgabe vielleicht mit der

Berechnungsformel zusammenhängen da die Formel zu lang ist oder so

ich weis es einfach nicht ich habe schon versucht die Formel in mehrere

Teile aufzuteilen aber das hat auch nicht viel geholfen. Ich kann nur soviel

sagen das ich mit C 3.0 Version von Borland arbeite zu dem Compiler

kann ich leider nichts genaueres sagen, weil diese Version uns von

unserer ausbildenen Schule zur Verfügung gestellt wurde und ohne

Handbuch uns anvertraut wurde und die Readme des Programms sagt

auch nichts über den Compiler bzw. welch Version das ist.

Bin voll am Verzweifeln :confused::(, wäre echt goil wenn mir jemand von euch helfen

könnte.:-)

Ich bedank mich schonma für alle Leute die sich dieser langen

Nachricht mutig gestellt haben und vielleicht helfen wollen.

ps. ich habe das neue Programm noch ma als anlage gepostet wer es

sich angucken möchte.

Ice_Golem ;-)



 

Anhänge

Soll das C++ sein? Dann würde ich mit richtigen classes arbeiten diese dann sauber initialisieren
und wenn du lust hast auch mal so zwischen durch ein paar debug ausgaben raus schreiben.
Habe leider nicht mehr Zeit, um besser zu helfen sorry
 
moin


Erstmal:
Mach die SChrift nicht so groß!
Und lass die ganzen Leerzeilen weg!
Es ist echt beschissen zu lesen wenn du das so schreibst.

Zum Problem:
Du benutzt Funktionen die du nirgends erstellt hast.
Z.B. zinssatz_tage()



@mariaPain
"Habe leider nicht mehr Zeit, um besser zu helfen sorry", wieso besser?!
Du hast garnciht geholfen.


mfg
umbrasaxum
 
Danke für Eure Hilfe, das mit dem Funktionen hab ich schon

abgeändert :) aber die Ausgabe ist immer noch dieselbe:(

aber trotzdem nochmal Danke für Eure Hilfe;)

Ice_Golem;-)
 
moin


1. Schreib nciht so groß
2. Wäre schon besser du würdest deine neue Version posten, damit wir auch ne lauffähoge haben!


mfg
umbrasaxum
 
Jo hier is nochma ne neue Version hab det eigentlich bis auf die Formatierung schon
fertig aber hmm naja die dumme ausgabe is immer noch falsch ich find das problem einfach nich :confused::(

sorry für die mühen die ich euch bereite:(

Ice_Golem ;-)
 

Anhänge

moin


Meinst du Ausgaben wie z.B.: 4.3e+011 ?
Das kommt wenn die Werte zu groß/lang sind.
4.3e+011 heisst einfach 4.3 mal 10 hoch 11, also 430 000 000 000.


Da ich gerade ein bsichen Langeweile hatte hab ich deinen Code ein wenig umgeschrieben, um ihn erstens lesbarer und schlanker zu machen und um ihn zweitens kompatibler zu anderen Compilern zu machen.

Es liegen zwar zwischen deinen Borland 3.0 und meinem Visual Studio 8 nciht nur Welten sonder Universen, aber sollte trotzdem noch bei dir laufen.

Code:
#include<iostream.h>
#include<iomanip.h>


float kapital_tage (float, float, float);
float kapital_monate (float, float, float);
float kapital_jahre (float, float, float);
float zinsen_tage (float, float, float);
float zinsen_monate (float, float, float);
float zinsen_jahre (float, float, float);
float zinssatz_tage (float, float, float);
float zinssatz_monate (float, float, float);
float zinssatz_jahre (float, float, float);
float zeit_tage (float, float, float);
float zeit_monate (float, float, float);
float zeit_jahre (float, float, float);

int menue(void);

void main(void)
{
	int x=1;
	float tage, monate, jahre, zinsen, zinssatz, kapital, zeit, wahl;

	system("cls");

	cout<<"*************************"<<endl;
	cout<<"*Zinsberechnungsprogramm*"<<endl;
	cout<<"*************************"<<endl;

	do
	{
		switch(menue())
		{
		case 1:
			{
				system("cls");
				cout<<endl<<"Kapital Menue"<<endl
					<<endl<<"Bitte geben Sie ein mit welchen Zeitfaktoren Sie das Kapital berechnen wollen:"<<endl
					<<endl<<"1. Tage"<<endl
					<<endl<<"2. Monate"<<endl
					<<endl<<"3. Jahre"<<endl
					<<endl<<"Eingabe:"<<endl;
				cin>>wahl;

				if (wahl==1)
				{
					cout<<setprecision(2)
						<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie den Zinssatz in Prozent ein: "<<endl;
					cin>>zinssatz;
					cout<<"Bitte geben Sie den Zeitraum in Tagen ein:"<<endl;
					cin>>tage;
					kapital=kapital_tage(zinsen, zinssatz, tage);
					cout<<"Das Kapital betraegt"<<kapital<<" Euro."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==2)
				{
					cout<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie den Zinssatz in Prozent ein: "<<endl;
					cin>>zinssatz;
					cout<<"Bitte geben Sie den Zeitraum in Monaten ein:"<<endl;
					cin>>monate;
					kapital=kapital_monate(zinsen, zinssatz, monate);
					cout<<"Das Kapital betraegt"<<kapital<<" Euro."<<endl;
					cin.get();
				}
				if (wahl==3)
				{
					cout<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie den Zinssatz in Prozent ein: "<<endl;
					cin>>zinssatz;
					cout<<"Bitte geben Sie den Zeitraum in Jahre ein"<<endl;
					cin>>jahre;
					kapital=kapital_jahre(zinsen, zinssatz, jahre);
					cout<<"Das Kapital betraegt"<<kapital<<" Euro."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				break;
			}
		case 2:
			{
				system("cls");
				cout<<endl<<"Zinsen Menue"<<endl
					<<endl<<"Bitte geben Sie ein mit welchen Zeitfaktoren Sie die Zinsen berechnen wollen:"<<endl
					<<endl<<"1. Tage"<<endl
					<<endl<<"2. Monate"<<endl
					<<endl<<"3. Jahre"<<endl
					<<endl<<"Eingabe:"<<endl;
				cin>>wahl;
				if (wahl==1)
				{
					cout<<setprecision(2)
						<<endl<<"Bitte geben Sie Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<"Bitte geben Sie den Zinssatz in Prozent ein:"<<endl;
					cin>>zinssatz;
					cout<<endl<<"Bitte geben Sie den Zeitraum in Tagen an:"<<endl;
					cin>>tage;
					zinsen=zinsen_tage(kapital, zinssatz, tage);
					cout<<"Ihre Zinsen betragen"<<zinsen<<" Euro."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==2)
				{
					cout<<endl<<"Bitte geben Sie Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<"Bitte geben Sie den Zinssatz in Prozent ein:"<<endl;
					cin>>zinssatz;
					cout<<endl<<"Bitte geben Sie den Zeitraum in Monaten an:"<<endl;
					cin>>monate;
					zinsen=zinsen_monate(kapital, zinssatz, monate);
					cout<<"Ihre Zinsen betragen"<<zinsen<<" Euro."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==3)
				{
					cout<<endl<<"Bitte geben Sie Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<"Bitte geben Sie den Zinssatz in Prozent ein:"<<endl;
					cin>>zinssatz;
					cout<<endl<<"Bitte geben Sie den Zeitraum in Jahren an:"<<endl;
					cin>>tage;
					zinsen=zinsen_jahre(kapital, zinssatz, jahre);
					cout<<"Ihre Zinsen betragen"<<zinsen<<" Euro."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				break;
			}
		case 3:
			{
				system("cls");
				cout<<endl<<"Zinssatz Menue"<<endl
					<<endl<<"Bitte geben Sie ein mit welchen Zeitfaktoren Sie den Zinssatz berechnen wollen:"<<endl
					<<endl<<"1. Tage"<<endl
					<<endl<<"2. Monate"<<endl
					<<endl<<"3. Jahre"<<endl
					<<endl<<"Eingabe:"<<endl;
				cin>>wahl;
				if (wahl==1)
				{
					cout<<endl<<"Bitte geben Sie Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie die Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<endl<<"Bitte geben Sie den Zeitraum in Tagen an:"<<endl;
					cin>>tage;
					zinssatz=zinssatz_tage(zinsen, kapital, tage);
					cout<<"Ihr Zinssatz betraegt"<<zinssatz<<" %."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==2)
				{
					cout<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie die Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<endl<<"Bitte geben Sie den Zeitraum in Monaten an:"<<endl;
					cin>>monate;
					zinssatz=zinssatz_monate(zinsen, kapital, monate);
					cout<<"Ihr Zinssatz betraegt"<<zinssatz<<" %."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==3)
				{
					cout<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie die Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<endl<<"Bitte geben Sie den Zeitraum in Jahren an:"<<endl;
					cin>>jahre;
					zinssatz=zinssatz_jahre(zinsen, kapital, jahre);
					cout<<"Ihr Zinssatz betraegt"<<zinssatz<<" %."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				break;
			}
		case 4:
			{
				system("cls");
				cout<<endl<<"Zeit Menue"<<endl
					<<endl<<"Bitte geben Sie ein in welcher Zeitgroesse Sie die Zeit ausgerechnet haben wollen:"<<endl
					<<endl<<"1. Tage"<<endl
					<<endl<<"2. Monate"<<endl
					<<endl<<"3. Jahre"<<endl
					<<endl<<"Eingabe:"<<endl;
				cin>>wahl;
				if (wahl==1)
				{
					cout<<endl<<"Bitte geben Sie Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie die Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<endl<<"Bitte geben Sie die H”he des Zinssatzes in Prozent ein:"<<endl;
					cin>>zinssatz;
					zeit=zeit_tage(zinsen, kapital, zinssatz);
					cout<<"Der Zeitraum betraegt"<<zeit<<" Tage."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==2)
				{
					cout<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie die Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<endl<<"Bitte geben Sie den Zinssatz in Prozent ein:"<<endl;
					cin>>zinssatz;
					zeit=zeit_monate(zinsen, kapital, zinssatz);
					cout<<"Ihr Zeitraum betraegt"<<zeit<<" Monate."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				if (wahl==3)
				{
					cout<<endl<<"Bitte geben Sie die Summe der Zinsen in Euro ein:"<<endl;
					cin>>zinsen;
					cout<<"Bitte geben Sie die Summe des Kapitals in Euro ein:"<<endl;
					cin>>kapital;
					cout<<endl<<"Bitte geben Sie den Zinssatz in Prozent ein:"<<endl;
					cin>>zinssatz;
					zeit=zeit_jahre(zinsen, kapital, zinssatz);
					cout<<"Ihr Zeitraum betraegt"<<zeit<<" Jahre."<<endl
						<<endl<<"Bitte Enter dr?cken"<<endl;
					cin.get();
				}
				break;
			}
		case 5:
			{
				system("cls");
				cout<<endl<<"Auf Wiedersehen"<<endl<<endl
					<<"Bitte Enter dr?cken";
				cin.get();
				exit(0);

				break;
			}
		default:
			{
				system("cls");
				cout<<endl<<"Falsche Eingabe"<<endl;
				cin.get();
				x=6;
			}
		}

	}
	while(x<=6);
}

int menue(void)
{
	int nr;
	system("cls");
	cout<<endl<<"Wilkommen"<<endl
		<<endl<<"Zinsberechnungsprogramm"<<endl
		<<endl<<"Bitte w„hlen Sie die gew?nschte Nummer bzw. die zu berechnende Einheit aus: "<<endl
		<<endl<<"1. Kapital"<<endl
		<<"2. Zinsen"<<endl
		<<"3. Zinssatz"<<endl
		<<"4. Zeit"<<endl
		<<"5. Beenden\n"<<endl;

	cin>> nr;

	return nr;
}

float kapital_tage (float zinsen, float zinssatz, float tage)
{
	return (zinsen*100*360/zinssatz*tage);
}
float kapital_monate (float zinsen, float zinssatz, float monate)
{
	return zinsen*100*12/zinssatz*monate;
}
float kapital_jahre (float zinsen, float zinssatz, float jahre)
{
	return zinsen*100*1/zinssatz*jahre;
}
float zinsen_tage (float kapital, float zinssatz, float tage)
{
	return kapital*zinssatz*tage/100*360;
}
float zinsen_monate (float kapital, float zinssatz, float monate)
{
	return kapital*zinssatz*monate/100*12;
}
float zinsen_jahre (float kapital, float zinssatz, float jahre)
{
	return kapital*zinssatz*jahre/100*1;
}
float zinssatz_tage (float zinsen, float kapital, float tage)
{
	return zinsen*100*360/kapital*tage;
}
float zinssatz_monate (float zinsen, float kapital, float monate)
{
	return zinsen*100*12/kapital*monate;
}
float zinssatz_jahre (float zinsen, float kapital, float jahre)
{
	return zinsen*100*1/kapital*jahre;
}
float zeit_tage (float zinsen, float kapital, float zinssatz)
{
	return zinsen*100*360/kapital*zinssatz;
}
float zeit_monate (float zinsen, float kapital, float zinssatz)
{
	return zinsen*100*12/kapital*zinssatz;
}
float zeit_jahre (float zinsen, float kapital, float zinssatz)
{
	return zinsen*100*1/kapital*zinssatz;
}

Ich hab
1.
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
rausgenommen.

2.
getch() durch cin.get() ersetzt.

3.
clrscr() (was nicht alle Compiler haben) durch system("cls") ersetzt (welches bei allen Compiler gehen sollte).

4.
ein bischen mit cout gespielt.

5.
dein x<6||x==6 kann man kombinieren zu x<=6


Es gibt noch sehr viel anderes was man machen kann/sollte z.B.die Funktionen auf mehrere Dateien aufteilen, alles in einer Klasse machen und und und aber das sprengt jetzt den Rahmen.

Es ist gedacht um dir zu zeigen was man noch alles machen kann.
Vielleicht übernimmst du ja was in deinen "original" Code.


mfg
umbrasaxum
 
Zuletzt bearbeitet:
Danke nochmals für die Hilfe und die Tips aber ich hätte da noch ne Frage und zwar wie krieg ich das hin das die Ausgabe bzw. die Zahlen wenn die so groß sind ausgegeben werden ich habs ja schonma mit double versucht und meiner Meinung nach ist double schon das höchst mit Fließkommazahlen, na gut ich bin noch en echter was programmieren angeht aber die Ergebnisse von den Formeln müssten doch irgendwie auszugeben sein werd nochma probieren die ganzen Variablen auf Null zu setzen aber ich glaub nicht das, das was bringt ma sehen

trotzdem Danke nochma :-)

Ice_Golem ;-)
 
Danke umbrasaxum für die Hilfe :-) aber ich hab die Lösung des Problems gefunden
ich musste einfach nur bei den Funktion unten im Programm die Formeln bzw. einige Teile davon einklammern dann hats gefunzt aber eine Formel geht immer noch nicht in kann machen was ich will das ist die Formel wenn ich Zinsen im Zeitraum Jahre berechne:

zinsen=kapital x zinssatz x zeit x / 100 x 1
zinsen=400 € x 5 % x 5 Jahre / 100 = 100 € Zinsen

normalerweise müsste er mir bei den folgenden Werten diese 100 € Zinsen ausgeben aber
egal was ich tue es kommt immer 0 € dabei raus

das ist wirklich das einzigste was mir zur Kompletierung des Programms noch fehlen würde :-)

Wenn jemand was weis wär echt goil dann könnt ich nämlich endlich diese dumme Arbeit fürs erste Niederlegen.

schon ma many thanx im Vorraus :-)

Ice_Golem ;-)
 
Zurück