Ich habe einen Auftrag für die Schule, sehr einfach, nur Burger aus einem Joint bestellen und berechnen die Kosten. Ich habe versucht, eine if-Anweisung zu verwenden, um sicherzustellen, dass der Benutzer ihre Reihenfolge mag, aber es gibt mir weiterhin Fehler, ob meine Variable "yesorno" eine Zeichenfolge oder ein Zeichen ist. kann nicht setzen, wenn Anweisung in Schleife C++
#include <cstdlib>
#include <iostream>
#include <string>
using namespace std;
int main() {
char yesorno;
int burgers, fries, drinks;
int i=0;
while (i=0) {
cout<<"Aidan: 'Welcome to the Christopher Burger Joint!\nOur burgers are $4.00, fries are $2.50, and drinks are $1.50.";
cout<<"\nHow many burgers will you be having today?";
cin>>burgers;
cout<<"\nHow many fries will you be having today?";
cin>>fries;
cout<<"\nand how many drinks for you today?";
cin>>drinks;
cout<<"\nSo here is your current order:\nBurgers: "<<burgers<<"\nFries: "<<fries<<"\nDrinks: "<<drinks;
cout<<"Is this all?\nYes or No: ";
cin>>yesorno;
if (yesorno = "yes") {
i=2;
}
}
int grosstotal = (burgers*4)+(fries*2.5)+(drinks*1.5);
int tax = grosstotal*.12;
int total = tax+grosstotal;
cout<<"\nYour total before tax is $"<<grosstotal<<",\nYour tax is $"<<tax<<",\nAnd your total today is $"<<total<<".\nEnjoy!'";
return 0;
}
Sie ordnen yesorno "ja" zu und prüfen nicht, ob es gleich ist. Das ist vielleicht nicht das einzige Problem, aber '==' prüft auf Gleichheit, '=' ist Zuweisung. – chrisz
Kompilieren ohne Warnungen schlägt wieder. –
@chris Ich habe das zweite Gleichheitszeichen hinzugefügt, aber jetzt gibt es mir einen neuen Fehler entsprechend der if-Anweisung "error: ISO C++ verbietet den Vergleich zwischen Zeiger und Integer [-fpermissiv]" –