Programmieren - alles kontrollieren 4.942 Themen, 20.719 Beiträge

Abermals eine Noob Frage ;)

Selecta / 7 Antworten / Baumansicht Nickles

Wo liegt hier der Fehler ???

void Berechnung (double &Tag1,double &Tag2,double &Monat1,double &Monat2,double &Jahr1,double &Jahr2)
{
cout << endl << endl << endl << "Die Differenz der beiden Daten entpricht: " << 
(((Jahr2 - Jahr1) * 360) + ((Monat2 - Monat1) * 30) + (Tag2 - Tag1)) << " Tage";

}


C++ Builder sagt: Fehler im Deklarationssyntax und springt mit dem Cursor vor das letzte +.
Ich habe schon lauter Klammervariationen probiert.
Es liegt auch nur an dieser Zeile.
Habe auch schon die Rechnung als Gesamt = x + x + x gespeichert. Bringt nix.


Alles genaustens deklariert und vorher per "cin" eingegeben ...
Wo liegt der Fehler, ich bin anscheinend blind ...

GreetZ Selecta

bei Antwort benachrichtigen
Selecta Nachtrag zu: „Abermals eine Noob Frage ;)“
Optionen

void Berechnung (double Tag1,double Tag2,double Monat1,double Monat2,double Jahr1,double Jahr2, double &a) {
a = (((Jahr2 - Jahr1) *360) + ((Monat2 - Monat1) * 30)) + (Tag2 - Tag1));
cout }

Mache ich es so,sagt er: ; fehlt.

Aber wo fehlt es ???

Gott ich verzweifle.

bei Antwort benachrichtigen
mr.escape Selecta „void Berechnung double Tag1,double Tag2,double Monat1,double Monat2,double...“
Optionen

Hier ist die letzte schließende klammer zu viel!
Muss also heißen:
a = (((Jahr2 - Jahr1) *360) + ((Monat2 - Monat1) * 30)) + (Tag2 - Tag1);

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
mr.escape Selecta „Abermals eine Noob Frage ;)“
Optionen

Kann es sein, daß Tag1 und/oder Tag2 geschützte worte sind, die nicht als variable verwendet werden dürfen?

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Selecta Nachtrag zu: „Abermals eine Noob Frage ;)“
Optionen

Geschützte Worte ? Entweder du meinst mit "const", was nicht so ist, oder du meinst sowas wie "Sleep". Aber da die C++ Begriff Englisch sind, ist sicherlich Tag und besonders nicht Tag1/2 geschützt. Ich guck mal wegen der Klammer.

GreeTz.

bei Antwort benachrichtigen
mr.escape Selecta „Geschützte Worte ? Entweder du meinst mit const , was nicht so ist, oder du...“
Optionen

Es gibt viele wörter, die in mehreren sprachen etwas bedeuten (häufig etwas anderes).
Möglicherweise ist der fehler an einer anderen stelle und wird nur hier sichtbar. Mehrfach verwendete namen für funktionen und variablen z.b.

Ich guck mal wegen der Klammer.
Es gibt eine reihe guter editoren, die neben syntax-highlighting auch klammerpaare anzeigen/wechseln/markieren können. Selbst wenn der persönlich lieblingseditor so was nicht kann, kann man in problemfällen so einen editor kurz mal anwerfen.

mr.escape

"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen
Selecta Nachtrag zu: „Abermals eine Noob Frage ;)“
Optionen

Yo, es lag aber an der Klammer. Vestehe ich aber nicht so ganz ...

Weil ((x+y) * z) UND ((a+b) * c) UND (f-g) sind doch so (einzeln) richtig oder ???
Also warum keine 2 Klammern um den ganzen ??? also

( ((x+y) * z) + ((a+b) * c) + (f - g) )

(Die war letzte ja falsch) Was ist denn daran falsch.
Wenn ich die letzte weglassen, hat die vorderste doch sozusagen keinen Partner ...

Oder kann es sein das ich in der 3/4 Klasse mal eingeschlafen bin ... ???
Dann erklär mir das Klammerprinzip nochmal ^^

GreeTz Selecta

P:S: Es geht jetzt

bei Antwort benachrichtigen
mr.escape Selecta „Yo, es lag aber an der Klammer. Vestehe ich aber nicht so ganz ... Weil x y z...“
Optionen
Yo, es lag aber an der Klammer. Vestehe ich aber nicht so ganz ...
Die klammern waren aber um die ersten beiden ausdrücke UND eine einzelne schließende am ende, die war zuviel!

Wenn ich die letzte weglassen, hat die vorderste doch sozusagen keinen Partner ...
Wie gesagt, entweder die letzte oder die nach dem zweiten ausdruck zuviel.

Oder kann es sein das ich in der 3/4 Klasse mal eingeschlafen bin ... ???
Dann erklär mir das Klammerprinzip nochmal ^^

Bitteschön:
Auf jede öffnende klammer kommt eine schließende. Einfaches abzählen hilft, bei größeren konstrukten (auch und besonders bei programmstrukturen) wirkt ein editor der o.g. art wunder.

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen