Problem bei C++ Programm
-
Sorry aber ich habe Informatik erst seit 3 Monaten und dann auch nur alle 2 Wochen und kann daher mit dieser Fehlermeldung überhaupt nichts anfangen. Ich weiß leider nicht was ich verändern muss & da ich das Programm nur einreichen kannm, wird es auch schwer jemanden an meiner Uni zu finden der mit meine Fehler erklären kann.
-
berndderbernd schrieb:
Sorry aber ich habe Informatik erst seit 3 Monaten und dann auch nur alle 2 Wochen und kann daher mit dieser Fehlermeldung überhaupt nichts anfangen. Ich weiß leider nicht was ich verändern muss & da ich das Programm nur einreichen kannm, wird es auch schwer jemanden an meiner Uni zu finden der mit meine Fehler erklären kann.
Tut mir leid, dann kann ich dir nicht anders helfen, als für dich deine Hausaufgabe zu machen. Und das mach ich nicht. Was ist an der Fehlermeldung und ascs Erklärung denn nicht verständlich? Verstehst du das Englisch nicht?
-
1>c:\users\marvin\documents\visual studio 2010\projects\bb\bb\bbb.cpp(58): warning C4700: Die nicht initialisierte lokale Variable "zins" wurde verwendet.
1>c:\users\marvin\documents\visual studio 2010\projects\bb\bb\bbb.cpp(58): warning C4700: Die nicht initialisierte lokale Variable "volumen" wurde verwendet.
1>c:\users\marvin\documents\visual studio 2010\projects\bb\bb\bbb.cpp(58): warning C4700: Die nicht initialisierte lokale Variable "anfKap" wurde verwendet.Das versteh ich einfach nicht, da ich sie ja initialisiert habe...
-
Wo initialisierst du denn deine Variablen? Du initialisierst keine dieser 3, du list auch keine Werte mittels std::cin>> für diese Variablen ein.
Das Problem ist, dass du invoid einlesen()geneau die 3 Variablen definiert hast, die du in main() definiert hast.
Praktisch so:
int main() { double anfkap, zins, volumen; //dann die Funktion void einlesen() //dort gibt es die gleichen Variablen, denen du über std::cin werte zuweistÜberleg mal genau, welchen du Werte zuweist und welchen nicht.
Wenn du lokale Variablen ohne initialisierung bzw. ohne dass du ihnen Werte zuweist, verwendest, dann ist das undefiniertes Verhalten.
Tipp: hol dir ein Buch, arbeite dieses sorgfältig durch. Denn dieser Code wird selbst nach Initialisierung deiner Variablen nicth das machen, wofür es programmiert ist.gruß
syntax
-
Ja die die ich in "void einlesen" habe denen weise ich ja darunter werte zu. Oder lasse sie einlesen.
In die, die ich in Main definiert habe denen weise ich keine werte zu aber wenn ich diese nicht dort definiere kann ich die funktion verzinse(...) nicht in main aufrufen ohne das das programm meckert das "anfkap,volumen, etc" nicht definiert sind.
-
berndderbernd schrieb:
Ja die die ich in "void einlesen" habe denen weise ich ja darunter werte zu. Oder lasse sie einlesen.
Prinzipiell ist aber eine Funktion sinnlos, die nur lokale Werte verwendet. Dir sind sicherlich schon Funktionsparameter bekannt, und entweder (was ich hoffe) Referenzen als Parameter, oder zumindest Zeiger (was der C-Stil wäre).
Ich bin mal sehr freundlich:
void einlesen(double& kapital, double& zinssatz, double& sparvolumen, int& laufzeit) { //... }Hilft dir das schon einmal ein wenig auf die Sprünge?
-
Ja das kommt mir bekannt vor.. Zeiger hatten wir damals glaub ich immer so
double * zinsdefiniert
-
berndderbernd schrieb:
Ja das kommt mir bekannt vor.. Zeiger hatten wir damals glaub ich immer so
double * zinsdefiniert
Ich hoffe doch, dass du den Unterschied zwischen Zeigern und Referenzen kennst.
Man würde doch glauben, dass Studenten C++ besser beherrschen als drittklassige Hobbyprogrammierer wie ich...
-
Naja c++ interessiert mich nicht wirklich, also hast du als hobbyprogrammierer wissen als ich , da du dich immerhin mehr dafür interessiert.... ich kenne den unterschied nicht und lasse das programm jetzt einfach so, da ich des rätels lösung nicht kenne.
-
berndderbernd schrieb:
Naja c++ interessiert mich nicht wirklich, also hast du als hobbyprogrammierer wissen als ich , da du dich immerhin mehr dafür interessiert.... ich kenne den unterschied nicht und lasse das programm jetzt einfach so, da ich des rätels lösung nicht kenne.
Aha. C++ ist aber sehr tückisch. Besser du weißt, was du überhaupt schreibst, bevor du noch ausversehen deine Festplatte formattierst, oder dein PC anfängt zu brennen... (Tipp: so wenig
reinterpret_castwie möglich)
-
berndderbernd schrieb:
Naja c++ interessiert mich nicht wirklich, also hast du als hobbyprogrammierer wissen als ich , da du dich immerhin mehr dafür interessiert.... ich kenne den unterschied nicht und lasse das programm jetzt einfach so, da ich des rätels lösung nicht kenne.
Anders gesagt: du hast dir erhofft, hier eine Komplettlösung zu erhalten. Dich wirklich mit dem Problem ausienanderzusetzen hast du keine Lust, interessiert dich ja eh nicht.
Wenn du dich an das allgemein übliche gute Benehmen im Netz gehalten hättest und die mit wichtig gekennzeichneten Threads im Forum vor deinem ersten Post gelesen hättest, wüsstest du, dass hier weder Hausaufgaben gemacht werden noch Leuten ohne Eigeninitiative geholfen wird. Das hätte dir und uns ne Menge Zeit gespart.