Grundrechenarten/Problem beim kompilieren\
-
Hallo Zusammen,
wollte ein Programm zum üben der Grundrechenarten schreiben, leider bringt er mir immer eine Fehlermeldung beim kompilieren.
Die Fehlermeldung:main.cpp: In function
int main()': main.cpp:29: error: expected
;' before "cout"
make.exe: *** [main.o] Error 1Weiß jemand was ich falsch gemacht haben könnte?
Nutze übrigens Dev C++
Grüße/*
Name: kpvds
Copyright: nö
Version: 1.0
Date: 17.03.09 18:07
Description: Übung c++ Buch 3.7.1
*/#include <iostream>
using namespace std;
int main()
{
long zahl1,zahl2,zahl3,zahl4,zahl123,EnGe;cout <<"Geben Sie den ersten Summand ein!" << endl;
cin >>zahl1;cout <<"Geben Sie den zweiten Summand ein!" << endl;
cin >>zahl2;cout <<"Geben Sie den dritten Summand ein!" << endl;
cin >>zahl3;zahl123 = zahl1+zahl2+zahl3
cout <<"Addition durchgeführt..." << endl;
cout <<" Das Ergebnis lautet: " << zahl123 << endl;cout <<"Geben Sie einen Multiplikator ein!" << endl;
cin >>zahl4;EnGe = zahl123*zahl4;
cout <<"Das Endergebnis lautet:" << EnGe << endl;
cout <<"PROGRAMMENDE!!!" << endl;system("PAUSE");
return EXIT_SUCCESS;
}
-
main.cpp:29: error: expected `;' before "cout" sagt dir, dass du kurz davor ein Semikolon (;) vergessen hast.
-
Wenn du in Zukunft nochmal was posten solltest, benutze dafür bitte die Cpp-Tags, die ,indem du vor deinem geschrieben Text cpp in [] schreibst und nach dem Text /cpp in [] schreibst, funktionieren. Außerdem möchte ich noch zu deinem Programm sagen, dass es vielleicht besser, in meinen Augen zumindest, wäre, wenn du statt long evtl. int oder double nimmst und die Variablen untereinander schreibst. Also statt
long zahl1,zahl2,zahl3,zahl4...
dann schreibst
long zahl1; long zahl2; long zahl3; long zahl4; ...
Wobei das in deinem Fall natürlich ein bisschen lästig ist. Die Variable EnGe ist eig. überflüsslig und die Variable "zahl123" kannst du in "ergebnis" umbenennen, womit du Speicher sparst.
fy
-
Wenn ich das richtig seh muss dein Code so heißen
#include <iostream> using namespace std; int main() { long zahl1,zahl2,zahl3,zahl4,zahl123,EnGe; cout <<"Geben Sie den ersten Summand ein!" << endl; cin >>zahl1; cout <<"Geben Sie den zweiten Summand ein!" << endl; cin >>zahl2; cout <<"Geben Sie den dritten Summand ein!" << endl; cin >>zahl3; zahl123 = zahl1+zahl2+zahl3; cout <<"Addition durchgeführt..." << endl; cout <<" Das Ergebnis lautet: " << zahl123 << endl; cout <<"Geben Sie einen Multiplikator ein!" << endl; cin >>zahl4; EnGe = zahl123*zahl4; cout <<"Das Endergebnis lautet:" << EnGe << endl; cout <<"PROGRAMMENDE!!!" << endl; system("PAUSE"); return EXIT_SUCCESS; }
hattest einfach nach
zahl123 = zahl1+zahl2+zahl3
das Semikolon vergessen
-
Danke für die vielen und schnellen Antworten und sorry das ich euch mit so einem
Anfänger Fehler beschäftige... ...@The-Kenny: Danke, hast es als erster gesehn!
@FreakY<3cpp: Sorry dafür und danke für den Hinweis. Man wird nicht in allen Foren so höflich hingewiesen.
Vielleicht kann das ein Admin kurz verschieben?!
Zu deinen Verbesserungsvorschlägen:1. Die Variablen untereinander schreiben hatte ich auch zuerst vor. In meinem Buch von André Willms wird diese Option nur aufgeführt und ich wollte es mal testen. Übersichtlicher ist es meiner Meinung nach aber auch.
long
...hab ich gewählt weil der speicherbare Zahlenbereich so groß ist. Beiint
befürchtete ich einen zu kleinen Zahlenbereich.(+/- 32768 laut meinen Buch)double
kenne ich noch nicht! Wie groß ist denn da der Zahlenbereich und benötigter Speicher?! "long" braucht 4 Byte hab ich gelesen!@Jockel55: Auch richtig!
Ich werd mal das nächste Kapitel angehen und fleißig üben...
Grüße
-
kpvds schrieb:
Bei int befürchtete ich einen zu kleinen Zahlenbereich.(+/- 32768 laut meinen Buch)
Das ist der minimale Wertebereich (16 Bit). Auf 32-Bit-Systemen ist
int
meistens auch 32 Bit gross. Aber zur Sicherheitlong
zu nehmen schadet auch nicht.kpvds schrieb:
kenne ich noch nicht! Wie groß ist denn da der Zahlenbereich und benötigter Speicher?!
Das ist auch nicht strikt festgelegt.
double
ist jedoch ein Fliesskommatyp, soll also Dezimalzahlen repräsentieren (daneben gäbe es nochfloat
undlong double
). Ganzzahlen können unter Umständen nicht exakt dargestellt werden, dafür nimmst du besser integrale Typen wielong
.