版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
联通手机充值系统任务1:主菜单实现任务2:登陆验证任务3:查询、充值功能实现项目二联通手机充值项目实现了联通手机余额查询、余额充值功能,模拟了联通用户客户端的查询、充值操作。C#作为一门面向对象程序设计语言,具有自己的语句特点,项目由语言本身的程序结构组成,程序结构主要包括顺序结构、选择结构、循环结构。通过项目的实现,有助于理解变量、常量、表达式、数组、选择结构程序设计、循环结构程序设计、方法等C#程序设计语法基础。项目引入掌握常量、变量的定义及使用掌握常用运算符的使用掌握选择结构、循环结构程序设计掌握数组的定义及使用掌握方法的定义及使用学习目标联通手机充值项目模拟联通营业大厅客户端的充值、查询功能。项目首先要求输入用户名及密码,如图所示:项目描述系统对信息进行验证,验证不通过,则要求再次输入,如果输入错误次数达到三次,系统则自动退出,如图所示:验证通过则显示主菜单,如图所示:项目描述此时等待用户选择菜单,如果选择菜单不存在,则显示错误信息,系统退出,如图所示:如果选择菜单1,则进入查询功能,要求输入查询的手机号,如果手机号不是联通手机号码或手机号不在初始化数据中,则显示错误信息,系统退出,如图所示:项目描述如果手机号有效,则显示当前手机号的余额,显示完后等待用户再次选择菜单:如图所示:如果选择菜单2,则进入充值功能,要求输入充值的手机号,如果手机号不是联通手机号码或手机号不在初始化数据中,则显示错误信息,系统退出,如图所示:项目描述如果手机号有效,则要求输入充值的金额,如果输入金额数字无效,则显示错误信息,系统退出,如图所示:如果金额有效,则将输入的金额累加至当前手机号现有余额,显示充值成功信息,显示完后等待用户再次选择菜单:如图所示:项目描述如果选择菜单3,则系统正常退出。如图所示:任务1:主菜单实现任务2:登陆验证任务3:查询、充值功能实现工作任务任务描述
主菜单显示,当用户选择菜单后,执行菜单对应代码块,如果输入菜单不存在,则显示错误提示信息。任务1主菜单实现1.C#中的常量与变量
程序设计中的数据必须存储在计算机的内存单元,不同的数据存储在不同的位置,为保证不同数据的正确存、取,程序设计中为它们定义不同的名称,常量与变量对应这些名称,因此在程序设计中就必须定义不同的常量与变量来存储数据。常量和变量根据数据的使用场合对应不同的数据类型,每种数据类型的占据的内存单元大小和数据范围各不相同。C#预定义数据类型如表所示:任务1主菜单实现知识引入数据类型标识符说明默认值int32位有符号整数0float单精度浮点数0.0Fdouble双精度浮点数0.0D、0.0decimal高精度浮点数0.0Mbyte8位无符号整数0short16位有符号整数0long64位有符号整数0Lbool布尔类型falsechar字符类型‘\0’string字符串类型null1.C#中的常量与变量变量的定义类型标识符变量名;例:inti;变量的赋值例:stringstr=”admin”;charflag=’A’;intn;n=100;说明:“=”在C#中表示赋值,“==”表示等于。常量的定义与赋值例:constdoublePI=3.14;变量的输入stringstr=Console.ReadLine();inti=int.Parse(Console.ReadLine());任务1主菜单实现知识引入2.C#中的表达式算术表达式算术运算符包括:+-*/%++--~例:inta=120;a=b+20;intc=100/5;c++;任务1主菜单实现知识引入2.C#中的表达式任务1主菜单实现知识引入【例2-1】输入一个三位数,逆序输出该数,例:输入123输出321。classDemo2_1{staticvoidMain(string[]args){inti,a,b,c;Console.WriteLine("请输入一个三位数:");i=int.Parse(Console.ReadLine());a=i/100;b=i/10%10;c=i%10;Console.WriteLine("逆序输出为:"+c+b+a);}}2.C#中的表达式任务1主菜单实现知识引入关系表达式关系运算符包括:><>=<===!=例:a>=120;b==c;逻辑表达式逻辑运算符:&&||!例:a>b&&b>c!(a>100)赋值表达式赋值运算符:=+=-+*=/=%=例:a+=20;b*=3;条件运算表达式条件运算符:?:例:inta=100,b=80,c;c=a>b?a:b;3.选择结构程序设计任务1主菜单实现知识引入
在程序设计过程中,如果需要对某个条件进行判断,在满足条件的情况下才执行特定操作,不满足条件则不执行特定操作或执行其它操作,则需要使用选择结构进行程序设计。if语句格式:if(条件表达式)
{代码块}3.选择结构程序设计任务1主菜单实现知识引入【例2-2】输入三个整数,从大到小输出。classDemo2_2{staticvoidMain(string[]args){inta,b,c,t;Console.WriteLine("请输入三个整数:");a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());c=int.Parse(Console.ReadLine());if(a<b){t=a;a=b;b=t;}if(a<c){t=a;a=c;c=t;}if(b<c){t=b;b=c;c=t;}Console.WriteLine("从大到小输出为:");Console.WriteLine(a+","+b+","+c);}}3.选择结构程序设计任务1主菜单实现知识引入if…else语句格式一:if(条件表达式)
{代码块}else
{代码块}格式二:if(条件表达式)
{代码块}elseif(条件表达式){代码块}elseif(条件表达式){代码块}
……
else{代码块}switch语句格式:switch(常量){case值1:
语句块break;case值2:
语句块break;case值3:
语句块break;……defalult:语句块break;}1.方法一:用if语句实现主菜单的选择任务1
主菜单实现任务实现【例2-3】classDemo2_3{staticvoidMain(string[]args){Console.WriteLine("联通手机充值系统");Console.WriteLine("****************************");Console.WriteLine("1.------查询");Console.WriteLine("2.------充值");Console.WriteLine("3.------退出");Console.WriteLine("****************************");Console.WriteLine("请输入您的选择:");inti;i=int.Parse(Console.ReadLine());if(i==1){Console.WriteLine("您选择的是:1.--查询");}elseif(i==2){Console.WriteLine("您选择的是:2.--充值");}else
if(i==3){Console.WriteLine("您选择的是:3.--退出");}else{Console.WriteLine("您输入的菜单不存在!谢谢使用!再见!"); }}}2.方法二:用switch语句实现主菜单的选择任务1
主菜单实现任务实现【例2-4】classDemo2_4{staticvoidMain(string[]args){Console.WriteLine("联通手机充值系统");Console.WriteLine("****************************");Console.WriteLine("1.------查询");Console.WriteLine("2.------充值");Console.WriteLine("3.------退出");Console.WriteLine("****************************");Console.WriteLine("请输入您的选择:");inti;i=int.Parse(Console.ReadLine());switch(i){case1:Console.WriteLine("您选择的是:1.--查询");break;case2:Console.WriteLine("您选择的是:2.--充值");break;case3:Console.WriteLine("您选择的是:3.--退出");break;default:Console.WriteLine("您输入的菜单不存在!谢谢使用!再见!");break;}}}常量和变量必须定义后才能使用,不同的数据类型对应不同大小的存储单元。不同的数据类型之间的赋值要进行类型转换。选择结构程序设计在执行过程中某一时刻只会执行其中的一个分支。任务1
主菜单实现任务小结任务描述
进入系统后要求输入用户名及密码,用户名为“admin”和密码为“123456”,如果用户名或密码输入错误,则输出错误提示信息并累计错误次数,如果错误次数达到三次,系统提示“用户名或密码输入错误已达三次!系统将自动退出!”,系统自动退出,如果用户名及密码输入正确,则显示“欢迎进入联通手机充值系统”。任务2登陆验证1.循环结构程序设计在程序设计过程中,如果在满足某个条件的情况下,需要重复执行特定操作多次,则需要用到循环结构进行程序设计,因此循环结构又称为重复结构。while语句格式:while(条件表达式){代码块}任务2
登陆验证知识引入1.循环结构程序设计任务2
登陆验证知识引入【例2-5】求1+2+3+…..100classDemo2_5{staticvoidMain(string[]args){intsum,i;sum=0;i=1;while(i<=100){sum+=i;i++;}Console.WriteLine("1+2+3+...+100="+sum);}}1.循环结构程序设计任务2
登陆验证知识引入do…while语句格式:do{代码块}while(条件表达式);注意:do…while语句中代码块至少执行一次,而while语句中代码块可能一次也不执行。for语句格式:for(表达式1:表达式2:表达式3)代码块}1.循环结构程序设计任务2
登陆验证知识引入【例2-6】求1*2*3*…*10classDemo2_6{staticvoidMain(string[]args){intp=1,i;for(i=1;i<=10;i++){p*=i;}Console.WriteLine("1*2*3*...*10="+p);}}【例2-7】classDemo2_7{staticvoidMain(string[]args){inti=1;stringuserName,pwd;Console.WriteLine("欢迎进入联通手机充值系统");Console.WriteLine("请输入用户名:");userName=Console.ReadLine();Console.WriteLine("请输入密码:");pwd=Console.ReadLine();任务2
登陆验证任务实现while(i<3){if(userName.Equals("admin")&&pwd.Equals("123456")){Console.WriteLine("欢迎进入联通手机充值系统");break;}else{Console.WriteLine("您输入的用户名或密码错误,请重新输入:");Console.WriteLine("请输入用户名:");userName=Console.ReadLine();Console.WriteLine("请输入密码:");pwd=Console.ReadLine();i++;}if(i>2){Console.WriteLine("用户名或密码输入错误已达三次!系统将自动退出!");}}}}循环结构程序设计实现程序在满足一定条件下需要重复执行一段代码块的操作。不同循环结构语句之间可以相互转换。break语句可以提前终止整个循环,continue语句可以提前终止本次循环。任务小结任务2
登陆验证用户名和密码验证通过后,系统显示主菜单,如果用户选择查询菜单,则要求用户输入要查询的手机号,系统对手机号进行验证,验证不通过,提示错误信息,验证通过,显示当前手机号对应余额,如果用户选择充值菜单,则要求用户输入要充值的手机号,系统对手机号进行验证,验证不通过,提示错误信息,验证通过,要求输入充值金额,系统对金额数据进行判断,如果数据无效,提示错误信息,如果数据有效,则将输入的充值金额累加到当前手机用户余额中。任务描述任务3查询、充值功能实现数组在程序设计中,对于同一类型相关联的一组数如果分别为每一个数定义一个变量名,既不利于程序的易读性,也不利于表达一组数据之间的相互关系,这时,可以使用数组来定义这些数据。数组的定义:数据类型[]数组名例:
int[]a;int[]arr=newint[5];知识引入任务3查询、充值功能实现数组【例2-8】输入5名评委给选手的评分,去掉一个最高分,去掉一个最低分,其它评分求平均分作为选手的最后得分,输出选手的最终成绩。知识引入任务3查询、充值功能实现操作演示字符串函数ToLower():得到字符串的小写形。ToUpper():得到字符串的大写形。Trim():去掉字符串两边的空白字。Substring(index,length):获取从字符串index位置开始,长度为length的子字符。IndexOf(charvalue):获取字符串第一次出现value字符的位置。Equals():判断两个字符串是否相同。如果用“==”判断两个字符串是否相同,则不区别大小写。知识引入任务3查询、充值功能实现方法在程序设计过程中,如果相同的一系列语句或具有选定功能的一段代码块在整个项目中需要重复使用多次,为了提高程序的易读性及代码块的复用性,应该将该代码块定义为一个方法,当代码块定义为方法后,可以达到定义一次,调用多次的效果,而调用方法只需要一条简单的语句。方法的定义:[修饰符]方法的返回值
方法名([方法的参数列表]){
代码块}方法的调用:方法名([实参值])知识引入任务3查询、充值功能实现方法知识引入任务3查询、充值功能实现【例2-9】定义一个方法求两个数的较大值,输入两个数,调用该方法输出较大值。classDemo2_9{publicstaticintadd(inta,intb){return(a>b?a:b);}staticvoidMain(string[]args){inta,b;Console.WriteLine("请输入两个数:");a=int.Parse(Console.ReadLine());b=int.Parse(Console.ReadLine());Console.WriteLine("较大值为:"+add(a,b));}}1.定义初始化数据方法静态方法,返回值为数组,在方法内部使用字符串数组模拟已有数据,元素存储形式为字符串“手机号,余额”。在程序设计中使用Substring()方法分别获取手机号和余额。publicstaticstring[]init(){
……
}2.定义手机号有效性验证方法静态方法,返回值为整数,如果手机号码不是联通手机号码或手机号码不在初始化数据中,则返回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年示范离婚合同:夫妻和平分手指南版B版
- 2025中国铁路乌鲁木齐局集团限公司招聘953人普通高校毕业生一高频重点提升(共500题)附带答案详解
- 2025中国邮政集团公司山西省分公司招聘60人高频重点提升(共500题)附带答案详解
- 2025中国电建集团江西省电力建设公司招聘544人高频重点提升(共500题)附带答案详解
- 2025中国电信湖北孝感分公司招聘23人高频重点提升(共500题)附带答案详解
- 2025中国建筑股份限公司岗位招聘1人高频重点提升(共500题)附带答案详解
- 2025中国华能集团限公司华能核能技术研究院限公司招聘50人高频重点提升(共500题)附带答案详解
- 2025中国人寿神农架支公司招聘10人(湖北)高频重点提升(共500题)附带答案详解
- 2025中共北京市委党校公开招聘应届毕业生11人高频重点提升(共500题)附带答案详解
- 2025下半年陕西商洛市事业单位招聘工作人员278人高频重点提升(共500题)附带答案详解
- 小数乘除法竖式计算专项练习题大全(每日一练共23份)
- 计算机程序设计语言(Python)学习通超星期末考试答案章节答案2024年
- DB14∕T638-2011人工影响天气固定作业站点建设规范
- 薪资调整合同(2篇)
- 循环水泵更换施工方案
- 公路路面恢复施工协议书
- 北师大版(2024新版)七年级上册数学第四章《基本平面图形》检测试卷(含答案解析)
- 国防教育法(课件)主题班会
- 学校体育学智慧树知到答案2024年湖南科技大学
- 英语完形填空练习题20篇
- 农业农村基础知识考试复习题库宝典(600多题)
评论
0/150
提交评论