由于我编码了C++,并且我忘记了在收集字符串输入时发生的恼人的事情,所以它已经有一段时间了。基本上,如果这个循环通过,比方说如果你使用负数,那么它会跳过员工姓名行中的第二个循环。我记得之前有过这个问题,并且在输入字符串之前或之后必须清除或执行此类操作。请帮忙!关于getline(cin,string)的C++快速问题
PS另外,任何人都可以帮助我以下正确的循环。我如何检查字符串输入中的值以确保它们输入值?
#include <string>
#include <iostream>
#include "employee.h"
using namespace std;
int main(){
string name;
int number;
int hiredate;
do{
cout << "Please enter employee name: ";
getline(cin, name);
cout << "Please enter employee number: ";
cin >> number;
cout << "Please enter hire date: ";
cin >> hiredate;
}while(number <= 0 && hiredate <= 0 && name != "");
cout << name << "\n";
cout << number << "\n";
cout << hiredate << "\n";
system("pause");
return 0;
}
您只希望循环在名称为“”时停止?我想你想'name ==“”'?我想你也想用or('||')而不是和('&&') – GWW 2012-03-30 03:44:54