Qt调试操作学习心得

今天通过一个简单的程序来尝试在qt平台上进行代码调试,程序的主要内容为依次输入一个整型数字,一个字符型运算符和另一个整型数字,对它们执行相应的操作。
主函数内容如下:

int main()
{
    int num1,num2;//需要进行操作的两个数字
    char op;//运算符
    cout<<"Enter the first number, option and second number: ";
    //输入需要的数字和运算符
    cin>>num1;
    cin>>op;
    cin>>num2;
    cout<

函数oper的内容如下,现在是没有错误的代码:

double oper(int num1,char op,int num2)
{
    if(op=='+')
        return (num1+num2);
    else if(op=='-')
        return (num1-num2);
    else if(op=='*')
        return (num1*num2);
    else if(op=='/'&&num2!=0)
        return (num1/num2);
    else
        return -1;
}

现在我们进行操作:

Qt调试操作学习心得_第1张图片
快捷键F9或者在调试处点击切换断点即可进入调试模式,这里我将断点设置在提示输入行,
快捷键F5或者点击调试进行调试,此时控制台没有消息
Qt调试操作学习心得_第2张图片
点击下方的单步进入

此时控制台显示提示行
Qt调试操作学习心得_第3张图片
每个变量此时还没有值
Qt调试操作学习心得_第4张图片
依次进行单步进入操作,输入数字和字符,注意输入数字或者字符之后需要回车才能进行下一步操作,否则不能单步进入
Qt调试操作学习心得_第5张图片
输入完成后变量对应的值就显示出来了
Qt调试操作学习心得_第6张图片
继续单步进入就进入到函数体中,直到找到相对应的操作符
Qt调试操作学习心得_第7张图片
进行执行单步进入操作就在控制台得到结果
Qt调试操作学习心得_第8张图片

现在将函数改变

double oper(int num1,char op,int num2)
{
    if(op=='+')
        return (num1+num2);
    else if(op=='-')
        return (num1-num2);
    else if(op=='*')
        return (num1*num2);
    else if(op=='/')
        return (num1/num2);
    else
        return -1;
}

将输入的第二个数变为零,直接运行程序并不能得到结果
Qt调试操作学习心得_第9张图片
现在开始调试寻找原因,同以上操作进行单步调试,直到进入函数体
当运行到两个数进行运算时

Qt调试操作学习心得_第10张图片
进行下一步就会显示提示,运算错误
Qt调试操作学习心得_第11张图片
我们很容易知道是除数时不能为零,这里没有考虑,从而我们找到了问题的位置,更改代码就可以输出结果。

你可能感兴趣的:(Qt调试操作学习心得)