Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么不是';struc中的bool成员不接受用户输入吗?_C++_Struct_Boolean_User Input - Fatal编程技术网

C++ 为什么不是';struc中的bool成员不接受用户输入吗?

C++ 为什么不是';struc中的bool成员不接受用户输入吗?,c++,struct,boolean,user-input,C++,Struct,Boolean,User Input,我正在创建一个名为struct Car的函数,它接受用户输入(在int main中)的两个成员值。其中一个成员是bool(isElectric),但我似乎不明白为什么程序在输入“true”或“false”后不允许我输入任何其他内容。输出失败有什么原因吗 #include <iostream> #include <string> using namespace std; struct Car { string color; string model; int

我正在创建一个名为struct Car的函数,它接受用户输入(在int main中)的两个成员值。其中一个成员是bool(isElectric),但我似乎不明白为什么程序在输入“true”或“false”后不允许我输入任何其他内容。输出失败有什么原因吗

#include <iostream>
#include <string>

using namespace std;

struct Car {
  string color;
  string model;
  int year;
  bool isElectric;
  double topSpeed;
};


int main() {



Car car1;
cout << "Enter information for Car 1." << endl;
cout << "Car Color?: ";
cin >> car1.color;
cin.ignore();
cout << "Car Model?: ";
getline(cin, car1.model);
cout << "Car Year?: ";
cin >> car1.year;
cout << "Is the car electric?: ";
cin >> car1.isElectric;

输入
bool
值的默认方式是整数
0
(表示假)或
1
(表示真)

要输入字符串
“true”
,您需要使用操纵器:

cin >> boolalpha >> car1.isElectric;

输入
bool
值的默认方式是整数
0
(表示假)或
1
(表示真)

要输入字符串
“true”
,您需要使用操纵器:

cin >> boolalpha >> car1.isElectric;

尝试为布尔值输入1和0,看看会发生什么,这有助于理解布尔值输入1和0,看看会发生什么,这有助于理解布尔值