#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语句答案 0 :(得分:3)
如果您的变量country
不是1或2,则switch
不会做任何事情。
如果他们是以下情况,你的案件可能会更好:
case 'a':
case 'b':
答案 1 :(得分:1)
您的评论表明您要打开输入'a'
和'b'
,但您没有编写任何代码来执行此操作。您的代码会切换country
为ASCII代码1
或2
的输入,您将难以在键盘上键入。
写下这个:
case 'a':
和此:
case 'b':
代替。
答案 2 :(得分:1)
country
是char
。您可能希望切换'1'
和'2'
或'a'
和'b'
。
答案 3 :(得分:1)
您要求用户为国家/地区输入a
或b
,您的切换案例应为case 'a':
和case 'b':
才能匹配。
答案 4 :(得分:0)
由于country
的类型为char
,因此交换机会尝试匹配每种情况。在这种情况下,您要使用case 'a'
和case 'b'
,而不是case 1
和case 2