Mit Variablen in C++ rechnen?
Hallo,
Ich lerne gerade C++ und habe Probleme zu verstehen, warum mein Code eine "30" für die Bonuspunkte zurückgibt, obwohl er eine "2270" zurückgeben sollte. Hier ist der Code, und danke im voraus.
// Created on iPad.
#include <iostream>
using namespace std;
int main() {
int Bonuspunkte; //Die ganzen Variablen einführen
int Restzeit;
int Diamanten;
int Zeitbonus;
int Diamantenbonus;
int PunkteProDiamand;
int PunkteProSekunde;
Bonuspunkte = 30; //Variablen initialiesieren und werte geben
Restzeit = 60;
Diamanten = 20;
Zeitbonus = 10;
Diamantenbonus = 30;
PunkteProDiamand = 20;
PunkteProSekunde = 30;
int Insgesamt = Bonuspunkte;
+(Restzeit * PunkteProSekunde)
+ (Diamanten * PunkteProDiamand)
+ Zeitbonus
+ Diamantenbonus;
cout << "Punkte Insgesamt: " << Insgesamt << endl;
return 0;
}
4 Antworten
Du hast nach "int Insgesamt = Bonuspunkte;" ein Semikolon. Das muß weg, dann rechnet Dein Proggie richtig.
Dass es so einfach ist hätte ich nicht gedacht, vielen Dank :)
int Insgesamt = Bonuspunkte;
+(Restzeit * PunkteProSekunde)
+ (Diamanten * PunkteProDiamand)
+ Zeitbonus
+ Diamantenbonus;
Das Semikolon ; in der ersten Zeile beendet den rechten Ausdruck der Zuweisung. Dort steht also für den Kompiler nur "Insgesamt = Bonuspunkte". Der Rest der Ausschnitts steht in einem eigenen Statement, das praktisch wirkungslos ist.
Der Fehler liegt darin, dass die Addition falsch verwendet wird. Der Ausdruck sollte nicht mit einem Pluszeichen beginnen.
Versuch's mal so:
int Insgesamt = Bonuspunkte
+ (Restzeit * PunkteProSekunde)
+ (Diamanten * PunkteProDiamand)
+ Zeitbonus
+ Diamantenbonus;
int Insgesamt = Bonuspunkte;
Das ist eine vollständige Anweisung, weil sie mit einem Semikolon endet.
Der Rest wird (theoretisch) zwar berechnet, dann aber ignoriert.