C++值更新/忽略
C++ value updating/ignoring
所以我有这个
int main(){
string input;
string lastName;
string firstName;
int age;
int streetNum;
string streetName;
string town;
string zipCode;
float balance;
Update(lastName, firstName, age, streetNum, streetName, town, zipCode, balance);
}
这是更新的功能
void Update(string &lastname, string &firstname, int &age, int &streetnum, string &streetname, string &town, string &zipcode, float &balance){
cout << "Update the following, enter nothing to leave the same: " << endl;
string input;
cout << "Last name: ";
getline(cin, input);
if (input != "n") { lastname = input; }
cout << "First name: ";
getline(cin, input);
if (input != "n") { firstname = input; }
cout << "Age: ";
getline(cin, input);
if (input != "n") { age = atoi(input.c_str()); }
cout << "Street number: ";
getline(cin, input);
if (input != "n") { streetnum = atoi(input.c_str()); }
cout << "Street name: ";
getline(cin, input);
if (input != "n") { streetname = input; }
cout << "Town name:";
getline(cin, input);
if (input != "n") { town = input; }
cout << "ZipCode: ";
getline(cin, input);
if (input != "n") { zipcode = input; }
cout << "Balance: ";
getline(cin, input);
if (input != "n") { balance = atof(input.c_str()); }
}
我的目标是更新该值,或者如果输入为"\n",则跳到下一个值。
一旦运行并且程序调用Update,它就会在同一行打印出"lastname:FirstName:",而不让用户在lastname中输入任何内容。我不知道它为什么这么做。任何关于进入方向的提示或线索都会有所帮助。
getline()不等待用户输入。我相信,除非你被告知使用getline(),否则你可能想要使用cin。看起来是这样的:
cout<< "Lastname: ";
cin>>input;
if(input != " ")
{
lastname= input;
}
我预见到的唯一问题是,您将无法使用'\n'作为if语句的条件。在上面的例子中,我使用了一个空格作为我的跳过字符。
相关文章:
- 从C++本机插件更新Vector3数组
- QGraphicsPolygonItem在拖动时未更新QPolygonF坐标
- 在fstream期间忽略空行
- 概念TS检查忽略私有访问修饰符
- C++宏忽略之后的内容
- cmake更新缓存的变量
- 不知道某个东西是否被忽略会引入未定义的行为吗
- clang整洁10忽略了我的NOLINT命令
- 更新到莫哈韦后出现cmath错误
- If语句在c++中被忽略
- OpenMP:并行更新数组总是需要减少数组吗
- 为什么我的变量没有更新,我的 LED 没有亮起?
- 指针没有更新它在void函数内部指向的值
- 错误:在为指针赋值时,void值没有被忽略
- 为什么stream::忽略未按预期工作
- Craps游戏问题,忽略if语句
- 如何在c++中获取要更新的值
- 已修改的LinkedList未在文本文件本身中更新
- Qt:当QListView获得新条目时,如何更新QStringList
- C++值更新/忽略