题目:李四的年终工作评定,如果定为A级,则工资涨500元,如果定为B级,则工资涨200元,如果定为C级,工资不变,如果定为D级工资降200元,如果定为E级工资降500元。
设李四原工资为5000,请用户输入李四的评级,然后显示李四来年的工资。
用If判断来做题如下代码:
if后面跟判断条件,或者说表达式,其结果必须是bool类型,即结果为“true” or “false”
1 Console.WriteLine("请输入李四的工作年终评定:"); 2 string level = Console.ReadLine(); 3 double salary = 5000; 4 bool b = true; 5 6 if (string.Compare(level,"A") == 0) //5中不同的string比较相等. 7 { 8 salary += 500; 9 } 10 else if(level.CompareTo("B")==0) 11 { 12 salary += 200; 13 } 14 else if(string.Equals(level,"C")) 15 { 16 17 } 18 else if(level.Equals("D")) 19 { 20 salary -= 200; 21 } 22 else if (level == "E") // 23 { 24 salary -= 500; 25 } 26 else 27 { 28 Console.WriteLine("输入错误,退出程序"); 29 b = false; //输入错误if判断将不执行来年工资的显示 30 } 31 if (b) 32 { 33 Console.WriteLine("李四的来年工资经评级后为每月{0}元", salary); 34 } 35 Console.ReadKey();
switct 首先将括号中变量或者表达式的值计算出来,然后拿着这个值依次跟每个case后面所带的值进行匹配,一旦匹配成功,则执行该case所带的代码,执行完成后,遇到break。跳出switch-case结构。如果,跟每个case所带的值都不匹配。就看当前这个switch-case结构中是否存在default,如果有default,则执行default中的语句,如果没有default,则退出switch-case结构。
上面的题目改 switch case结构。如下代码:
1 Console.WriteLine("请输入李四的工作年终评定:"); 2 string level = Console.ReadLine(); 3 double salary = 5000;//原工资 4 bool b = true; 5 switch (level)//用户输入的值,和下面的case匹配 6 { 7 case "A": 8 salary += 500; 9 break; //每个case都要有dreak;语句 10 case "B": 11 salary += 200; 12 break; 13 case "C": 14 break; 15 case "D": 16 salary -= 200; 17 break; 18 case "E": 19 salary -= 500; 20 break; 21 default: //如果匹配全不成功则执行下面的代码 22 Console.WriteLine("输入错误,退出程序"); 23 b = false; 24 break; 25 } 26 if (b) //当switch和case匹配不成功,则b = false 将不执行if中的语句 27 { 28 Console.WriteLine("李四的来年工资经评级后为每月{0}元", salary); 29 } 30 Console.ReadKey();
case语句可以合并再看下面的代码:
1 long i = 6L; //声明long整数类型 2 switch (i) //i的类型必须是:bool char string 整型 枚举 3 { 4 case 1: 5 case 2: 6 case 3: 7 case 4: 8 case 5: 9 Console.WriteLine("今天星期{0},是工作日", i); 10 break; 11 case 6: 12 case 7: 13 Console.WriteLine("今天星期{0},是休息日", i); 14 break; 15 default: 16 Console.WriteLine("输入错误,退出程序"); 17 break; 18 } 19 Console.ReadKey();
时间: 2024-11-01 00:46:58