ausgabe einer double variablen Zahl mit cout auf 3 stellen kürzen`???



  • hallo zusammen
    habe diese woche neu angefangen mit c++ und habe mir ein kleines prog geschrieben zur kalkulation von preisen
    ich habe die app soweit fertig nur stört mich noch das die ausgaben immer 6 kommastellen ausgeben,soweit ich verstanden habe passiert das da als double variablentyp definiert oder?

    #include <iostream>
    using namespace std;
    
    using std::cout;
    using std::endl;
    using std::cin;
    
    int main(void)
    {
    double Bruttoankaufspreis, HändlerrabattP, Händlerrabatt,HändlerrabattSfr, SkontoHändler, SkontoHändlerP,SkontoHändlerSfr, Nettobarankauf;
    
    cout << "Bitte geben Sie die Zahlen zur Preiskalkulation des Bruttoankaufspreis ein:" << endl;
    
    cout << "Bruttoankaufspreis in Sfr:"; std::cin >> Bruttoankaufspreis;
    
    cout << "Haendlerrabatt in %:"; std::cin >> HändlerrabattP;
    
    cout << "Haendlerrabatt in Sfr:"; std::cin >> HändlerrabattSfr;
    
    cout << "SkontoHaendler in %:"; std::cin >> SkontoHändlerP;
    
    cout << "SkontoHaendler in Sfr:"; std::cin >> SkontoHändlerSfr;
    
    cout << "--------------------------------------------------------------------------------" << endl;
    
    Händlerrabatt = HändlerrabattP * Bruttoankaufspreis / 100; SkontoHändler = (Bruttoankaufspreis - Händlerrabatt) * SkontoHändlerP /100;
    Nettobarankauf = (Bruttoankaufspreis - Händlerrabatt - HändlerrabattSfr) - 
    SkontoHändler - SkontoHändlerSfr;
    
    cout << " " << endl;
    std::cout << std::fixed; cout << "Nettobarankauf:" << endl;
    cout << " " << endl;
    cout << Nettobarankauf;cout << " Sfr " << endl;
    cout << " " << endl;
    cout << "--------------------------------------------------------------------------------" << endl;
    cout << "--------------------------------------------------------------------------------" << endl;
    cout << " " << endl;
    system("PAUSE");
    


  • Hallo,

    zunächst einige Anmerkungen zu deinem Code:

    Du solltest keine Umlaute verwenden. Das kann dir später Probleme bereiten.
    Außerdem solltest du deinen Code richtig einrücken und mit Leerzeilen in logische Teile aufteilen.

    Dein Problem lässt sich mit cout.precision(Nachkommastellen); lösen. Damit werden die Nachkommastellen bei der Ausgabe unterdrückt. Bei Rechnungen wird aber trotzdem mit der Genauigkeit die double bietet gerechnet.

    #include <iostream>
    
    using namespace std;
    
    // Überflüssig, wenn du ohnehin den ganzen Namensraum std mit using bekannt machst!
    
    /*
    using std::cout;
    using std::endl;
    using std::cin;
    */
    
    int main(void)
    {
    	double Bruttoankaufspreis;
    	double HändlerrabattP, Händlerrabatt, HändlerrabattSfr;
    	double SkontoHändler, SkontoHändlerP,SkontoHändlerSfr, Nettobarankauf;
    
    	cout << "Bitte geben Sie die Zahlen zur Preiskalkulation des Bruttoankaufspreis ein:" << endl;
    
    	cout << "Bruttoankaufspreis in Sfr:"; 
    	std::cin >> Bruttoankaufspreis;
    
    	cout << "Haendlerrabatt in %:"; 
    	std::cin >> HändlerrabattP;
    
    	cout << "Haendlerrabatt in Sfr:"; 
    	std::cin >> HändlerrabattSfr;
    
    	cout << "SkontoHaendler in %:"; 
    	std::cin >> SkontoHändlerP;
    
    	cout << "SkontoHaendler in Sfr:"; 
    	std::cin >> SkontoHändlerSfr;
    
    	cout << "--------------------------------------------------------------------------------" << endl;
    
    	Händlerrabatt = HändlerrabattP * Bruttoankaufspreis / 100; 
    	SkontoHändler = (Bruttoankaufspreis - Händlerrabatt) * SkontoHändlerP / 100;
    	Nettobarankauf = (Bruttoankaufspreis - Händlerrabatt - HändlerrabattSfr) - SkontoHändler - SkontoHändlerSfr;
    
    	cout << " " << endl;
    
    	cout << "Nettobarankauf:" << endl;
    
    	cout << " " << endl;
    
    	// <-----##################################
    	cout.precision(2);
    
    	cout << std::fixed << Nettobarankauf;
    	// ##################################----->
    
    	cout << " Sfr " << endl;
    	cout << " " << endl;
    	cout << "--------------------------------------------------------------------------------" << endl;
    	cout << "--------------------------------------------------------------------------------" << endl;
    	cout << " " << endl;
    
    	system("PAUSE"); 
    
    	return 0;
    }
    


  • danke für die schnelle und prompte antwort und deine tipps


Anmelden zum Antworten