A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lgh521911 中级黑马   /  2013-2-26 13:36  /  3055 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 lgh521911 于 2013-2-26 13:57 编辑
  1. static void Main(string[] args)
  2. {

  3. Console.WriteLine("请输入等级平的(A-E):");
  4. string input=Console.ReadLine();
  5. decimal salary = 5000m;
  6. bool flag=false; <FONT color=red>//为什么这里定义波尔类型为flag=false?起到什么作用?
  7. </FONT>switch (input)
  8. {
  9. case "A":
  10. salary += 500;
  11. break;
  12. case "B":
  13. salary += 200;
  14. break;
  15. case "C":
  16. break;
  17. case "D":
  18. salary -= 200;
  19. break;
  20. case "E":
  21. salary -= 500;
  22. break;
  23. default:
  24. Console.WriteLine("你输入的评测成绩有问题");
  25. flag = true; <FONT color=red>//这里的flag=true又是什么意思?起到什么作用?
  26. </FONT>break;
  27. }
  28. if (flag == false)<FONT color=red> //最后这里的flag=false又是什么意思?起到什么作用?
  29. </FONT>{
  30. Console.WriteLine("你的评定后工资为" + salary);
  31. }


  32. Console.ReadKey();
  33. }
复制代码
上面的是从视频中练习的例子,可是没有看太懂,谁能帮助详解一下,谢谢啦!

评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

7 个回复

倒序浏览
就是判断输入的等级是否正确,如果在A,B,C,D,E范围之内,flag=false就输出相应等级的工资,
如果输入的等级没在A,B,C,D,E范围之内,就说明没有等级范围,没有等级范围如何评定工资呢,这里就该为flag=true;是为了让下面的if判断不成立,没有范围不给评定工资!
是为了这个这里:
if (flag == false)<FONT color=red>
</FONT>{
Console.WriteLine("你的评定后工资为" + salary);
回复 使用道具 举报
我的思考仿佛在扭转,慢慢的再理解理解吧,多谢了,有点懂了~
回复 使用道具 举报
第一个flag,定义布尔型,只有true和false两种,用于后面判断。
第二个flag就是如果输入的等级都不在ABCDE这几个中间,就让flag为true。
因为第三个flag的判断条件是当flag为false的时候才会输出评定的工资等级。
因为如果没有flag来判断的话,那么最后一句Console.WriteLine("你的评定后工资为" + salary);里面的salaty的值根本没有改变,还是保持5000这个值,就起不到这个程序的作用了。

其实不一定要定义bool flag=true/false;的,你定义一个int k=1;都行,如果输入的等级在ABCDE里面,那么k还是=1,如果输入的等级不在ABCDE里面,那么就把k的值改变成k=2,最后要输出工资的时候来判断一下,如果k的值是1就输出结果,不是的话就不执行那个输出操作了。

那个flag只是用于判断的,希望你能明白- -偶尽力了。。。
回复 使用道具 举报
岳珅 发表于 2013-2-26 21:45
第一个flag,定义布尔型,只有true和false两种,用于后面判断。
第二个flag就是如果输入的等级都不在ABCDE ...

很详细,多谢指点,正在拨开云雾中。
回复 使用道具 举报
c# 中最基本的顺序结构,程序从上往下一行行的读
标签“flag”起始值为false,如果评定等级非“A,B,C,D,E”那么falg的值变为True
程序继续往下执行,if (flag == false)则输入值无问题,否则,提示错误

也没非规定要用bool类型
回复 使用道具 举报
汪振 发表于 2013-3-1 15:42
c# 中最基本的顺序结构,程序从上往下一行行的读
标签“flag”起始值为false,如果评定等级非“A,B,C,D,E” ...

理解了,i明白了,多谢了!
回复 使用道具 举报
我还没学到这,先给你顶一下
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马