程序调试
Program debugging
程序输出应该看起来像这样:
Enter an even number: 23
The number is not a positive even number.
Enter an even number: -6
The number is not a positive even number.
Enter an even number: 4
20 20.25 20.50 20.75 21
The sum is 102.5
程序无法正常运行。确定了奇数/均匀的数字,但是增加变量(20 1/(偶数输入的数字))的循环无法正常工作。
#include <iostream>
int main(int argc, char *argv[])
{
float val, sum, incr;
int num;
cout << "Enter an even number: ";
cin >> num;
if (num % 2 != 0)
cout << "The number " << num << " is not a positive even number." << endl;
else
cout << num << " is even!" << endl << endl;
incr = 1 / num;
for (val = 20.0F; val <= 21.0; val += incr)
{
cout << val;
sum += val;
}
cout << "The sum is " << sum << endl;
return 0;
}
如果将一个整数 1
划分在另一个 num
之间,结果是一个整数,正如克里斯所说的那样。
您应该做:
incr = 1.0F / (float)num;
并且要退出错误的引入值,您应该从main
返回#include <iostream>
int main() {
float val, sum, incr;
int num;
cout << "Enter an even number: ";
cin >> num;
if (num < 0 || num % 2 != 0){
cout << "The number " << num << " is not a positive even number." << endl;
return -1;
}
else {
cout << num << " is even!" << endl << endl;
}
incr = 1.0 / num;
for (val = 20.0F; val <= 21.0; val += incr) {
cout << val << " ";
sum += val;
}
cout << "The sum is " << sum << endl;
return 0;
}
相关文章:
- 如何在添加文件的情况下在VSCode中调试C++程序
- 如何在 VsCode 上调试 C++/C 程序
- 调试C++程序时遇到问题
- 如何模拟时间的流逝来调试程序?
- 如何在main()之前调试程序崩溃
- 当Visual Studio停止调试程序时会自动清理内存
- VS 代码C++:无法启动调试 - 程序路径丢失或无效
- 如何在 arm 平台中调试 c 程序中的全局变量损坏
- 如何调试 C++ 程序
- 如何使用数组调试C++程序
- 使用Valgrind调试程序-检测分段故障
- 调试程序时奇怪的GDB消息C++
- 使用gdb在MS VC++2010 Express中编译的调试程序
- 调试C程序的断言错误
- CRT参数验证使多线程调试程序崩溃
- 在Linux下捕获SIGKILL的调试程序
- 在c++中调试程序时,我得到一个空白屏幕
- 在GDB中调试程序时如何获取程序的环境
- 尝试调试c++程序在Eclipse Mars上的MAC Pro视网膜与OS X Yosemite版本10.10.5
- 使用容器调试 C++ 程序<set>