两个人连续不断努力

时间:2015-02-18 14:10:28

标签: c++

所以我试图使用这个代码写入两个不同的set参数中的变量,但它不允许我输入第二个cin的值。

#include<iostream>
using namespace std;

int main()
{
int T1,T2,T3,D,car_type;
double total;

cout<<"Please enter the values for T1 T2 T3 D: ";
cin>>T1,T2,T3,D;
cout<<endl;
cout<<"Please Choose a Car where 1 = Honda, 2 = Toyota, 3 = Mercedes: ";
cin>>car_type;
if (car_type = 1)
{
    total = T1*D;
    cout<<"The cost of a full tank for a Honda is "<<total<<" Dirhams.."<<endl;
}/* else
if (car_type = 2)
{
    total = T2*D;
    cout<<"The cost of a full tank for a Toyota is "<<total<<" Dirhams.."<<endl;
} else
if (car_type = 3)
{
    total = T3*D;
    cout<<"The cost of a full tank for a Mercedes is "<<total<<" Dirhams.."<<endl;
} */
}

你能告诉我我哪里出错吗?

2 个答案:

答案 0 :(得分:6)

在C ++中,逗号可以出现在声明(变量声明,参数列表)和表达式中。在表达式中,它是一个运算符,用于计算操作数并返回最后一个操作数。

基本上

cin>>T1,T2,T3,D;

评估T1,T2,T3D,然后返回D,这意味着,在您的特定情况下,它等同于

cin>>D;

要在operator>>上正确链接cin,请执行:

cin >> T1 >> T2 >> T3 >> D;

答案 1 :(得分:0)

cin>>T1,T2,T3,D;

没有做你要做的事。要理解那读@Luchian Grigore的答案。这就是你的代码应该是

cin>>T1>>T2>>T3>>D;

要使用cin接受多个值,请使用上面的代码(即,使用>>分隔变量而不使用,)。

同时更改

if (car_type = 1)

if (car_type == 1)

=是一个赋值运算符,在您的代码中,它将值1赋给car_type。要检查是否使用==