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.
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.