执行switch语句?

时间:2015-12-03 20:57:30

标签: c++ switch-statement

#include <iostream> 

using namespace std ;
 int main() {
//Variables
char country;
int taxed ;
float pay ;
char uk_tax = 'a'; //40%
char us_tax ='b';//mulitple by number devide answer by 100

//Inputs
cout << "Enter your total earnings: ";
cin  >> pay ;
cout << "Are you within the UK or USA?\n ";
cout << "a) For Uk b) For USA \n  ";
cin >> country ;


switch(country)
{
case 1:
        //chosen if input is a
        if (country == uk_tax )
        taxed = 40 * pay / 100;
        cout<< "Here are your earnings after Tax £" << taxed  ;
        break;

    case 2:
        //chosen if input is b
        if (country == us_tax)
         taxed = 28 * pay / 100 ;
        cout << "Here are your earning after Tax £" << taxed ;
        break;
          } return 0 }

你好,我只是想知道是否有人可以帮助看到我使用此代码的问题。代码不执行switch语句。代码自己它只是两个国家(美国,英国)的税收计算器用户通过输入'a'或'b'来选择国家但我似乎无法得到它在

之后执行switch语句

5 个答案:

答案 0 :(得分:3)

如果您的变量country不是1或2,则switch不会做任何事情。 如果他们是以下情况,你的案件可能会更好:

case 'a':

case 'b':

答案 1 :(得分:1)

您的评论表明您要打开输入'a''b',但您没有编写任何代码来执行此操作。您的代码会切换country为ASCII代码12的输入,您将难以在键盘上键入。

写下这个:

case 'a':

和此:

case 'b':

代替。

答案 2 :(得分:1)

countrychar。您可能希望切换'1''2''a''b'

答案 3 :(得分:1)

您要求用户为国家/地区输入ab,您的切换案例应为case 'a':case 'b':才能匹配。

答案 4 :(得分:0)

由于country的类型为char,因此交换机会尝试匹配每种情况。在这种情况下,您要使用case 'a'case 'b',而不是case 1case 2