程序设计题一:编程实现计算器功能
- 格式:doc
- 大小:38.00 KB
- 文档页数:4
程序设计题一:编程实现计算器功能
一、课题内容和要求
通过此课题,练习顺序结构、选择结构、循环结构的程序的编制,特别是“菜单”的设计,掌握一些算法思想的应用,实现计算器功能。
二、需求分析
(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<stdio.h>
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、求余运算时,没有把两个变量强制转换为整形。
七、课程设计总结:在两周的实训中,我收获了很多,通过此课题,我们练习顺序结构,
选择结构、循环结构的程序的编制,特别是“菜单”的设计,掌握一些算法思想的应用,实现
计算器功能。
设计一个计算机菜单对于我们而言还是有点难度的,在老师和同学的帮助下,两
天内顺利完成了任务,但是过程中也遇到了困难,比如一些语句的使用,菜单格式的设计,变
量类型的强制转换等问题,在这些问题中我学会了很多知识,一一解决了这些问题,我觉得收
获还是很大的。