【发布时间】:2014-09-12 19:40:01
【问题描述】:
我正在尝试编写一个非常简单的 C++ switch 语句,但是尽管从 Absolute C++ 和其他在线示例中阅读了示例代码,但它仍然没有在我想要的时候输出任何东西。为什么这段代码不起作用? (固定)
#include "stdafx.h"
#include <iostream>
#include <iomanip>
#include <cmath>
#include <string>
#include <Windows.h>
#include <stdlib.h>
#include <time.h>
#include <random>
using namespace std;
int main()
{
int HouseValue;
double AnnualInsuranceCost = 0;
cout << "Enter your total house value estimate: (rounded to nearest 50,000!)\n\n\n";
cin >> HouseValue;
switch (HouseValue)
{
case 50000:
AnnualInsuranceCost = 2000;
break;
case 100000:
AnnualInsuranceCost = 3000;
break;
case 150000:
AnnualInsuranceCost = 3500;
break;
case 200000:
AnnualInsuranceCost = 3750;
break;
case 250000:
AnnualInsuranceCost = 3875;
break;
}
cout << "\n\n\n\t\t Your annual insurance cost will be: " << AnnualInsuranceCost << "\n\n\n\t\t\t";
return 0;
}
【问题讨论】:
-
把最后的
cout调用放到switch之外!!! -
AnnualInsuranceCost == 2,000;-->AnnualInsuranceCost = 2000; -
您在
case语句中使用相等运算符,而不是赋值。 -
您要求他们输入最接近 50,000 的房屋价值。那么为什么要测试值 1、2、3 等呢?您不应该测试
50000、100000等吗? -
这个问题似乎跑题了,因为它是关于调试作者的第一个 C++ 程序,这是他应该为自己做的。
标签: c++ switch-statement case break