sleepy123
Goto Top

Mehrwertsteuerprogramm verschwindet nach eingabe!

Hallo

Ich bin gerade dabei C++ zu lernen, läuft auch alles soweit ganz gut, bis auf.

Wenn ich nach der Eingabe von dem Nettobetrag die Enter taste drücke flieg ich aus dem Programm raus.

Und ich würde gern wissen wiso, denn der Compiler hat mir keine fehler angezeigt.

#include <iostream>
using namespace std;

const float MwSt = 16;

int main()
{
    float Netto, Steuer, Brutto;
    
    cout << "Bitte geben Sie den Nettopreis ein!" << endl;  
    cin >> Netto;
    Steuer = Netto * MwSt / 100;
    cout << "MwSt: " << Steuer << endl;  
    Brutto = Netto + Steuer;
    cout << "Brutto: " << Brutto << endl;  
}

Content-Key: 123267

Url: https://administrator.de/contentid/123267

Printed on: May 3, 2024 at 13:05 o'clock

Member: maretz
maretz Aug 22, 2009 at 08:38:28 (UTC)
Goto Top
a) weil dein programm mindestens 3 jahre alt ist -> 16% Mehrwertsteuer war mal ... *nostalgische gefühle aufkommen läßt*

b) gibt es ne fehlermeldung?
Member: sleepy123
sleepy123 Aug 22, 2009 at 08:51:25 (UTC)
Goto Top
Wie oben bereits erwähnt.

Nein eine Fehlermedung kommt nicht, dass Programm öffnet sich ich kann den Nettobetrag eingeben und wenn ich dann auf Enter drücke, schließt es sich!
Member: pulse
pulse Aug 22, 2009 at 09:33:14 (UTC)
Goto Top
Sobald du Enter drücktst, wird die eingaben in Netto reingeschrieben und alle nachfolgenden Schritte ausgeführt.
Da du am Ende deines Hauptprogramms keine Art "Stop" oder so hast, wird das programm sofort geschlossen.
versuchs mal mit
system("pause");  
das setzt du direkt nach
cout << "Brutto: " << Brutto << endl;   
generell solltest du aber aus sicherheitsgründen auf die system-funktion verzichten...aber hier reicht das zum testen.

Außerdem fehlt am ende deiner funktion ein "return"
Wundert mich dass der compiler da nicht meckert, weil bei deiner Mainfunktion eigentlich ein int rückgabewert erwartet werden sollte.
Member: sleepy123
sleepy123 Aug 22, 2009 at 09:41:13 (UTC)
Goto Top
welche andere möglichkeit gibt es denn noch, das system auf eine eingabe warten zu lassen?
Member: maretz
maretz Aug 22, 2009 at 09:44:23 (UTC)
Goto Top
naja - notfalls einfach nochmal nen cin reinpacken (geht sicher auch schöner - hab c++ zum letzten mal am anfang meines studiums gesehen und seid dem nie wieder vermisst ;) )
Mitglied: 76109
76109 Aug 22, 2009 at 11:43:06 (UTC)
Goto Top
Hallo zusammen!

Wenn ich mich recht erinnere, dann gibt's noch sowas wie:
while(!kbhit());
Auf beliebigen Tastendruck warten.

Gruß Dieter
Member: sleepy123
sleepy123 Aug 22, 2009 at 12:45:40 (UTC)
Goto Top
hi dann hab ich grad nochwas!

ich habe eben mal ein bisschen rumgespielt und wollte mir dann folgendes ausgeben lassen.

sry aus freiem gedächnis weis ich nicht wie ich den in einem quelltext fenster einfüge!

#include <iostream>
#include <string>
using namespace std;

int main()
{
cout << ("hack") << endl;
system("pause");
}

warum erkennt mein antivieren programm das als trojaner?
Member: dog
dog Aug 22, 2009 at 14:46:04 (UTC)
Goto Top
cin >> Netto;

Ich kenne nur C und da wäre diese Zeile tödlich, ganz einfach weil stdin immer einen String mit einem \n am Ende liefert und keine Fließkommazahl.

In C müsste man also schreiben:
float netto;
scanf("%f",&netto);  

Grüße

Max
Member: sleepy123
sleepy123 Aug 22, 2009 at 15:19:36 (UTC)
Goto Top
ich danke allen die rein geschaut und mir geantwortet haben!