我正在尝试编写一个非常简单的C ++ switch语句,但是尽管从Absolute C ++和其他在线示例中读取了示例代码,但在我想要的时候仍然没有输出任何内容。为什么这段代码不起作用? (FIXED)
#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;
}
答案 0 :(得分:0)
你可以试试这个:
case 5:
cout << "250000";
AnnualInsuranceCost = 3875;
break;
}
cout << "Your annual insurance cost will be: " << AnnualInsuranceCost;
}
否则cout
将成为case 5
的一部分(虽然从未到达。)
同时更改
AnnualInsuranceCost == 2,000;
到
AnnualInsuranceCost = 2000;
同样从您的号码中删除所有comma
,==用于比较,= =用于分配。
答案 1 :(得分:0)
您期望发生什么?你提示输入一个美元数字,例如100,000,并且具有实际匹配的 NO case
值。您也没有default
个案例,因此您甚至无法告诉用户没有任何匹配项。 switch/case
只是编写扩展if else if else else if else
链的一种奇特方式。
你需要更像
的东西switch(HouseValue)
case 0: ...
case 50000: ...
case 100000: ...
...
default: ... if nothing else matches.