ahh, in der result= zeile hab ich es immer ohne echo probiert, danke!
Ankündigung
Einklappen
Keine Ankündigung bisher.
User helfen User - Programmieren
Einklappen
X
-
So,
ich hab das ganze jetzt nochmal neugeschrieben.
http://pastebin.com/rUH2rVsw
Funktioniert alles Super.
Wenn ich jetzt im Hauptmenü auswähle, das ich ein Getränk kaufen möchte, und Beispielsweise Cola auswähle, bekomme ich folgendes Problem:
Ich muss 1.80 für eine Cola bezahlen.
Werfe ich 1, 0,50, 0,20 und 0,10 ein, bekomme ich 0,00 Rückgeld.
Werfe ich 0,20, 0,20, 0,20, 0,20, 0,20, 0,20, 0,20, 0,20, 0,20 ein, müsste ich Theoretisch bei 1,80 sein, also auch bei 0 Rückgeld, jedoch gibt mir das nach den letzten 0,20 an, das ich noch 2.22045e-016 Euro einwerfen soll... wenn ich dann noch Geld nachwerfe, gibt mir das Programm exakt diesen Wert als rückgeld. Also steht dieses "2.22045e-016" theoretisch ja für 0,0
Ich weiß nicht wo dort der Fehler liegt, benutze ich den Falschen Datentyp?
edit: ok ich hab es mit:
std::fixed und
setprecision(2)
jetzt hinbekommen. Dieses 2.22045e-016 steht für 0.0000000000000002. Woraus ich jetzt mit den oberen befehlen eine 0.00 stehen habe.
Jetzt hab ich natürlich das Problem das der Automat beim letzten schrit 0,00 von mir möchte, da dort ja eigentlich eine 0.0000000000000002 steht.
also habe ich mir gedacht, das ich die schleife nicht nur mit:
while(summe
Kommentar
-
okay cool, ich werde es mir am Wochenende mal genauer anschauen.Zitat von saimit Arrays wird dein Programm viel übersichtlicher, ich hab's mal in etwa umgebaut: http://pastebin.com/VD8tsTTu
Neues Problem.
Ich denke ich hab irgendwo einen Verständnis Fehler.
Ich habe ein main() Programm (Berechnung.cpp) in meiner Projektmappe.
Ich habe ein double berechnungsqrt() Programm (myfunction.cpp) in meiner Projektmappe.
Ich habe eine myfunction.h Haederdatei in meiner Projektmappe.
im main() (Berechnung.cpp) ist ein Aufruf
http://pastebin.com/CcfhCh4g
im berechnungsqrt() (myfunction.cpp) ist die Berechnung
http://pastebin.com/JeYTtmx4
und in der myfunction.h wird die Funktion berechnungsqrt() definiert
http://pastebin.com/H1T5CaXi
Problem:
im main() Programm soll das Ergebnis x1 und x2 aus der berechnungsqrt() (myfunction.cpp) Funktion ausgegeben werden. Dort wird aber schon angemeckert, das x1 und x2 nicht definiert sind.
Die Abarbeitung der Funktion berechnungsqrt() scheint mir einfach komplett übersprungen zu werden.
Hab leider auch 0 Informationsmaterial zu dem Thema, und werde im Internet auch nicht so richtig fündig. Der Lehrer erklärt es sehr schlecht/gar nicht. :-/
Gibt's da eine relativ einfache Methode, was ich Falsch mache, oder wie man es anders macht?
Kommentar
-
x1 und x2 sind in main() ja auch nicht definiert und berechnungsqrt(x1,x2) erwartet diese Zahlen. da musst du schon Zahlen einsetzen oder irgendwas einlesen oder sowas.
Aber eigentlich willst du berechnugsqrt() ja gar keine Zahlen übergeben, sondern welche zurückkriegen, also eher sowas wie x1,x2 = berechnungsqrt() statt berechnungsqrt(x1,x2).
Kommentar
-
MarsMensch
Brüder, womit habt ihr euch am besten java beigebracht? irgendwelche guten bücher / internet webseiten? links wären supi!
Kommentar
-
Hab jetzt ein bisschen rumprobiert aber immer noch Schwierigkeiten..
hab eine myfunction.cpp und eine berechnung.cpp
in der myfunction.cpp mach ich einfach:
int main()
{
int a=20;
berechnung(a);
}
in berechnung.cpp
int berechnung(int a)
{
int a1;
a1=a;
return a1;
}
nun fehlt mir aber einfach jegliches wissen wie ich den return wert aus der berechnung() in main() aufrufen kann, das internet macht mich da auch nicht schlauer irgendwie, habs nun echt ewig ausprobiert.
Kommentar
-
Super, Funktioniert, vielen vielen dank bis jetzt für die Hilfe.Zitat von leTTiVSpoiler:int main()
{
int a=20;
int i = berechnung(a);
}
in i dann der rückgabewert.
wie läuft das ganze jetzt mit zwei Rückgabe werten, oder mehr?
int main()
{
int a=20;
int b=10;
int a1;
int a2;
a1 = berechnung(a,b);
a2 = berechnung(b,a);
}
int berechnung(int a, int b)
{
int b1;
int b2;
b1=a;
b2=b;
return b1,b2;
}
So ruft er im main() die Funktion Berechnung() ja 2 mal auf, was ich im Prinzip verhindern möchte.
Kommentar
-
Gast
Kommentar
Kommentar