我正在为学校项目的头文件和实现文件编写一个主程序文件。我已经让我的项目完成了我希望它做的所有事情,除了当用户点击“返回”按钮时退出。
这是我的包含主要功能的程序:
#include <iostream>
#include "date.h"
#include <string>
using namespace std;
int main()
{
dateType date1(1, 6, 2000);
dateType date2(15, 20, 2018);
dateType date3(2, 30, 2019);
dateType date4;
date1.printDate();
cout << endl;
date2.printDate();
cout << endl;
date3.printDate();
cout << endl;
string test;
int month, day, year;
cout << "Enter month day year: " << endl;
cin >> month >> day >> year;
date4.setDate(month, day, year);
date4.printDate();
cout << endl;
cin.clear();
cout << "press any key to continue... ";
while (getline(cin, test)) {
if (test.empty())
break;
}
return 0;
}
我应该为用户按下Enter键以外的其他键编写else语句。但是我正在尝试让这部分首先工作。
如何使while循环正确执行?
答案 0 :(得分:1)
您的意图尚不清楚,但无论如何我都会尝试回答,首先,要将标准输入传递到程序中,至少在Linux上必须按下enter键。除非使用精巧的第三方库生成在后台侦听按键的工作线程,否则按键监听器在控制台应用程序中不是必需的。
剩下的就是测试输入的输入是否为空或是否包含任何数据。我看不到您的代码有任何问题,我创建了一个经过测试,缩小和验证的示例。
#include <iostream>
#include <string>
using namespace std;
int main() {
cout << "press any key to continue... ";
string test;
while (getline(cin, test)) {
cout << test << test.length(); // For debugging purposes
if (test.empty())
break;
}
return 0;
}