C++ 为什么不是';struc中的bool成员不接受用户输入吗?
我正在创建一个名为struct Car的函数,它接受用户输入(在int main中)的两个成员值。其中一个成员是bool(isElectric),但我似乎不明白为什么程序在输入“true”或“false”后不允许我输入任何其他内容。输出失败有什么原因吗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
#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,看看会发生什么,这有助于理解布尔值