我的代码中的函数似乎没有运行,谁能说出原因?
A function in my code doesn't seem to be running, can anyone tell why?
我正在构建一个相当简单的通讯录程序来提高我的C++技能。请记住,我没有包含所有的代码,因为这篇文章会很庞大。
我面临的问题是,在下面显示的代码区域中,当在if语句中到达contactCreator()时,它实际上并没有运行。
int mainInput;
ofstream initialStream("contacts.txt", ofstream::app);
initialStream.close();
while(mainInput != -1){
system("cls");
logoHeader();
cout << endl;
cout << "--- MAIN MENU -----------------" << endl;
cout << "[0] Create New Contact" << endl;
cout << "[1] View Existing Contacts" << endl;
cout << "[2] View or Edit Data Fields" << endl;
cout << "-------------------------------" << endl;
cout << "Press ENTER without inputting" << endl;
cout << "anything to EXIT Contact Book." << endl;
cout << "-------------------------------" << endl;
cout << "Enter Selection: ";
mainInput = menuInput();
if(mainInput == 0){
//This is the function that isn't running when it's supposed to.
contactCreator();
}else if(mainInput == 1){
contactViewer();
}else if(mainInput == 2){
dataFieldViewer();
}else if(mainInput < -1 || mainInput > 2){
invalidInputError();
}
}
return 0;
关于contactCreator()的一些信息:
- 它是无效的,所以根据我有限的C++知识,这个问题并不缺少返回语句
- 我检查了一下以确保mainInput是0,而且确实是
- 函数在主函数之前在程序的顶部声明。没问题
- 我检查了函数名称的拼写。据我所知,所有的例子都是正确的
有人能看到我是否遗漏了一些明显的东西吗?我对C++还很陌生,所以我自己找不到任何语法错误。我在程序中创建的所有其他函数都能完美运行。
我试着在网上搜索我的问题,但我有点不知道如何简单地描述它。为什么contactCreator()没有按预期运行?
此外,如果有帮助的话,下面是contactCreator()函数的内容。:)
string initialName;
ofstream creatorTempStream("temp.txt");
while(initialName != ""){
system("cls");
logoHeader();
cout << endl;
cout << "--- NEW CONTACT ---------------" << endl;
cout << "Enter a name for your contact." << endl;
cout << "-------------------------------" << endl;
cout << "Press ENTER without inputting" << endl;
cout << "anything to go back." << endl;
cout << "-------------------------------" << endl;
cout << "Name: ";
getline(cin, initialName);
}
如果我遗漏了任何相关和重要的信息,请告诉我,我会更新帖子。谢谢
如果menuInput()
返回正确的值,问题很可能出现在这里(除非while循环之前有其他代码):
string initialName;
ofstream creatorTempStream("temp.txt");
while(initialName != ""){
}
initialName
在while循环开始时为空。
您是否尝试使用调试器?在函数contactCreator()中,您正在检查initialName!="而不初始化它。很可能函数正在运行而您没有注意到它。
相关文章:
- 如何在linux终端中同时编译和运行c++代码
- 尝试用java代码编译和运行c++代码
- 不同/较旧的处理器运行c++代码的方式是否不同
- 无法在 geany 上运行代码。无法执行构建命令
- 运行代码时,c++ 会终止进程
- 编译多个C++文件.调用二进制文件以运行代码
- 分段故障 运行C++代码时出现 SIGSEGV
- 如何分析在 Windows 上运行C++代码?
- 编译器资源管理器(godbolt)如何安全地运行代码?
- 如何在 vim (windows) 中编译和运行 c++ 代码
- 无法在 Visual Studio 代码中生成和运行 C++ 代码
- 连续运行C++代码和 Python 代码
- 在静态初始化期间运行代码
- C++ .我正在尝试通过使用开关内的数组来获取用户输入,但是当我运行代码时,它显示分段错误?
- 我最近更改了编译器路径以运行 c++ 代码,但现在我无法运行任何 python 代码。我该如何解决这个问题?
- 如何在Visual Studio Code的终端内运行C++代码?
- 在注入的 Dll 的 DllMain 中运行代码导致注入超时
- 并行和顺序运行代码时会产生不同的结果
- 运行代码时C++错误
- 在 CortexM0 中从 RAM 运行代码时出现硬故障