启动此代码时,结果不好。我想制作一个简单的计算器,因为我是C ++中的新手。
#include <iostream>
using namespace std;
int main() {
setlocale(LC_ALL, "Lithuanian");
float pasirinkimas, a, b, atsakymas;
cout << "Pasirinkite veiksmą : ";
cin >> pasirinkimas;
if(pasirinkimas = '+') {
cout << "Ąveskite pirmą skaičių : ";
cin >> a;
cout << "Ąveskite antrą skaičių : ";
cin >> b;
atsakymas = a + b;
cout << "Atsakymas yra : " << atsakymas << endl;
cout << "Ačiū, kad naudojates Neimanto Jociaus kurtu skaičiuotuvu" << endl;
}
else if(pasirinkimas = '-') {
cout << "Ąveskite pirmą skaičių : ";
cin >> a;
cout << "Ąveskite antrą skaičių : ";
cin >> b;
atsakymas = a - b;
cout << "Atsakymas yra : " << atsakymas << endl;
cout << "Ačiū, kad naudojates Neimanto Jociaus kurtu skaičiuotuvu" << endl;
}
else if(pasirinkimas = '*') {
cout << "Ąveskite pirmą skaičių : ";
cin >> a;
cout << "Ąveskite antrą skaičių : ";
cin >> b;
atsakymas = a * b;
cout << "Atsakymas yra : " << atsakymas << endl;
cout << "Ačiū, kad naudojates Neimanto Jociaus kurtu skaičiuotuvu" << endl;
}
else if(pasirinkimas = '/') {
cout << "Ąveskite pirmą skaičių : ";
cin >> a;
cout << "Ąveskite antrą skaičių : ";
cin >> b;
atsakymas = a / b;
cout << "Atsakymas yra : " << atsakymas << endl;
cout << "Ačiū, kad naudojates Neimanto Jociaus kurtu skaičiuotuvu" << endl;
}
else {
cout << "Ąvestas veiksmas neegzistuoja!" << endl;
exit(0);
}
system("PAUSE");
}
答案 0 :(得分:4)
在C ++中,运算符==
表示赋值。要测试相等性,请使用if(pasirinkimas == '+')
,例如
if
否则,您的第一个true
将评估为char
,因为您指定的pasirinkimas
已转换为非零。
其次,您的float
是char
,并且您尝试与char
进行比较(实际上,如果您尝试在cin >> pasirinkimas;
中输入pasirinkimas
,则读取本身将会失败行char
,因此-Wall -Wextra -pedantic -Weffc++
将保持未初始化状态。也可以使用<connectionStrings>
<add name="SchoolContext" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=ContosoUniversity1;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>
</connectionStrings>
作为前者的类型。
我强烈建议您打开所有编译器警告。例如,在g ++ / clang ++中,您可以使用sbt stage
打开它们。他们会帮助你诊断这些问题,否则一开始可能会被忽视。
答案 1 :(得分:0)
将pasirinkimas
的类型更改为char,它应该有效。