我正在尝试构建里程计算器。设计是这样的,
如果一个人驾驶100英里或更少,那么他们应该支付每英里25美分。
如果一个人驾驶超过100英里,他们的前100英里将获得最初的25美分,此外每100英里超过15美分......
所以一个例子是
10英里将为这个人赚取1美元,而250英里将获得(前100个为25 + 22.50为第二个150),总计为47.50 ..当我在没有调试的情况下点击开始时,程序进入黑屏以输入值。但是后来我收到一条错误消息..我正在试图找出它的含义。
我正在使用microsoft visual studio 2008. C ++编码。
#include <iostream>
using namespace std;
int main()
{
int varOne ;
cout << "Enter your favorite number" << endl;
cin << varOne << endl;
if(varOne <= 100)
cout << (1/4)*(varOne)<< endl;
if (varOne>= 100)
cout << (.15 * (varOne-100)) + (.25 * 100) <, endl;
return 0;
}
调试错误!
计划... isual Studio
2008 \项目\实践\调试\ rorioodweorrfhur.exe 模块:... isual studio 2008 \项目\实践\调试\ rorioodweorfhur.exe 文件:
运行时检查失败#3 - 变量&#39; var1&#39;正在使用而未被初始化。
(按“重试”调试应用程序)
答案 0 :(得分:1)
以下是我在代码中注意到的一些简单错误
cin << varOne << endl;
应该是
cin >> varOne ;
下一个错误
cout << (.15 * (varOne-100)) + (.25 * 100) <, endl;
这应该是
cout << (.15 * (varOne-100)) + (.25 * 100) << endl;
以下是一些逻辑错误。
在您的If语句中,您正在检查&gt; =和&lt; =,仅检查一次相等性。变化
if(varOne <= 100)
到
if(varOne < 100)
同时更改
cout<< (1/4)*(varOne) << endl;
到
cout<< (varOne)/4 << endl;
这是因为1/4会给0