c语言学生成绩管理系统主菜单重复选择,学生成绩管理系统主菜单重复选择的_实_现.ppt...

学生成绩管理系统主菜单重复选择的_实_现

C 语 言 程 序 设 计 项 目 教 程 3.4 break语句 对应的流程图如图所示。 C 语 言 程 序 设 计 项 目 教 程 3.4 break语句 【例3-6】 从键盘输入一个大于1的正整数,判断是不是素数。 算法分析: 由定义知,素数是指除了1和它本身外,没有其他因子,即不 能被其他数整除的大于1的整数。 定义整型变量a,要判断a是不是素数,应该根据素数的定义, 用2,3,…,a?1分别去除a,如果a能被其中某个数整除,a不 是素数。这时就不用再除下去,因为只要找到一个数能整除a, 就能断定a不是素数,就没有必要除后面的数,可以提前退出循 环。如果所有这些数都不能整除a,则a是素数。 第1次:如果a%2等于0,那么退出循环; 第2次:如果a%3等于0,那么退出循环; 第3次:如果a%4等于0,那么退出循环; …… 第i次:如果a%(i+1)等于0,那么退出循环; …… 最后一次:如果a%(a-1)等于0,那么退出循环。 C 语 言 程 序 设 计 项 目 教 程 3.4 break语句 由分析可知,属于重复运算,可以用循环实现。除数i作为循环变量,初值是2,终止值是a?1,增量为1,每次对应的语句是如果a%i等于0,那么退出循环,因此可以用for语句来实现。 当跳出上述for循环后,有两种可能。一种是由于整除,执行了break跳出循环;另外一种是由于i值为a跳出循环的。那么第一种情况a就不是素数,第二种情况a是素数。 C 语 言 程 序 设 计 项 目 教 程 3.5 循环语句的嵌套 如果在一条循环语句的循环体内又包含一个完整的循环结构,则成为循环的嵌套。C语言所提供的三种循环语句(while循环、do-while循环和for循环)可以嵌套自身,也可以相互之间嵌套。嵌套时应该注意的是要在一个循环体内包含另一个完整的循环结构,这就是说,无论哪种嵌套关系都必须将一个完整的循环结构全部放在某个循环体内。 如在一个循环的循环体中又嵌套另一个循环语句,称为二重循环,其中循环体中的循环语句称为内层循环,外层的循环称为外层循环。 C 语 言 程 序 设 计 项 目 教 程 3.5 循环语句的嵌套 【例3-7】 输出如下3行,每行5个“”的图案。 ***** ***** ***** 算法分析。 第1次:输出第1行,换行。 …… 第i次:输出第i行,换行。 …… 第3次:输出第3行,换行。 C 语 言 程 序 设 计 项 目 教 程 3.5 循环语句的嵌套 可见,循环体输出第i行又是一个重复运算,也要用循环实现。循环次数j作为循环变量,初值是1,终止值是5,每次对应的语句是输出1个。循环变量j的增量为1,因此也可以用for语句来实现。for(j=1;j<=5;j++)输出1个; 因此这个问题属于循环嵌套问题,相应的流程图如图所示。 C 语 言 程 序 设 计 项 目 教 程 第二部分 模块实现:学生成绩管理系统主菜单重复选择的实现 1 算法分析 第1次:出现主菜单供用户选择,用户选择一个菜单项,完成相应功能。 第2次:出现主菜单供用户选择,用户选择一个菜单项,完成相应功能。 …… 第i次:出现主菜单供用户选择,用户选择一个菜单项,完成相应功能。 …… 循环次数随机,但总是重复地执行“出现主菜单供用户选择,用户选择一个菜单项,完成相应功能。”一直到用户选择菜单项0为止,退出循环。 C 语 言 程 序 设 计 项 目 教 程 第二部分 模块实现:学生成绩管理系统主菜单重复选择的实现 1 算法分析 从上述分析可知,重复运算用循环完成,并且不管用户是否进行操作,主菜单至少要出现一次,因此采用直到型循环的do-while语句实现。对应的循环体是,出现主菜单供用户选择,用户选择一个菜单项,完成相应功能。循环条件是,用户选择的菜单项不是0。 上一章定义了一个字符变量choose,用来保存用户的菜单选项,整个程序的结构为: C 语 言 程 序 设 计 项 目 教 程 第二部分 模块实现:学生成绩管理系统主菜单重复选择的实现 1 算法分析 do { // 输出主菜单 // 输入菜单编号赋值给变量choose swith(choose) { …… }// swith语句完成相应菜单项功能 } while(choose!=0); C 语 言 程 序 设 计 项 目 教 程 第二部分 模块实现:学生成绩管理系统主菜单重复选择的实现 1 算法分析 但是这样的程序存在两个问题。 ① 主菜单的编号是0~7,要求用户从其中选择。当用户误操作致使输入的编号不在0~7时,程序没有对这种情况进行提示和处理,导致程序的健壮

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值