【C#】【平时作业】习题-4-流程控制
T1
创建一个Windows应用程序,先输入年龄值,再判断是否大于18,最后显示判断结果,运行效果如图所示。

提示:
注意保持逻辑完整;
引用数据需要明确出处。
【程序代码】
private void Form1_Load(object sender, EventArgs e)
{
textBox1.MaxLength = 4;
}
private void button1_Click(object sender, EventArgs e)
{
try
{
String str = textBox1.Text;
Double age = double.Parse(str);
if (age <= 0 || age > 120)
{
lb_show.Text = "年龄不合理!请输入正确的年龄";
}
else if (age < 18)
{
lb_show.Text = "该生未满18";
}
else
{
lb_show.Text = "该生已满18";
}
}
catch(Exception)
{
lb_show.Text= "年龄参数错误!请输入正确的年龄";
}
finally
{
}
}
【程序截图】





T2
创建一个Windows应用程序,使用switch语句来计算不同服装的应付款,其中,1类服装300元/件,2类服装450元/件,3类服装2000元/件。运行效果如图所示

【程序代码】
private void Form1_Load(object sender, EventArgs e)
{
textBox1.MaxLength = 1;
textBox2.MaxLength = 5;
}
private void button1_Click(object sender, EventArgs e)
{
Double result = 0;
if (textBox1.Text == "")
{
label4.Text = "[错误]未输入类别代码";
}
else
{
if (textBox2.Text == "")
{
label4.Text = "[错误]未输入服装数量";
}
else
{
if (!int.TryParse(textBox1.Text, out int code))
{
label4.Text = "[错误]类别代码错误";
}
else
{
if (!int.TryParse(textBox2.Text, out int num))
{
label4.Text = "[错误]服装数量错误";
}
else
{
switch (code)
{
case 1:
{
result = 300 * num;
label4.Text = "应付款:"+result.ToString()+"元。谢谢惠顾!";
}
break;
case 2:
{
result = 450 * num;
label4.Text = "应付款:" + result.ToString() + "元。谢谢惠顾!";
} break;
case 3:
{
result = 2000 * num;
label4.Text = "应付款:" + result.ToString() + "元。谢谢惠顾!";
}
break;
default:
{
label4.Text = "[错误]无此类别衣物";
}
break;
}
}
}
}
}
}
【程序截图】




T3
设计程序,实现将学生的百分制成绩转换为对应的等级成绩。
提示:界面?
等级标准?
类别与分数的关系? 分数/10,然后取整
【程序代码】
private void Form1_Load(object sender, EventArgs e)
{
tbEnter1.MaxLength = 5;
}
private void button2_Click(object sender, EventArgs e)
{
string scj = tbEnter1.Text.Trim();
try
{
double cj = Convert.ToDouble(scj);//非法数据产生的异常: System.FormatException //数据过大的异常 OverflowException
if (cj < 0 || cj > 100)
{
lblResult.Text = "数据错误,您输入的范围不在合理范围内。请输入一个正确的成绩,范围为0-100";
}
else if (cj >= 90)
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:A";
}
else if (cj >= 80)
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:B";
}
else if (cj >= 70)
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:C";
}
else if (cj >= 60)
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:D";
}
else
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:E";
}
}
catch (FormatException)
{
lblResult.Text = "数据错误,您输入的不是数字。请输入一个正确的成绩,范围为0-100";
}
finally
{
;
}
}
private void button1_Click(object sender, EventArgs e)
{
string scj = tbEnter1.Text.Trim();
try
{
double cj = Convert.ToDouble(scj);//非法数据产生的异常: System.FormatException
if (cj < 0 || cj > 100)
{
lblResult.Text = "数据错误,您输入的范围不在合理范围内。请输入一个正确的成绩,范围为0-100";
}
else
{
int a = (int)(cj / 10);
switch (a)
{
case 10:
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:优秀";
}
break;
case 9:
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:优秀";
}
break;
case 8:
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:良好";
}
break;
case 7:
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:中等";
}
break;
case 6:
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:及格";
}
break;
default:
{
lblResult.Text = "成绩为" + cj.ToString() + " 等级为:不及格";
}
break;
}
}
}
catch (FormatException)
{
lblResult.Text = "数据错误,您输入的不是数字。请输入一个正确的成绩,范围为0-100";
}
finally
{
;
}
}
【程序截图】






