![]() |
[c++]Macht nicht das was er soll.
Also. Hab mir was mit case und switch überlegt aber er macht es nicht.Er soll in den zweiten bereich springen wo case 2: ist.Es ist egal das bei den anderen Sachen nichts ist. Das muss ich noch schreiben.. ich weiss nicht wieso =( sitze schon 30min dran und ich weiss nicht weiter. Bitte nur bei dem Problem helfen keine Tipps und so.Danke.
Code:
#include <iostream.h> |
ich mag switch und case net, weil ich das meiste mit if und else.
Also jede case(s) müssen mit einem break beendet werden. Was ich glaube ich bei dir nicht gsehen habe. zb.: switch case case case break; case case break; case case break; default Aber wie gesagt, ich mach net soviel mit switch und case :D EDIT: Wenn du einmal eine Switch abfrage für die Variable P1 machst, musst du weiter unten net wieder "switch(P1)" schreiben, da mit break ja unterbrochen wird |
JO danke das wars :) hab par mahl das break; vergessen =/ naja dummer Fehler.
EDIT:// Jetzt taucht es in der 2ten Spalte auf -.-° EDIT// Ich meine den Fehler-.- |
beherzige trotzdem mein "EDIT" bitte ;)
|
da isn bisschen mehr falsch... 2 mal switch dannn n case dann wieder n switch keine geschweiften klammern... öhm... räum da erst mal n bisschen auf. dann kann man weiter helfen
|
Wie oben schon gesagt ist das noch nicht fertig. -.-° die ganzen anderen Sachen ignorieren. Nur das er in die zweite Spalte springen soll und dort dann weiter machen soll. Aber in der zweiten spalte mach der bei der auswahl nicht weiter
|
Da ich mir gerade denke, dass du anfängst zu programmieren gebe ich dir maln tipp. Wenn du ein Programm zum laufen bringst mit switch und case und dann denkst, na, jetzt kann ichs, versuch zuerst mal jede zeile in deinem quellcode zu erklären. Dir selber, am besten, damit überprüfst du dich eigentlich selbst ob du es verstanden hast und beherrscht. Kenn noch viele Leute aus meiner klasse, die mich oft fragten wie das geht... ah ok, ah ok, ja ne is klar... ok, erklär mir wieso? .. ähm, wie war das nochmal :D ...
Ne, soll kein scherz sein, aber wenn du viel verstehst, dann kannste auch umso mehr probieren wenn dir mal nen fehler passiert... |
Joc ich verstehe das ja ^^. Habs ja auch geschrieben :P aber mir pasieren oft Tippfehler. =( Aber habs hinbekommen.
|
JEDES case muss ( naja muss nicht, aber sonst gibt es kaum nen Sinn )
mit einem break;( raus aus dem switch ) oder einem return; ( raus aus der Funktion ) abgeschlossen werden, ansonsten werden alle weiteren case auch ausgeführt ( glaub ich zumindestens :D ) Code:
switch(i) |
ich glaube, "default" braucht nicht unbedingt ein break, wäre ja irgendwie sinnlos :rolleyes:
|
wenn default als letztes steht und keine weiteren code-Zeilen innerhalb der
switch-Anweisung sind ;) nen return macht Sinn, wenn die Funktion nen Rückgabewert hat |
ein return; in main()
(was ja zweifelsohne auch in nem switch so ist) - Was würde das bewirken ? :p |
ja klar, return liefert auch was zurück... obwohl... return 0; :rolleyes:
|
Zitat:
Zitat:
Typ void ist ;) also bei void main() einfach nur return, bei int main() dann halt return 1234456; |
ALSO. Ich wollte nicht wieder was auf machen. Also, habe eine Formel die ich für C++ umschreiben muss da es keine ^ kann.
Formel: K*(1+p/100)^n wie müsste das bei c++ ausschauen ? |
es gibt exponentialfunktionen in c. Das sollte die einzig schwere sachen zu sein. schau mal nach in der hilfe, mir fällt der befehl nämlich gerade nicht ein.
|
also in PHP heissts
int pow(BASIS, EXPONENT); |
jo, danke eeb. Ich bin mir zu 99 prozent sicher das ins c++ die funktion auch pow(int x) glaube ich heißt
|
nein...
unter c: pow(double x, double y) und unter c++ gibts noch ne überladung für float. |
in C heißt es
Code:
pow(basis, exponent); Code:
#include <math.h> Aus "P1" könntest Du dann z.B. "calculationSelectedByUser" machen, oder irgendwas anderes, aber eben etwas aussagekräftiges. Für Funktionen gilt das gleiche. Aber das sind nur Konventionen, keine Vorschrift. Mit einem Editor der Syntax-Vervollständigung beherrscht ist das auch kaum Mehrarbeit beim tippen, aber es erleichtert das Verstehen des Codes ungemein, speziell jemandem der ihn nicht selbst geschrieben hat. Es ist aber sehr hilfreich sich schon früh einen sauberen Stil anzugewöhnen., z.B. auch was das Einrücken von Unterbereichen angeht. |
Zitat:
du nerviger 1% du :p |
Hm müsste das dann so aussehen ?
Code:
cout<<"Kapital nach "<<z4<<" Jahren: "<<(z2*(pow(double (((1+z3)/100), double z4)); |
nein. das double brauchst du da nicht mit zu schreiben, wenn du die variablen voher schon deklariert hast. und ich geh mal davon aus, dass z4 (was auch immer das sein mag :) ) schon deklariert ist. und bei einer berechnung [ (1+z3)/100 ] brauchst du auch den datentyp nicht voran schreiben. es sei denn du willst das ergebnis casten. dann muss der datentyp aber so da stehen (double) (1+z3)/100 .
|
LoL irgentwie ist das komisch. 0o Des kommen zu große Zahlen raus =( was hab ich falscj gemacht . Ich meine ind er 5ten Spalte.
Code:
#include <iostream.h> |
puh deine variablennamen sind grausam.
ich denk mal du meinst zeile und nicht spalte. da fängt main an. was soll denn daran falsch sein? |
Ich denk mal er meint das case 5: ;)
Erst mal ne kleine Anmerkung : Warum machst du soviele switch für die selbe Variable ? Einmal würde doch reichen :) Ansonsten ist deine Formel zur Berechnung wohl falsch, es kommt mir zumindestens merkwürdig vor dass die Laufzeit als Exponent angegeben wird |
Das die Laufzeit der Exponent ist, stimmt schon, denke ich.
Berechnet werden die Zinsen ja so: Kapital * [(1 + Zinssatz) ^ Laufzeit] wenn der Zinssatz als Kommazahl angegeben wird (0.04 für 4 Prozent). Wenn du davon ausgehst, dass der Benutzer eher 4 eingibt, dann sollte sie halt Kapital * [((100 + Zinssatz) / 100) ^ Laufzeit] lauten. Zu deiner Verwendung von switch, möchte ich noch sagen, wie es aussehen sollte. ;) Code:
switch (Variablenname) // ################################################ verzichten. :D Und bei den Variablenamen solltest dir auch was einfallen lassen. Für die Zinsrechnung wären z.B. "Kapital", "Zinssatz" und "Laufzeit" ganz brauchbare Namen. ;) Bei komplexeren Programmen kann dir nämlich sonst 1. keiner mehr helfen und 2. verlierst du dann selber den Überblick, wenn du mal ein paar Monate nicht daran arbeitest. |
OK. Also muss ich die Fariablen gescheit bennenen. =) werd ich dann auch machen :) Danke. Also muss ich die Formeln noch umstellen?
Also, er spring nur am anfang zu 2 und 1 also zu den binomischen Formeln und zur geometrie. Aber sonst nirgenswo hin. //EDIT: problem gelöst. ne {} war falsch gesetzt. 2//EDIT: Wie ziehe ich denn ne Wurzel bei c++? |
Generell könntest du danach auch Googeln oder irgendeine passende Referenz im Internet suchen. ;)
In der math-library gibt's sqrt(float); Damit kannst du die Quadratwurzel aus einer Fließkommazahl ziehen. Wenn du z.B. die 3. Wurzel ziehen willst, dann solltest du vermutlich pow(float, float); verwenden. Also für die 3. Wurzel z.B. float(x, 1/3); |
OK danke ^^ . Stimmt könnte bei googel suchen. Aber wäre nicht sos chönw ie hier nach zu fragen :) auserdem seit ihr hier sehr kompetent.
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 06:01 Uhr. |
Powered by vBulletin Version 3.7.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.