prob bei c++ programm (Programmieren)

prob bei c++ programm (Programmieren)

Hi Leute,
sry erstmal für den schlechten Betreff, aber mir ist nichts eingefallen^^
Ich progge erst seit ein paar tagen, und zwar mit nem Buch. Da war nen Quellcode drinnen, den ich abtippen sollte.


#include <iostream>
using namespace std;

int main()
{
int Zahleingabe;
int Doppel;

cout << "Bitte geben Sie eine Zahl ein!" << endl;
cin >> Zahleingabe;
Doppel = Zahleingabe * 2;
cout << "Das Doppelte dieser Zahl ist "
<< Doppel << "." << endl;
}



so wie ich das verstanden habe, muss man, wenn man das Programm startet ne Zahl eingeben, und dann sagt er die was das Doppelte ist. Also ich starte das teil, und wenn ich dann zB. 5 eingebe, und dann Enter drücke, schließt das Programm sich einfach. Warum? Weiß jemand was ich falsch mache? Danke schonmal...
Die main()-Funktion muss mit return 0; enden. Aber das ist noch nicht alles. Du musst dafür sorgen, dass das Programm noch irgendwas zu tun hat. Ich benutze immer getch(); aus conio.h
In deinem Beispiel sähe das dann so aus:


#include <iostream>
#include <conio.h>

using namespace std;

int main(void) //kann auch leer sein, ist das selbe
{
int Zahleingabe;
int Doppel;
cout << "..." << endl;
cin >> Zahleingabe;
Doppel = Zahleingabe * 2;
cout << "..." << Doppel << "." << endl;
cout << "Druecke eine Taste um zu beenden";
getch();
return 0;
}
Starte das Programm einfach in der Konsole cmd.
cool, danke yoshi party, wundert mich nur dass im buch bisher nichts davon stand. Dieses Prog war auch als Beispiel auf der mitgelieferten CD dabei, und da hab ichs dann rauskopiert, um nichts falsch zu machen.
Dann hab ich manchmal noch ein Problem:
Als ich zum Beisoiel diesen Quellcode aus dem Buch abgeschrieben hab, dann zeigt er mit bei dieser zeile:
 cout << "Bitte geben Sie eine Zahl ein!" << endl; 
nen fehler an, wenn ich es kompielieren will. Wenn ich die zeile jedoch aus dem quelltext von der CD kopiere, geht es, obwohl sie genua so aussieht.
wie heißtn der Fehler?
da steht: expected`}´ at end of input
dann fehlt scheinbar ne } am Ende des Progs...Du hast wahrscheinlich das ganze Prog neu schreiben wollen. Wie siehts denn aus?
hmmm...ich hatte aber eine } am ende...ich hab ja auch nur diese eine zeile ausgetauscht, aber die sah danach auch genauso aus wie vorher. Was meinst du mit "wie siehts denn aus?"? o.O
naja, wie der Code aussieht. Wenns der gleiche is, kann ja nix passiert sein, also, was hast du denn alles geändert?
das ist ja das mysteriöse^^...
ich hab nur die eine zeile geänder. Also: In dem Buch ist ein code. Auf der mitgelieferten CD ist der selbe dabei. Wenn ich ich die Zeile ersetzte gehts wieder. Sieht aber genauso aus. Vllt siehts genauso aus, ist aber irgnen zeichen falsch. Kann aber eigenlich auch nicht sein. Also ich gebe einfach cout ein, dann lass ich nen leerzeichen, und dann die 2 soutzen klammern. Danach wieder leerzeichen und dann " dann kommt der text und dann wieder ". also einfach so^^:
cout << "hier steht der text" << endl;
komisch...

Kopier mal den Code, den ich geschrieben habe...
ja, der geht ja...danke nochma...
hi mennikens^^
ich wollt keinen neuen thread aufmachen, aber kann jemand der c++ kann mich ma bitte in ICQ adden? hät da manchma nen paar fragen...thx...
Nummer: 348820431
schreib die Fragen hier rein...
danke, aber wenn ich ma eben was wissen will oder nen prob hab, dann würd ich die gern über icq stellen, sind ja eh immer sie selben die helfen. sind auch meinst nur kleime. Wennich nen größeres prob hab dann meld ich mich nochma...
also hab dann mal ne Frage zu if und else.
also bei diesem code:

#include <iostream>
#include <conio.h>
#include <windows.h>
using namespace std;

const float a = 1;

int main()
{
system("color 0c");
float Dividend, Divisor, Ergebnis;

cout << "gib den Dicidenten ein!" << endl;
cin >> Dividend;
cout << "gib Diviosr ein!" << endl;
cin >> Divisor;
if (Divisor != 0)
Ergebnis = Dividend / Divisor;
cout << Ergebnis << endl;
if (Divisor == 0)
cout << "Divisor ist 0! keine Berechnung" << endl;
cout << "zum beenden des Programms druecken sie eine Taste" << endl;
getch();
return 0;
}

soll der PC ja ne Meldung geben, wenn der Divisor 0 ist. Tut er auch, aber er rechnet trotzdem irgentetwas komisches aus.
Wie macht man denn das, dass er dann nichts ausrechnen soll, sondern nur melden soll dass devisor 0 ist.
Achja, die listings aus meinem Buch, sind glaub ich alles Konsolen anwendungen, zB.steht das als fertiger code:

#include <iostream>
using namespace std;

int main()
{
int Zahleingabe;
int Doppel;

cout << "Bitte geben Sie eine Zahl ein!" << endl;
cin >> Zahleingabe;
Doppel = Zahleingabe * 2;
cout << "Das Doppelte dieser Zahl ist "
<< Doppel << "." << endl;
}

kann das sein? bei mir klappt das nicht.
thx schoma

Edit:
Achja, bei mir klappt else nicht...
also wenn ich schreibe

if (a != 0)
tu irgwas;
else
tu irgwas andreres;

dann zeigt er mir bei else nen Fehler an, mussich irgwas oben schreiben?
also #include <irgwas>?
wenn du nur EINE Funktion nach dem if auslösen willst kannst du das direkt dahinter tun und mit nem ; abschließen. Wenn du jedoch wie in diesem Beispiel mehrere Befehle nach dem if hast, musst du die durch {} eingrenzen:


if( X != 0 )
{
Y = Z/X;
cout << "XXX";
}

else if( X == 0 )cout << "Error";
thx, hab ich erst heut gelesen in meinem buch, aber trotzdem fetten thx...
Logge dich ein um einen Beitrag zu schreiben.