T4/T5
T4:求200以内的奇数之和?
T5:求200以内的偶数之和?
要求:分别使用while/do-while/for
【程序代码】
//200以内的奇数和 | while
private void button1_Click(object sender, EventArgs e)
{
int i = 1;
int result = 0;
while(i <= 200)
{
if (i % 2 != 0) {
result += i;
}
i++;
}
textBox1.Text = "答案为:" + result.ToString();
}
//200以内的奇数和 | do/while
private void button4_Click(object sender, EventArgs e)
{
int i = 200;
int result = 0;
do
{
if (i % 2 != 0)
{
result += i;
}
i--;
} while (i > 0);
textBox1.Text = "答案为:" + result.ToString();
}
//200以内的奇数和 | for
private void button5_Click(object sender, EventArgs e)
{
int result = 0;
for(int i = 0; i <= 200; i++)
{
if (i % 2 != 0)
{
result += i;
}
}
textBox1.Text = "答案为:" + result.ToString();
}
//200以内的偶数和 | while
private void button2_Click(object sender, EventArgs e)
{
int i = 1;
int result = 0;
while (i <= 200)
{
if (i % 2 == 0)
{
result += i;
}
i++;
}
textBox1.Text = "答案为:" + result.ToString();
}
//200以内的偶数和 | do/while
private void button3_Click(object sender, EventArgs e)
{
int i = 200;
int result = 0;
do
{
if (i % 2 == 0)
{
result += i;
}
i--;
} while (i > 0);
textBox1.Text = "答案为:" + result.ToString();
}
//200以内的偶数和 | for
private void button6_Click(object sender, EventArgs e)
{
int result = 0;
for (int i = 0; i <= 200; i++)
{
if (i % 2 == 0)
{
result += i;
}
}
textBox1.Text = "答案为:" + result.ToString();
}
【程序截图】



T6
一个百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,该项计划如下:我每天给你十万元,而你第一天只需给我一分钱,第二天我仍给你十万元,你给我二分钱,第三天我仍给你十万元,你给我四分钱,… ,你每天给我的钱是前一天的两倍,直到满一个月(30天),百万富翁很高兴,欣然接受了这个契约。请编写一个程序计算这一个月中陌生人给了百万富翁多少钱,百万富翁给陌生人多少钱。
分析:
陌生人给富翁: 3010万=300万
富翁给陌生人: 1 2 4 8 16 32 每天是前一天的两倍
He= 1 + 2 + 4 + 8 + 16+ 32 每天是前一天的两倍
int he=0;
int meitiandeqian=1
for(int tianshu =1;tianshu <=30;tianshu=tianshu+1)
{
He=he+ meitiandeqian;
Meitiandeqian=2*meitiandeqian;
}
要求输出 he

【程序代码】
private void Form1_Load(object sender, EventArgs e)
{
decimal he =0;
decimal meitiandeqian = 0.01M;
for(int tianshu = 1; tianshu <= 30; tianshu = tianshu + 1)
{
he = he + meitiandeqian;
meitiandeqian = 2 * meitiandeqian;
}
label1.Text = "陌生人给了富翁" + (100000 * 30).ToString() + "\n富翁给了陌生人" + he.ToString();
}
【程序截图】

T7
创建一个Windows应用程序,打印如图所示的九九乘法表。

【程序代码】
private void button1_Click(object sender, EventArgs e)
{
tb_show.Text = "";
for(int i=1;i<=9;i++)
{
for(int j = 1; j <= i; j++)
{
tb_show.Text += i.ToString() + "X" + j.ToString() + "=" + (i * j).ToString()+"\t";
}
tb_show.Text += Environment.NewLine;
}
}
【程序截图】

