【发布时间】:2014-02-25 11:06:38
【问题描述】:
int position;
afile.open("EmployeeInfo.dat", ios::in | ios::binary);
char name[80];
cout << "\nEdit Employee Info" << endl;
cout << "---------------------" << endl;
cout << "New Employee Username: ";
cin.clear();
cin.ignore(100, '\n');
cin.getline(name, 80);
bool flag = true;
您好,这是我目前正在执行的程序的代码片段。大多数功能都很好,除了我需要按两次 Enter 来接收 getline 数据。谁能指出我做错了什么?
在此之前的最后一个输入是使用 cin >> 选择的整数输入;进入开关。 我对其他功能没有任何错误,即使它们在做完全相同的事情。字面上准确。
例如。以下没有错误
afile.open("EmployeeInfo.dat", ios::in | ios::binary);
char name[80];
cout << "\nAdd Employee Info" << endl;
cout << "---------------------" << endl;
cout << "New Employee Username: ";
cin.clear();
cin.ignore(100, '\n');
cin.getline(name, 80);
好的,这里是周围的代码。
该函数在另一个函数中被调用
cout << "Your Choice: ";
cin >> choice;
switch(choice)
{
case 1: cout << "Create Holiday Package" << endl;
break;
case 2: cout << "Delete Holiday Package" << endl;
break;
case 3: cout << "Edit Holiday Package" << endl;
break;
case 4: addEmployee(afile, num, e);
break;
case 5: delEmployee(afile, num, e);
break;
case 6: editEmployee(afile, num, e);
break; ....// to be continue case
}//end case
这是我与 cmd 的交互
欢迎来到员工登录屏幕
请输入用户名:Daniel Roberts
请输入密码:Daniel1234
登录成功
总经理菜单
1)创建假期套餐
2)删除假期套餐
3)编辑假期套餐
4)创建员工帐户
5)删除员工帐户
6)编辑员工帐户
7)查看预订套餐统计
8)退出
您的选择:6
编辑员工信息
新员工用户名:John Smith
输入新名称:
【问题讨论】:
-
我认为您需要显示更多的周边代码,以及显示实际的输入/输出和预期的输入/输出(即显示与当前代码一样的会话,以及它应该看起来像)。
-
你能把你的程序复制粘贴到一个代码块中吗?它可以帮助我们了解在另一个之前/之后发生了什么。