尝试运行程序时收到调试错误

时间:2016-11-24 16:47:00

标签: c++

尝试运行程序的第一部分时,我收到以下调试错误:

  

调试错误!

     

程序:   ... \用户\桌面\ 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");

}

非常感谢任何帮助!

1 个答案:

答案 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,'和'之间的差异。