【C#】【平时作业】习题-4-流程控制的更多相关文章
- java流程控制之习题
经过近段时间的学习,差不多也掌握了java的流程控制以及基本知识,下面就来一起练练习题吧,看能做出来几道. 第一道题:假设小明有100块钱,这时候小明去超市需要换零钱,超市提供的零钱有1元面值,2元 ...
- 作业详解及流程控制之for循环
作业详解及流程控制之for循环 目录 作业详解及流程控制之for循环 一.作业详解 1.根据用户输入内容打印其权限 2.编写用户登录程序 4.猜年龄的游戏 二.流程控制之for循环 三.while循环 ...
- C中的流程控制
一. 流程控制 l 顺序结构:默认的流程结构.按照书写顺序执行每一条语句. l 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码. l 循环结构:在给定条件成立的情况下,反复执行某一 ...
- 高性能JavaScript 循环语句和流程控制
前言 上一篇探讨了达夫设备对于代码性能的影响,本文主要探讨并且测试各种常见的循环语句的性能以及流程控制中常见的优化. 循环语句 众所周知,常用的循环语句有for.while.do-while以及for ...
- Map/Reduce 工作机制分析 --- 作业的执行流程
前言 从运行我们的 Map/Reduce 程序,到结果的提交,Hadoop 平台其实做了很多事情. 那么 Hadoop 平台到底做了什么事情,让 Map/Reduce 程序可以如此 "轻易& ...
- node中的流程控制中,co,thunkify为什么return callback()可以做到流程控制?
前言 我在学习generator ,yield ,co,thunkify的时候,有许多费解的地方,经过了许多的实践,也慢慢学会用,慢慢的理解,前一阵子有个其他项目的同事过来我们项目组学习node,发现 ...
- core java 1~4(HelloWorld & 标识符|关键字|数据类型 & 表达式|流程控制 & 数组)
MODULE 1 Java的编译和运行----------------------------编译:javac -d bin src\HelloWorld.java -d:指定编译后的class 文件 ...
- No1_2. 流程控制_java学习笔记
import java.util.Scanner; import java.lang.Math; public class HelloForWhile { /** * 文档注释,程序名称:HelloF ...
- 07-C语言流程控制if、switch
目录: 一.流程控制 条件分支 if else 二.流程控制 开关分支 switch 回到顶部 一.流程控制 条件分支 1.语法格式:if(表达式1){ //表达式1为真(非0时),执行的语句部分. ...
- c语言的流程控制
1. 流程控制 ● 顺序结构:默认的流程结构.按照书写顺序执行每一条语句. ● 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码. ● 循环结构:在给定条件成立的情况下,反复执行某一 ...
随机推荐
- Camera 冷启动阶段分解
目录 一.Camx trace 调试开关设置 1.设置 camxoverridesettings trace开关 2. 重启后设置开启camx trace 开关 二.Camera 冷启动阶段分解分析 ...
- Cache和DMA一致性
DMA应该多多少少知道点吧.DMA(Direct Memory Access)是指在外接可以不用CPU干预,直接把数据传输到内存的技术.这个过程中可以把CPU解放出来,可以很好的提升系统性能.那么DM ...
- 本地图片上传服务器返回在线地址接口 - file - input -修改头像-带预览功能- 然后使用cropperjs 进行裁剪
说明:上传的图片是 file 类型 ,核心就是获取图片文件(file类型的) : 实现一:使用 vant2 的图片加载组件 ,选择文件后会触发afterRead方法 ,参数 file 就是文件列表fi ...
- Promise.all、race和any方法都是什么意思?
// // 执行多个并行任务 const promiseAll = [ thenFs.readFile('./files/1.txt','utf8'), thenFs.readFile('./file ...
- 我在大厂做 CR——为什么建议使用枚举来替换布尔值
使用枚举替换布尔值主要基于以下几个原因 ● 可读性 ● 可拓展性 ● 安全防控 可读性 我们会定义 boolean 类型(true 或 false)作为方法参数,虽然比较简洁,但有时候参数的含义往往不 ...
- R语言经典统计分析
经典统计分析包括了许多常用的统计方法和技术,用于数据的描述.推断和建模.本节将介绍经典统计分析方法(包括t检验.方差分析.卡方检验.线性回归)在R语言中的实现. 5.1.1 t检验 样本均值(sam ...
- 云原生周刊:Kubernetes v1.31 发布
开源项目推荐 Kardinal Kardinal 是一个用于在共享 Kubernetes 集群中创建超轻量级临时开发环境的框架. Anteon Anteon(以前称为 Ddosify)是一个开源的.基 ...
- AWS-最佳实践-杂信息
1.Amazon Aurora Serverless v1 AmazonAurora-Serverless版本1是亚马逊Aurora的按需自动缩放配置.Aurora Serverlessv1 DB集群 ...
- Machine Learning Week_1 Introduction 9-11
目录 1.9 Who are Mentors? unfamiliar words 1.10 Get to Know Your Classmates unfamiliar words 1.11 Freq ...
- Web渗透03_扫描技术
前言 在获取目标主机的各类信息时,有一些综合工具可以一键扫描完成,大大方便了测试效率.但扫描结果并非100%的正确,需要我们的判断. namp NMAP(Network Mapper)是一款开放源代码 ...