我写了这段代码:
std::cout << "When did you graduate? ";
int graduation_year = 0;
std::cin >> graduation_year;
std::cout << "\n";
std::cout << "How much is your student debt? ";
double debt = 0;
std::cin >> debt;
std::cout << "You graduated in " << graduation_year << " and have student debt worth " << debt << ".\n";
double discount = 0;
switch (graduation_year) {
case 2010:
{
if (debt >= 5000 && debt < 10000)
double discount = .99;
double payment = debt * discount;
std::cout << "Your student debt is between 5000 and 10000 which means your payment would be " << payment << "\n";
}
break;
这不是为了学校作业,我只是想学习C并试图获得百分比和切换/案例.
令人讨厌的是,当我改变这部分时
double discount = .99;
double payment = debt * discount;
至
double payment = debt * 0.99;
它完美地运作.所以我觉得有些事情可能会出错,因为双重< 1,但我不能为我的生活找出它是什么.代码继续使用case 2011等,但它为代码的那部分提供了完全相同的问题,所以我想我会把它留下来.