Rechenprogramm funzt nur halb

Hallo erstmal

Ich hab vor nem Tag begonnen C++ zu lernen und hab dann mein erstes Programm zum errechnen des Flächeninhaltes von nem Rechteck gemacht,joa...^^
Nun ich benutze den Dev-C++ Compiler und der zeigt mir keine Fehler bei irgendner Zeile an,nun das Problem ist dass sich das Fenster öffnet und ich die Zahlen eintippen kann aber danach wo es das zusammenrechnen soll,bricht es ab respektiv schließt sich das Fenster einfach wieder :/

Code:

#include <iostream.h>
void main()
{
//Programm zum Rechnen des Flaecheninhaltes
float a;
float b;
cout<<"Bitte geben Sie hier die Laenge ein: ";
cin>>a;
cout<<"Bitte geben Sie hier die Breite ein: ";
cin>>b;
cout<<"Der Flaecheninhalt betraegt: "<<2*(a+b)<<endl;
};



Bitte nicht zu streng sein,ich bin halt auf dem Gebiet vom programmieren noch der totale n00b :(
 
Ich bin mir nicht sicher (ich programmiere kein C++) aber ich glaube das lässt sich über SYSTEM('PAUSE') oder ähnlich lösen.

mfg $oul
 
über SYSTEM('PAUSE')
ihhh, Systemabhängige Sachen ;) (meckern zumindest viele).
Ansonsten:
Code:
cin.get()
ans Ende sollte auch passen.

PS: besser wäre es die CodeTags zu nutzen und noch besser im richtigen Unterforum posten ;)
 
Problem: Das Programm gibt nur ganz kurz das Ergebniss aus und schliest sich dann(gibt keinen Code mehr zum abarbeiten)
Lösung:Wie CDW scon sagte oder einfach mal in der CMD aufrufen

Xalon
 
ich wollte eigentlich auch was zu dem Hintergrund sagen, warum sich das Fenster schließt, wurde aber abgelenkt ;)
Dein Programm hat keinen Fehler - nur ist es so, dass es die Konsole als Ausgabe hat, und zumindest bei Windows ist es so, dass diese dann wieder geschlossen wird, wenn das Programm durchgearbeitet wurde. Also hast Du mehrere Lösungsmöglichkeiten:
1)Du sorgst dafür, dass Dein Programm noch etwas anderes tut (z.B mit cin.get() was einlesen - wartet damit auf benutzereingabe und endet erst dann)
2) Oder wie von Xalon erwähnt: Du startest Dein Programm aus der Windows-CMD heraus .
zu 1) "wo ans Ende" : hinter Deine letzte Ausgabe:
Code:
 cout<<"Der Flaecheninhalt betraegt: "<<2*(a+b)<<endl;
setzen:
Code:
 cout<<"Der Flaecheninhalt betraegt: "<<2*(a+b)<<endl;
cin.get();
 
Danke Jungs habs nun so gemacht:

#include <iostream.h>
void main()
{
//Programm zum Rechnen des Flaecheninhaltes
float a;
float b;
float c;
cout<<"Bitte geben Sie hier die Laenge ein: ";
cin>>a;
cout<<"Bitte geben Sie hier die Breite ein: ";
cin>>b;
cout<<"Der Flaecheninhalt betraegt: "<<2*(a+b)<<endl;
cin>>c;
};

:D

Vielleicht nicht ganz schön aber wirksam xD
 
Probiere es doch einmal so:
Konnte es net selber testen da ich kein compiler auf meinen Rechner habe ;)

#include <iostream.h>
void main()
{
//Programm zum Rechnen des Flaecheninhaltes
float a;
float b;
float c;
cout<<"Bitte geben Sie hier die Laenge ein: ";
cin>>a;
cout<<"Bitte geben Sie hier die Breite ein: ";
cin>>b;
cout<<"Der Flaecheninhalt betraegt: "<<2*(a+b)<<endl;
cin>>c;
return 0;
}
 
Kannst auch am Ende nen Tastendruck abwarten um das Programm zu beenden.

Code:
#include <iostream.h>
#include <conio.h>
void main()
{
//Programm zum Rechnen des Flaecheninhaltes
float a;
float b;
float c;
cout<<"Bitte geben Sie hier die Laenge ein: ";
cin>>a;
cout<<"Bitte geben Sie hier die Breite ein: ";
cin>>b;
cout<<"Der Flaecheninhalt betraegt: "<<2*(a+b)<<endl;
cout<<"Drücke eine beliebige Taste..."<<endl;
while(!_kbhit());
}
 
ähm bin jetzt total verwirrt, oder ist der flächeninhalt eines rechtecks nicht eigentlich a*b. Bei 2*(a+b) könnten zB als einheit auch unmöglich cm?/m?/.... rauskommen.
 
Ihr habt recht. Da hab ich überhaupt net drauf geachtet. Müsste dann ja quasi so aussehen:

Code:
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
//Programm zum Rechnen des Flaecheninhaltes
float a;
float b;
cout<<"Bitte geben Sie hier die Laenge ein: ";
cin>>a;
cout<<"Bitte geben Sie hier die Breite ein: ";
cin>>b;
cout<<"Der Flaecheninhalt betraegt: "<<a*b<<endl;
cout<<"Druecke eine beliebige Taste..."<<endl;
while(!_kbhit());
}

Mein letzter Vorschlag war nicht ganz richtig. War ich wohl etwas vorschnell.
So gehts aber bei mir.
 
mhh also habe des problem auch und werder das eine noch das andere geht. bei return schliest er trotzdem, bei
Code:
 std::cout << "Druecke eine beliebige Taste..." << std::endl;
  while(!_kbhit());

verweigert er bei compilen weil angeblich !_kbhi niocht definiert ist...

will jetz mal über CMD aufrufen aber wie ma ht man das? hab von CMD ka, auser ein paar ganz wenigen sachen...

gruz Atlan
 
Du wechselst einfach in das Verzeichnis wo das Programm liegt und gibst dann

"start <das Programm>" ein

verzeichnis wechselst du mit "cd"
den inhalt eines Verzeichnisses kannst du dir mit "dir" anzeigen lassen.

Wenn irgendwelche Unklarheiten bestehen gib einfach "help" ein dann bekommst du eine Liste von Befehlen mit Erklärungen was die machen.
 
Zurück
Oben