C++ 两个“;cin";s连胜';行不通

C++ 两个“;cin";s连胜';行不通,c++,C++,所以我试图用这段代码在两个不同的集合参数中写入一个变量,但它不允许我输入第二个参数的值 #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<&

所以我试图用这段代码在两个不同的集合参数中写入一个变量,但它不允许我输入第二个参数的值

#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;
} */
}
#包括
使用名称空间std;
int main()
{
int T1、T2、T3、D型车;
双倍总数;
coutT1,T2,T3,D;
库特
要理解这一点,请阅读@Luchian Grigore的答案。这就是你的代码应该是什么

cin>>T1>>T2>>T3>>D;
要使用
cin
接受多个值,请使用上述代码(即,使用
>
分离变量,而不使用

也改变

if (car_type = 1)

=
是一个赋值运算符,在您的代码中,它将值
1
赋值给
car\u type
。要检查是否相等,请使用
=

要理解这一点,请阅读@Luchian Grigore的答案。这就是你的代码应该是什么

cin>>T1>>T2>>T3>>D;
要使用
cin
接受多个值,请使用上述代码(即,使用
>
分离变量,而不使用

也改变

if (car_type = 1)


<代码>=/COD>是赋值运算符,在代码中,它将值<代码> 1代码>代码> <代码> CARYTYPE 。在C++中,使用相等的用法<代码> ==< /代码> ./P> < P>,逗号可以存在于声明(变量声明、参数列表)中。和表达式。在表达式中,它是计算操作数并返回最后一个操作数的运算符

基本上

cin>>T1,T2,T3,D;
计算
T1、T2、T3
D
,然后返回
D
,这意味着在您的特定情况下,它相当于

cin>>D;
要在
cin
上正确链接
operator>
,请执行以下操作:

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

在C++中,逗号可以存在于声明(变量声明、参数列表)和表达式中。在表达式中,操作符是对操作数进行计算并返回最后一个操作数的。 基本上

cin>>T1,T2,T3,D;
计算
T1、T2、T3
D
,然后返回
D
,这意味着在您的特定情况下,它相当于

cin>>D;
要在
cin
上正确链接
operator>
,请执行以下操作:

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

我想你想做
cin>>T1>>T2
等等首先,在
cin
的第一次使用中,你不能使用逗号作为分隔符。使用
>
s。这里有一些初学者的错误。不相关,但是
car\u type=1
是一个赋值,而不是一个比较。你想使用
=
。我想做
cin>>T1>>T2
等等首先,在第一次使用
cin
时,你不能使用逗号作为分隔符。使用
>
s。这里有一些初学者的错误。不相关,但
car_type=1
是一个赋值,而不是比较。你想使用
=
。即使它编译了,它也肯定不会做它想让我们做的事情。Ob很明显,但它为什么要编译?(即,如果它解释了实际行为,这将是一个更好的答案)即使它编译了,它肯定不会做它想让我们做的事情。显然,但它为什么要编译?(即,如果它解释了实际行为,这将是一个更好的答案)