返回C 中的Main()
Returning to main() in c++
我刚刚进入C ,我正在尝试。我想制作一个简单的程序,该程序将用户输入并调用两个功能之一,然后该功能将打印一条线,并询问用户是否想再次进行。出于某种原因,问题是C 不允许我通过简单说Main()来调用Main;有什么方法可以从另一个功能调用主函数?我正在寻找最简单的解决方案,但找不到任何东西:/
这是代码:
#include <iostream>
#include <string>
using namespace std;
int do_math() {
cout << "Math" << endl;
string user;
cout << "would you like to go again? (y or n): " << endl;
cin >> user;
if (user == "y") {
main();
}
else if (user == "n") {
cout << "Okay, bye!";
exit(0);
}
return 0;
}
int do_eng(){
cout << "Eng";
string user;
cout << "would you like to go again? (y or n): " << endl;
cin >> user;
if (user == "y") {
main();
}
else if (user == "n") {
cout << "Okay, bye!";
exit(0);
}
return 0;
}
int main() {
string user;
cout << "Would you like to do math or end?:";
cin >> user;
if (user == "math") {
do_math();
}
else if (user == "end") {
do_eng();
}
return 0;
}
出于某种原因,问题是C ,不允许我通过 简单说主();有什么办法从 另一个功能?我正在寻找最简单的解决方案,但是 我什么都找不到:/
不,您不想从任何代码中调用Main。
不是您应该要这样做...但是最简单的解决方案是提供一个可召唤的功能,并以最简单的方式从MAIN。
开始。也许:
int myMain()
{
string user;
cout << "Would you like to do math or end?:";
cin >> user;
if (user == "math") {
do_math();
}
else if (user == "end") {
do_eng();
}
return 0;
}
int main(int, const char**)
{
return myMain();
}
第1课 - 尝试添加另一个间接级别(即Mymain())没有Main()
的限制第2课 - 在这里学习有关递归的知识...似乎您可能想避免它。(即,如果您始终调用Mymain(),您的程序如何终止?
第3课 - 在我的系统上,如果程序终止,我可以在箭头上付出并琐碎地启动它。终端外壳为您做这些事情。也许这将是一种更好的方法...除非用户选择一个动作选择之一(数学,bur等)
,否则始终终止第4课 - 研究其他程序以及其用户界面的工作原理。找到您喜欢的模型。
注意 - 我想,要使您的代码再次调用mymain(),您将需要"向前声明"该函数。
no,该标准专门从程序code
中拨打main()
。您想要的是main
中的loop
:
int main()
{
bool bContinue;
do
{
/* do something */
std::cout << "Do you want to go again?";
cin >> bContinue;
} while(bContinue);
}
相关文章:
- C++ main 中的类循环
- 为什么'class'和'main'中的相等表达式表现不同?
- 无法引用.cpp中的函数,以及 main 中的 .h 文件。C++
- QT C++,从子层次结构调用 main 中的函数
- 在 main 中使用上面的模板类在 main 中的函数调用期间给出错误
- 函数main中的参数argv(int argc,char *argv [])
- 将指针作为私有数据成员传递到 Main 中的成员函数中
- 从 Main 中的双指针函数打印出指针数组
- 解决 main 中的LNK2019错误
- 从main中的类访问数组
- 创建一个函数来匹配 main 中的字符串
- pthread:我想将 main 中的结构指针传递给 pthread 调用的函数
- main中的标头包含.cpp有效,但在类中抛出错误
- main 中的运算符重载和函数调用
- (c++)将main中的随机值保存到函数数组中
- 成员函数访问的main中的用户输入
- 应该在main中的return语句之前释放内存吗?
- 在int main中的argv[]是否应该总是char*类型(如果使用argv则为char**类型)?
- main中的函子示例
- 如何从MouseCallback函数中获取main()中的数据