我刚刚学习C++,我需要这个程序来为班级工作。从逻辑上讲,它工作。我使用的是bloodshed.net的IDE ...它似乎只是忽略了cin >> kwh;
。我认为它的流血事件是错误的,不是我的,但我可能会犯错。C++我的逻辑有什么问题?
下面的代码:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
double kwh = -1, monthCost = 0, totalCost = 0;
int monthCount = 0;
bool nextMonth = 0;
do
{
kwh = -1;
cout << "How many KWH did you use month " << ++monthCount << "?\n";
cin >> kwh;
if (kwh <= 1000 && kwh >= 0)
{
monthCost = kwh * 0.6;
}
else if (kwh < 0)
{
cout << "\nInvalid number of KWH.";
while (kwh < 0)
{
cout << "How many KWH did you use month " << monthCount
<< "?\n";
// Could you tell me what I'm doing wrong? I honestly think its
// the programs fault, not mine. Driectly below this comment
// I'm asking the user for the KWH and it just ignores it
// when I compile and run. WHY?!?
cin >> kwh;
}
}
else if (kwh > 1000)
{
monthCost = ((kwh - 1000) * 0.45) + 600;
}
totalCost += monthCost;
cout << "\nYour electric bill for this month " << monthCount << " is $"
<< monthCost << ".\n";
cout << "Would you like to enter another month? (1/0)\n";
cin >> nextMonth;
cout << "\n";
}
while (nextMonth == 1);
cout << "\n\nYour total for all " << nextMonth << " month(s) is %"
<< totalCost << ".\n";
system("pause");
}
代码中没有'cin << kwh;';我假设你的意思是第二个'cin >> kwh;'? – user9876
它适用于我的情况与IDE代码:块删除'系统(“暂停”);' – nKandel
没什么。必须是您正在使用的编译器。 –