编写分支结构的程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上一页 下一页 返回
任务4-2 判断成绩的等级
8 if (IntScore >= 80) 9{ 10 LblResult.Text = "良好"; 11 } 12 if (IntScore >= 70) 13 { 14 LblResult.Text = "中等"; 15 }
上一页 下一页 返回
任务4-1 判断分数是否及格
第5~12 行代码的作用就是判断所输入的分数是否大于或等 于60,如果是,则执行if 子句中第一对“{ }”包含的代码, 也就是第6 行和第8 行之间的第7 行代码,表示将 LblResult.Text 的原值“结论:”与“及格”两个字连接 在一起,作为LblResult.Text 的新值,也就是程序运行时 在标签上显示“结论:及格”,“+”是字符串的连接运算。 如果小于60,则执行if 子句中第二对“{ }”包含的代码, 也就是第10 行和第12 行之间的第11 行代码,显示“结论: 不及格”。
第4 章 编写分支结构的程序
任务4-1 判断分数是否及格 任务4-2 判断成绩的等级
任务4-1 判断分数是否及格
任务分析
要用计算机来判断一个分数是否及格,首先需由用户向计算 机输入一个分数,然后用程序对用户输入的分数与及格分 (60 分)进行比较,如果大于等于则向用户反馈及格信息, 如果小于则反馈不及格信息。可采用图4-1 所示的界面。
上一页 下一页 返回
任务4-1 判断分数是否及格
2. if 语句的嵌套 大家在运行程序Task4-1 时可能已经发现,当由于误操作,
在输入分数的文本框中,输入了不是整数的其他数据时,程 序在运行时导致了一个错误,产生这个错误的原因是我们在 程序中声明了int 型变量来存放分数,所以用户输入的数据 不能满足程序要求时,就出现了运行错误。这样的程序是不 完善的,程序设计者应尽可能多地捕获用户的失误,并提出 相应的警告信息。可以使用if 语句对用户的输入首先进行形 式上的判断,如果是整数,再判断是否及格,如果不是整数, 则提示输入错误。在这里我们仅对用户输入为空的情形作出 错误提示,如果是输入了字符等其他类型的错误,待学习完 循环语句后再添加该功能。修改后的代码如下:
上一页 下一页 返回
任务4-1 判断分数是否及格
if( ) { if ( ) { 语句块1; } else { 语句块2; }
上一页 下一页 返回
任务4-1 判断分数是否及格
else { if ( ) { 语句块1; } else { 语句块2; } }
上一页 下一页 返回
任务4-1 判断分数是否及格
上一页 下一页 返回
任务4-1 判断分数是否及格
相关知识:if 分支语句、if 语句的嵌套
1. if 分支语句 if 分支语句表示,其语法格式为: if (表达式) { 语句块1 } Else { 语句块2 }
上一页 下一页 返回
任务4-1 判断分数是否及格
(1)首先使用关键字“if”,后面紧接着圆括号,圆括号里 面可以是一个表达式或是一个bool 变量。表达式可以是关 系表达式或逻辑表达式,其运算结果是布尔值true 或false。 例如:
if 的内嵌形式可以五花八门,嵌套的层数也没有限制。 以上我们通过一个实例,介绍了if 语句的相关知识,接下来
请完成实训项目中的练习题目,加以巩固。
关键术语
分支结构:Branching structure if ... else:if ... else 嵌套:nested
上一页 下一页 返回
上一页 下一页 返回
任务4-1 判断分数是否及格
private void BtnOk_Click(object sender, EventArgs e)
{ int IntScore; if(TxtScore.Text==" ") { MessageBox.Show("请输入分数!"); }
上一页 下一页 返回
任务4-1 判断分数是否及格
(3)当if 表达式返回true 时,执行语句块1。如果返回 false,则执行else 后面的语句块2。为了便于理解,可以 把它翻译为中文的“如果……就……,否则……”,用图43 来表示执行过程。
if 语句也可以没有else 子句,用来实现单分支的程序,当 条件为真时执行操作,为假时不执行任何操作。此时if 语句 形式为:
任务4-1 判断分数是否及格
实训项目
1. 一个计算机商店销售光盘,对于少量的订购,每盘3.5 元。 订购超过200张时,每盘为3 元。编写程序,要求输入订购 光盘数量,并显示总价格。
2. 在项目Task4-1 的基础上,要求分数在90 分以上,结 论为“优秀”,80 分至90 分,结论为“良好”,60 分至 80 分,结论为“及格”,60 分以下结论为“不及格”。
if (表达式) { 语句块 }
上一页 下一页 返回
任务4-1 判断分数是否及格
例如: if(a<b) { c=a; a=b; b=c; } 这段代码在执行if(a<b) 时会对条件a<b 进行判断,如果
条件成立,则通过if 语句内部的语句块将变量a 和b的值进 行交换;如果条件不成立,则跳过该if 语句。这样,就能保 证变量a 的值一定大于等于b。
上一页 下一页 返回
任务4-1 判断分数是否及格
10 else 11 { 12 LblResult.Text = "结论:"; 13 LblResult.Text = LblResult.Text +"不及格"; 14 } 15 }
上一页 下一页 返回
任务4-1 判断分数是否及格
(4)运行程序 输入多个不同的整数,注意保证输入正确,“60”以上的整
数显示“结论:及格”;输入小于“60”的整数时显示“结 论:不及格”。
Fra Baidu bibliotek码分析
第3 行代码定义了一个整型变量,变量名为IntScore。
上一页 下一页 返回
任务4-1 判断分数是否及格
第4 行代码把文本框内的分数保存到IntScore。分数是由 用户输入到文本框内,而文本框的Text 属性保存的是字符 串类型的数据,为了可以对分数进行数学运算,需要首先把它 转换成整数。int.Parse()方法的作用就是把圆括号内的字 符串转换为整数。如果用户在文本框内输入了字母、符号或 中文则会产生一个程序错误,因为int.Parse()只能把由数 字组成的字符串转换成整数。
if (yourcity =="北京") //关系表达式,yourcity 为 字符串变量,
注意用双等号==。 if (userage>=18 && userage<=60) //逻辑表达式,
userage 为整型变量
上一页 下一页 返回
任务4-1 判断分数是否及格
前面我们已经学习过关系表达式,在表示一个关系表达式时, 最重要的是要注意关系运算符两边的数据类型要一致,比如, 上面“判断分数是否及格”的例子中IntScore>60,变量 IntScore 是一个int 类型,60 是整型常数,直接写。在 上面的例子中yourcity ==“北京”,可以推测yourcity 是一个string 类型的变量,北京是字符串常数,用双引号 括起来。
(3)编写程序代码。在按钮控件“BtnOk”上双击,进入 单击事件代码窗口,输入如下代码:
上一页 下一页 返回
任务4-1 判断分数是否及格
1 private void BtnOk_Click(object sender, EventArgs e)
2{ 3 int IntScore; 4 IntScore=int.Parse(TxtScore.Text); 5 if (IntScore>=60) 6{ 7 LblResult.Text = "结论:"; 8 LblResult.Text= LblResult.Text +"及格"; 9}
(3)双击按钮“BtnOk”进入到代码编辑窗体,删除原来 手工输入的代码,并输入如下代码:
上一页 下一页 返回
任务4-2 判断成绩的等级
1 private void BtnOk_Click(object sender, EventArgs e)
2{ 3 int IntScore = int.Parse(TxtScore.Text); 4 if (IntScore >= 90) 5{ 6 LblResult.Text ="优秀"; 7}
3. 在文本框中输入一个整数,判断它和随机产生的1~10 之间的整数是否相等。如果两个值相等,则输出“您的运气 好极了!”,否则输出“您今天的运气比较一般”。
上一页 返回
任务4-2 判断成绩的等级
任务分析
在任务4-1 中,对成绩是否及格进行了判断,现在要求判断 出成绩的优、良、中、及格、不及格。
上一页 下一页 返回
任务4-1 判断分数是否及格
(2)if 表达式后紧接着的是大括号,语句块1 包含在大括 号中,表示这个语句块1 受大括号上面的if 语句控制。语句 块1 其实就是程序代码,它可以是一条语句,也可以是多条 语句,当语句块1 只包含一条语句时,可以把大括号省略掉。 但是建议大家使用大括号的形式,即使语句块只有一条语句, 这符合编写的规范。另外if 后面语句块中的所有语句都应该 缩进一个制表符tab 或长度相当的空格,表示它们受控于以 上if 语句。这样的代码更加容易阅读,易于理解。
优 90~100 良 80~90(小于90) 中 70~80(小于80) 及格 60~70(小于70) 不及格 0~60(小于60)
下一页 返回
任务4-2 判断成绩的等级
要判断成绩的等级,也就是判断成绩所在的区间,根据不同 区间给出不同结论。首先判断分数是否大于等于90、且小于 等于100,如果是,则成绩为“优”;否则,继续判断成绩 是否在80~90 之间。用程序实现,很明显也是用if 语句进 行判断,并且是多次连续的判断。程序的流程如图4-4 所示。
上一页 下一页 返回
任务4-1 判断分数是否及格
else { IntScore=int.Parse(TxtScore.Text); if (IntScore>=60) { LblResult.Text= LblResult.Text +"及格"; }
上一页 下一页 返回
任务4-1 判断分数是否及格
上一页 下一页 返回
任务4-2 判断成绩的等级
任务实现
根据前面所学的知识完成这个逻辑。在任务4-1 的基础上进 行修改,界面与Task4-1 相同,业务代码稍有不同。
(1)打开解决方案Charpter4,添加新项目,项目名称 “Task4-2”,并设为启动项目;
(2)将“Task4-1”中窗体Form1 的控件全部选中,复 制粘贴到“Task4-2”的窗体Form1;
else { LblResult.Text = LblResult.Text +"不及格"; } } }
上一页 下一页 返回
任务4-1 判断分数是否及格
在这个例子中,我们是在判断分数是否及格的if 语句外,套 入了另一个判断用户在文本框输入是否为空的if 语句,只有 当用户输入的不为空时,才进入是否及格的判断;如果用户 输入的为空,则给出提示信息。在if 语句中又包含一个或多 个if 语句,称为if 语句的嵌套。其形式为:
上一页 下一页 返回
任务4-1 判断分数是否及格
从上面的分析中可以看出,如果要实现根据是否满足某一条 件执行不同的功能(这里的条件大于60 分,如果是,显示 “结论:及格”,如果不是,显示“结论:不及格”),这 种功能在程序中是用分支结构,也就是if 语句结构实现的。 下面我们对if 语句做一些详细的讲解。
用户输入数字并点击“确定”后,对用户输入的数据进行分 析,程序流程如图4-2 所示。
下一页 返回
任务4-1 判断分数是否及格
任务实现
(1)新建“Windows 应用程序”,项目名称为“Task41”,解决方案为“Charpter4”;
(2)界面设计,拖动相应控件到窗体恰当位置,相应的属 性值如表4-1 所示;
相关文档
最新文档