C++如何在菜单中输入字符串后从菜单中选择选项? 我是C++新手,我正在开发一个程序,学生们在他们的主题代码中键入,然后有一个菜单可以从中选择。
问题是,键入并输入主题代码后,菜单及其选项将出现,但您退出系统,而不是选择继续 这是我想让它们工作的部件的代码C++如何在菜单中输入字符串后从菜单中选择选项? 我是C++新手,我正在开发一个程序,学生们在他们的主题代码中键入,然后有一个菜单可以从中选择。,c++,string,selection,iostream,submenu,C++,String,Selection,Iostream,Submenu,问题是,键入并输入主题代码后,菜单及其选项将出现,但您退出系统,而不是选择继续 这是我想让它们工作的部件的代码 void ProcessStudent(char option, char subjCode) { fstream binFile; const char *fileName; cout << "Welcome to Priya's UOW Student File Processing\n" << endl; cout <
void ProcessStudent(char option, char subjCode)
{
fstream binFile;
const char *fileName;
cout << "Welcome to Priya's UOW Student File Processing\n" << endl;
cout << "Enter the module: ";
cin >> subjCode;
cout << "\n1. Creation of binary file\n";
cout << "2. Append a record\n";
cout << "3. Update a record\n";
cout << "4. Delete a record\n";
cout << "5. Produce final file (text file)\n";
cout << "9. Quit\n";
cout << "Your option: ";
cin >> option;
cout << "\n" <<setw(60)<<setfill('-')<<'-'<<endl;
switch(option)
{
case '1':
CreateBinary(binFile,subjCode,fileName);
break;
case '2':
AppendRec(binFile,option,fileName);
break;
case '3':
UpdateRec(binFile,option,fileName);
break;
case '4':
DeleteRec(binFile,option,fileName);
break;
case '5':
FinalFile(binFile,option,fileName);
break;
case '9':
MainMenu(option);
}
}
void CreateBinary(fstream& binFile, char subjCode, const char *fileName)
{
// Student s;
srand(time(NULL));
binFile.open(fileName, ios::out | ios::binary);
// binFile >> s.id;
// binFile.getline(s.name,MAX);
if(!binFile)
{
cout << fileName << " opened for creation failed" << endl;
exit(-1);
}
cout << "Begin creation of " << fileName << endl;
fstream txtFile;
txtFile.open(fileName, ios::in);
if(!txtFile)
{
cout << fileName << " opened for reading failed" << endl;
exit(-1);
}
cout << "Text file " << fileName << "opened for reading" << endl;
binFile.close();
txtFile.close();
cout << "Binary file " << fileName << " created" << endl;
cout << "Text file " << fileName << " closed for reading" << endl;
}
我想问的是,在输入主题代码或任何其他字符串后,如何选择选项?代码中有什么遗漏吗
希望你们能理解我的要求,如果不让我知道的话
感谢您提供的任何帮助。非常感谢:。您需要刷新cout流:
后来
cout << "Your option: " << flush;
最后用cout替换换行符的输出哪个编译器,你是如何编译的,哪个操作系统?并显示更多代码,并解释如何调试它。我使用Quincy进行编译。遗憾的是,由于声誉问题,我无法对该节目进行屏幕截图。对不起。不是一个编译器,只是一个IDE。它显然正在使用和gdb;您可以在命令行上进行编译,并且应该执行几次。刷新cout流是什么意思?GIYF:请参阅std::ostream和操纵器中的成员函数。
cout << "Your option: " << flush;