Falsche Deklaration?
-
Hy, kurze Frage:
habe das hier in Zeile 16 geschrieben:if(zahl<=1000000) {Programmfehlermeldung:
Error E2040 .\Aufgabe1.cpp 16: Declaration terminated incorrectly
Programm funktioniert bis auf if und else.
Programm soll wenn eine Zahl über 1x10^6 eingegeben wird eine Fehlermeldung
ausgeben.
Ich komm einfach nicht darauf

-
Gib mal ein wenig mehr Code, die 1 1/2 Zeilen helfen weder dir noch uns dir zu helfen.

-
Insb. die Zeile davor. Fehlt da ein Semikolon?
-
Sorry bin noch totaler Anfänger.gg
#include <iostream> #include <conio> using namespace std; if(zahl<=1000000) { int quersumme(int zahl) { int quersumme=0; int rest=0; do { rest = zahl%10; zahl = zahl/10; quersumme=quersumme+rest; } while (zahl > 0); return quersumme; } int main () { int zahl=0; cout << "Quersumme berechnen\n"; cout << "===================\n"; cout << "Zahl(maximal 1.000.000): "; cin >> zahl; cout << "Quersumme: " << quersumme(zahl); getch(); return 0; } } else { cout << "Zu hoher Wert!!!"; getch(); }
-
Eine If-Abfrage gehört immer in eine Methode/Funktion.
Dein Code ergibt so keinen Sinn, bau die if nach deiner Eingabe ein.
-
Leider wieder das selbe, oder ich hab wieder was falsch gemacht.
#include <iostream> #include <conio> using namespace std; int main () { int zahl=0,quersumme(int zahl); cout << "Quersumme berechnen\n"; cout << "===================\n"; cout << "Zahl(maximal 1.000.000): "; cin >> zahl; cout << "Quersumme: " << quersumme(zahl); getch(); return 0; } if(zahl<=1000000) { { int quersumme=0; int rest=0; do { rest = zahl%10; zahl = zahl/10; quersumme=quersumme+rest; } while (zahl > 0); return quersumme; } } else { cout << "Zu hoher Wert!!!"; getch(); }
-
Du hast den gleichen Fehler wieder gemacht.
Eine If-Abfrage gehört immer in eine Methode/Funktion.
Dein Code ergibt so keinen Sinn, bau die if nach deiner Eingabe ein.
-
Mal ein kleiner Denkansatz, vergleich mal die folgenden von mir geposteten Codes:
Falsch:
int main() { int zahl; cout << "Zahl <= 1000000 eingeben: << endl; cin >> zahl; cout << "Quersumme: " << BerechneQuersumme(zahl); } //Weder ist hier Zahl bekannt noch würde der Compiler eine If-Abfrage außerhalb der Funktion zu lassen, das ist ein grober Syntaktischer Fehler. if(zahl <= 1000000) { int BerechneQuersumme(int zahl) { // Berechnung und Rückgabe } }Richtig:
int main() { int zahl; cout << "Zahl <= 1000000 eingeben:" << endl; cin >> zahl; if(zahl <= 1000000) { BerechneQuersumme(zahl); } }
-
Hast du den Code da überhaupt selber geschrieben oder nur abgeschrieben? Hast du ihn überhaupt verstanden? Fällt mir schwer das zu glauben. Blätter lieber noch mal ein paar Seiten zurück und mache dir klar, was ein Programmfluss ist.