18-22计算器案例(1).ppt

18-22计算器案例(1).ppt

ID:48719754

大小:115.00 KB

页数:12页

时间:2020-01-20

18-22计算器案例(1).ppt_第1页
18-22计算器案例(1).ppt_第2页
18-22计算器案例(1).ppt_第3页
18-22计算器案例(1).ppt_第4页
18-22计算器案例(1).ppt_第5页
资源描述:

《18-22计算器案例(1).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算器案例(1)案例介绍案例功能分解主函数流程随堂实验计算器—案例介绍编写一个计算器程序,它应该具有的功能如下:实现两个数的加、减、乘、除法运算实现两个整数的求余运算实现求从整数n加到整数m的累加和,即求n+(n+1)+(n+2)+…+m的和为多少?实现求整数n的阶乘,即求n!案例功能分解根据案例介绍,我们从中可以分析出本程序应该使用多个不同的函数来分别处理各功能,为了使函数的功能是独立的,因此可能的函数有如下几个:(1)加法函数、减法函数、乘法函数、除法函数、求余函数(2)从整数n累加到整数m的累加求和函数(3)求n!的函数另外,为了让这些函数

2、被执行,还需要main函数来调用它们,为了使main函数在执行时用户知道当前正在做什么,还需要一个显示功能菜单的函数(如menu)程序功能分解—程序结构图从上面的分析我们得出,程序中共有9个不同的函数,这些函数除main外都是被调用的功能函数,因此可以用程序(系统)结构图来描述这几个函数所实现的不同功能。计算器加法减法乘法除法显示菜单求余累加阶乘程序功能分解—定义各个函数框架根据上面的程序结构图,分别定义好每个功能的函数框架(即定义一个空函数):显示菜单:menu(){}加法:add(){}减法:sub(){}乘法:multi(){}除法:div

3、(){}求余:remain(){}累加:add_n_to_m(){}阶乘:factor(){}最后在程序的开头增加对每个函数的原型声明语句。程序功能分解—各个函数的声明定义完函数数,在程序的开头增加对每个函数的原型声明:voidmenu();voidadd();voidsub();voidmulti();voiddiv();voidremain();voidadd_n_to_m();voidfactor();主函数main的执行流程简单的流程开始调用menu函数,显示菜单调用add函数,做加法调用sub函数,做减法调用multi函数,做乘法调用d

4、iv函数,做除法调用remain函数,做求余调用add_n_to_m函数,做累加调用factor函数,做阶乘结束思路简单清晰,但是不符合实际情况。没有哪个人使用计算器时会把所有功能一次全部用个遍,这太难想象了。现实情况是,某次只需要使用一种功能,那么在程序中如何实现这个要求?解决办法是:使用选择结构主函数main的执行流程为了让计算器的执行切合实际,我们还需要加上循环。另外:为了程序能够正常退出,还需要补充一个隐藏功能,即退出系统的功能。开始调用menu函数,显示菜单调用add函数,做加法调用sub函数,做减法调用multi函数,做乘法调用div

5、函数,做除法调用remain函数,做求余调用add_n_to_m函数,做累加调用factor函数,做阶乘结束定义对应选择每一项菜单的一个变量s从键盘上输入变量s的值S=1?S=2?S=3?S=4?S=5?S=6?S=7?循环未结束S=8?退出计算器程序主函数main的执行流程main(){ints;//定义选择功能的变量while(1){menu();//显示菜单…//输入s的值switch(s){//对s的各种值分别判断case1://调用add,执行加法case2:……case8:exit(0);//退出程序}//endofswitch(s)

6、}//endofwhile(1)}//endofmainfunction随堂实验完成main函数的代码编写,并熟悉整个main的执行过程。课堂小结案例介绍案例功能分解主函数的执行流程作业1、继续完成main函数的编写,并调试该函数2、在计算机上编写完成menu函数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。