欢迎光临
我们一直在努力

C++学习复盘:分支与while循环实战——回文判断练习

        距离上次记录刚好半个月,这段时间不再只写简单的输入输出代码,开始接触if判断和while循环,算是真正开始写带逻辑的程序了,把这段时间上课练习、踩过的坑简单记一下。
        之前写的代码都是从上到下顺执行,这次学了分支之后才发现坑特别多。最开始总把判断相等的 == 写成单个 = ,运行程序结果完全不对,半天找不到哪里出错,后来老师提醒我才分清,一个是赋值一个是条件判断,现在每次写完if条件都会多看一眼运算符。
         这次写回文判断的时候,我特意加了输入容错的逻辑。最开始如果输入字母、符号,程序会直接卡死,上课跟着学了 cin.fail() 来判断输入是否合法,写了个死循环让用户重新输入,也算简单接触了程序容错,不像之前只考虑完美输入的情况。
         循环这块算是这半个月最难的内容,尤其是数字反转那段while循环。一开始写完运行出来数字完全不对,自己对着代码看半天也理不清变量变化,还是靠VS断点调试,一行行F10单步走,盯着窗口里num、num_last两个数字实时变化,才搞懂取余、整除反转数字的完整流程,也彻底学会靠调试工具找逻辑错误,不用瞎改代码。
         顺带还踩了负数的坑,最开始没加负数判断,输入负数程序会直接误判成回文,后面单独加了一层if判断拦截负数,才算把这个程序的逻辑补全。
         下面是我这半个月的综合练习题,判断数字是不是回文,整合了if分支、while循环还有输入异常处理,也是我这段时间调试最多的一段代码:

这半个月自身存在的问题
1. 循环嵌套逻辑梳理慢,数字迭代的代码经常写错变量更新顺序,要反复调试;
2. 写代码考虑不够全面,很容易漏掉负数、非法输入这类边界情况;
3. 所有代码全部堆在main函数里,不会拆分功能,代码看着很乱。

赞(0)
未经允许不得转载:171主机测评 » C++学习复盘:分支与while循环实战——回文判断练习
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址