myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C++ Programm Tarife (https://mygully.com/showthread.php?t=2511006)

Speedreini93 08.12.11 16:20

C++ Programm Tarife
 
Hallo
ich habe eine Hausaufgabe vom Lehrer bekommen wo ich ein Tarif Programm schreiben soll.Wenn ich Tarif B,C oder D auswähle kommt immer eine komische Rechnung.

Hier ist der Quellcode

Your_Conscience 08.12.11 16:36

Dein Fehler liegt an deinen if's.
Wenn ein if beendet ist, musst du die geschweifte Klammer wieder schließen, nicht erst nach dem letzten.
Außerdem würde ich hier mit if-else arbeiten.
Code:

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

using namespace std;

int main(){
   
    char cTarif,cTarifx,cTarify;
    int iVerbrauch,iNeuz,iAltz;
    float fKosta,fKostb,fKostc,fKostd,fKosten,fMwst = 1.19,fKostx,fKosty,fGrund1 = 15,fGrund2 = 25,fGrund3 = 40,fGrund4 = 70,fPreis1 = 0.35,fPreis2 = 0.30,fPreis3 = 0.25,fPreis4 = 0.20;
   
    cout << "Bitte gib den Alten Zaehlerstand ein: ";
    cin >> iAltz;
    cout << "Bitte gib den Neuen Zaehlerstand ein: ";
    cin >> iNeuz;
    cout << "Waehlen Sie einen Tarif (a,b,c oder d) aus: ";
    cin >> cTarif;
   
    iVerbrauch = iNeuz - iAltz;
   
    if (cTarif == 'a'){
        cout << "Sie waehlten Tarif A!";
        fKosta = (fPreis1*iVerbrauch+fGrund1)*fMwst;
        fKosten = fKosta;
    }
   
    if (cTarif == 'b'){
        cout << "Sie waehlten Tarif B!";
        fKostb = (fPreis2*iVerbrauch+fGrund2)*fMwst;
        fKosten = fKostb;
    }
   
    if (cTarif == 'c'){
        cout << "Sie waehlten Tarif C!";
        fKostc = (fPreis3*iVerbrauch+fGrund3)*fMwst;
        fKosten = fKostc;
    }
   
    if (cTarif == 'd'){
        cout << "Sie waehlten Tarif D!";
        fKostd = (fPreis4*iVerbrauch+fGrund4)*fMwst;
        fKosten = fKostd;
    }
   
    cout << "Bei einem Verbrauch von " << iVerbrauch << " kWh betragen nach Tarif " << cTarif << " die Kosten " << fKosten << " Euro";   
    getch();
}

PS: Poste deinen Code nächstes mal bitte so wie ich.

Speedreini93 08.12.11 16:40

danke werde ich beim nächsten mal drauf achten. ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.