尝试运行程序的第一部分时,我收到以下调试错误:
调试错误!
程序: ... \用户\桌面\ PunchLineProgram \调试\ PunchLineProgram.exe 模块: ... \用户\桌面\ PunchLineProgram \调试\ PunchLineProgram.exe
文件: 运行时检查失败#3 - T. (按“重试”调试应用程序)
我试图让用户根据他们的响应选择是否要听一个笑话,正在运行以及if \ else语句将向用户输出消息。如果我注释掉这些语句,我在尝试运行程序时不会收到错误。我知道我可能会遗漏一些简单的东西,因为我是新手。这是我到目前为止的代码:
/*Include Section*/
#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
#include <cctype>
/*Namespace Section*/
using namespace std;
/*Function Prototypes Section*/
void displayAllLines(ifstream &infile);
void displayLastLine(ifstream &infile);
/*Main section: this is the entry point of the program, which controls the flow of execution*/
int main()
{
string file1;
string file2;
ifstream joke;
ifstream punchline;
int decision;
char y;
char n;
cout << "*******************************************************************************" << endl;
cout << setw(48) << "Punchline Program" << endl;
cout << "*******************************************************************************" << endl;
cout << endl;
cout << "Welcome to the Punchline Program!" << endl;
cout << "Are you ready to hear a joke? (y or n): ";
cin >> decision;
if (decision == y)
{
cout << "Great! Let's get started!" << endl;
}
else if (decision == n)
{
cout << "Ah, no sense of humor, I see. Time to make like a tree and leaf (queue rimshot)!" << endl;
}
system("PAUSE");
}
非常感谢任何帮助!
答案 0 :(得分:0)
与char比较时,你应该使用'': char回答
if (answer == 'y') { *//this only checks for LOWER case y*
cout << "You selected Yes" << endl;
}
与字符串比较时使用“” int / float / double ...你可以使用变量。
除此之外,你的决定变量为int,当它应该是char时,你不需要char y 或 n 。 (你自己从未在该代码中使用过它)
我建议查找c ++教程,大多数展示并解释char / string,'和'之间的差异。