对于我的一个使用Quit()的程序,我有以下要求: -
退出
(1)当收到Quit命令时,StatData的mainPart()函数应该返回main()
(2)此外,如果达到eof,无论是否有退出命令,mainPart()都应返回
(3)反过来,main()main也将返回,程序将终止
(4)不要调用exit()
所以我的程序看起来像: -
main()应该是这样的......
#define bool done;
int main()
{
StatData statdata;
statdata.mainPart();
return 0;
}
和mainPart()看起来像......
void StatData::mainPart()
{
while (!cin.eof() && !done)
processCommand();
}
void RBapp::processCommand()
{
string command;
cin>>command;
if(command == "quit")
{
processQuit();
}
bool StatData::processQuit()
{
if(command=='quit')
{
done=true;
return main();
}
else
{
done=false;
return done;
}
}
我不知道自己哪里出错了。但是我的这个逻辑并没有按照给出的规范工作。我不能在逻辑中使用exit()。请帮我。提前致谢。