程序设计题一:编程实现计算器功能
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序设计题一:编程实现计算器功能
一、课题内容和要求
通过此课题,练习顺序结构、选择结构、循环结构的程序的编制,特别是“菜单”的设计,掌握一些算法思想的应用,实现计算器功能。
二、需求分析
(1)主菜单如下:
计算器菜单
========================
1:计算 a+b
2: 计算 a-b
3: 计算 a*b
4: 计算 a/b
5: 计算 a%b
0: 退出
请选择(0-5):
(2)选择相应菜单,执行相关操作。
【程序设计说明】
1、用循环语句显示主菜单
2、用switch( )语句
三、概要设计:在这个程序中,我选择了顺序结构来编写这个程序,首先我先确定这个程序有哪些变量,这些变量的类型是什么。在程序中我运用了switch语句、do、、、while语句,最后调试、运行,输出相应的结果。
四、详细设计
#include
void main()
{
int i;
float a,b;
do
{
printf(" jisuanqicaidan\n");
printf("____________________\n");
printf("____________________\n");
printf("1,jisuan a+b\n");
printf("2,jisuan a-b\n");
printf("3,jisuan a*b\n");
printf("4,jisuan a/b\n");
printf("5,jisuan a%b\n");
printf("0,tuichu\n");
printf("select i from 0 to 5\n");
scanf("%d",&i);
scanf("%f,%f",&a,&b);
switch(i)
{
case 0:break;
case 1:printf("%f+%f=%f\n",a+b);break;
case 2:printf("%f-%f=%f\n",a-b);break;
case 3:printf("%f*%f=%f\n",a*b);break;
case 4:printf("%f/%f=%f\n",a/b);break;
case 5:printf("%d%%d=%d\n",(int)a%(int)b);break;}} while(i>0&&i<6);}
五、测试数据及其结果分析:
测试数据
输入:1
输入:1.0,2.0
按回车出现的结果为:1.000000+2.000000=3.000000
输入:2
输入:2.0,1.0
按回车键出现的结果为:2.0000000-1.000000=1.000000
输入:3
输入:2.0,1.0
按回车键出现的结果为: 2.000000*1.000000=2.000000
输入:4
输入:4.0,2.0
按回车键出现的结果为: 4.000000/2.000000=2.000000
输入:5
输入:4.0,2.0
按回车键出现的结果为:4.000000%2.000000=2.000000
输入:1.0,2.0
输入:0退出
六、调试过程中的问题:1、刚开始没有出现主菜单要求的格式,然后通过老师的点拨,按照要求输出了程序;2、求余运算时,没有把两个变量强制转换为整形。
七、课程设计总结:在两周的实训中,我收获了很多,通过此课题,我们练习顺序结构,
选择结构、循环结构的程序的编制,特别是“菜单”的设计,掌握一些算法思想的应用,实现
计算器功能。设计一个计算机菜单对于我们而言还是有点难度的,在老师和同学的帮助下,两
天内顺利完成了任务,但是过程中也遇到了困难,比如一些语句的使用,菜单格式的设计,变
量类型的强制转换等问题,在这些问题中我学会了很多知识,一一解决了这些问题,我觉得收
获还是很大的。