简单计算器C语言课程设计报告书.docx
《简单计算器C语言课程设计报告书.docx》由会员分享,可在线阅读,更多相关《简单计算器C语言课程设计报告书.docx(15页珍藏版)》请在冰豆网上搜索。
简单计算器C语言课程设计报告书
C语言课程设计报告书
题目:
简单计算器
院系:
班级:
学号:
姓名:
一、课程设计目的
1.巩固和加深C语言课程的基本知识的理解和掌握
2.掌握C语言编程和程序调试的基本技能
3.利用C语言进行基本的软件设计
4.掌握书写程序设计说明文档的能力
5.提高运用C语言解决实际问题的能力
二、课程设计的基本过程
课程设计的基本过程包括5个步骤,即功能需求,总体设计,详细设计,程序测试,结论。
每个步骤都有其特定的任务。
2.1【功能需求】
功能概述:
该软件为用户提供一个在windows系统上运行的简单计算器,能进行简单的加、减、乘、除四则运算和一些常用特殊运算,包括余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算。
2.2【总体设计】
2.2.1系统模块机构框图
2.2.2功能模块框图
2.2.3系统流程图
2.2.4界面设计
系统主界面
四则运算界面
特殊运算界面
2.3【详细设计】
基于系统需求分析与系统总体设计的结论,本系统采用VisualC++实现各模块的功能。
下面按照模块的划分来分别阐述系统的详细设计和实现过程。
2.3.1模块描述
(1)显示界面模块为系统提供类似于菜单的功能,让用户输入要操作的运算类型的数字代码,并进入相应的功能执行程序,显示相应界面。
(2)数学计算模块中,根据用户选择的运算类型和运算符号,自动调用相应的函数,运行相关程序,进行计算,并显示结果。
(3)退出程序模块。
根据用户的需要,选择是否退出程序。
2.3.2系统头文件
#include/*I/Q函数*/
#include/*数学函数的定义*/
#include/*屏幕操作函数*/
#include/*库函数*/
2.3.3函数声明
(1)主函数main()
功能:
计算器功能选择界面
输入:
用户输入运算类型、退出程序的相应数字代码(1四则运算,2特殊运算,3退出程序)
处理:
根据用户输入的数字代码,跳转到相关功能函数
输出:
显示相应界面或退出程序
程序清单(a)
voidmain()
{
charh;
inta;
doubleb;
do
{
printf("简单计算器\n");
printf("******************************\n");
printf("请输入要进行的运算\n");
printf("------------------------------\n");
printf("1四则运算\n");
printf("2特殊运算\n");
printf("3退出程序\n");
h=getche();
switch(h)/*判断用户想要进行的操作*/
{
case'1':
/*输入1则调用四则运算函数*/
a=size();
printf("结果是:
%d",a);
break;
case'2':
/*输入2则调用特殊运算函数*/
b=teshu();
printf("结果是:
%f",b);
break;
case'3':
/*输入3则退出程序*/
break;
}
}while(h!
='3');
}
(2)自定义函数size()
功能:
进行简单的加、减、乘、除四则运算
输入:
用户输入要计算的数字和运算符号(+、-、*、/)
处理:
根据用户输入的运算符号,跳转到相关运算函数,并调用
输出:
运算结果和是否需要继续运算(y/n)
程序清单(b)
intsize()/*定义四则(size)运算函数*/
{
intn,m;
intc;
charl;
intd;
do
{
printf("\n请输入第一个要计算的数并按Enter结束:
");
scanf("%d",&m);
printf("\n请输入第二个要计算的数并按Enter结束:
");
scanf("%d",&n);
printf("\n请选择运算符号[\t+\t-\t*\t/\t]:
");
l=getche();/*得到运算符号*/
switch(l)
{
case'+':
/*加法运算*/
c=m+n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
case'-':
/*减法运算*/
c=m-n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
case'*':
/*乘法运算*/
c=m*n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
case'/':
/*除法运算*/
c=m/n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
}
for(d=0;d<=999999;d++)
{
printf("\t是否继续?
(y/n):
");/*是否继续运算*/
l=getche();/*得到输入的值*/
printf("\n");
if(l=='y')/*如果得到的是y,则重复运算步骤,达到无限运算的作用*/
{
printf("\n请输入下一个要计算的数并按Enter结束:
");
scanf("%d",&n);
printf("\n请选择运算符号[\t+\t-\t*\t/\t]:
");
l=getche();
switch(l)
{
case'+':
/*加法运算*/
c=c+n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
case'-':
/*减法运算*/
c=c-n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
case'*':
/*乘法运算*/
c=c*n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
case'/':
/*除法运算*/
c=c/n;
printf("\n\n\t结果是%d\n",c);
printf("\n");
break;
}
}
else
{
exit(l);/*如果得到的是n,则退出程序*/
}
}
}while(l!
='n');
return(c);/*返回值*/
}
(3)自定义函数teshu()
功能:
进行一些特殊的运算(余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算)
输入:
用户输入要计算的数字和特殊运算方式的数字代码(1余弦,2正弦,3正切,4绝对值,5平方根,6以e为底的指数,7以10为底的对数)
处理:
根据用户输入的数字代码,跳转到相关运算函数程序
输出:
运算结果和是否需要继续运算(y/n)
程序清单(c)
doubleteshu()/*定义(teshu)特殊运算函数*/
{
doubley;
intn,m;
charp;
printf("---------请选择特殊运算类型---------");
printf("1余弦2正弦3正切4绝对值\n");
printf("5平方根6以e为底的指数7以10为底的对数\n");
printf("\n请输入您要计算的数并按Enter结束:
");
scanf("%d",&m);/*得到要进行运算的数*/
printf("\n请选择您要做的运算类型:
");
n=getche();/*得到要做的运算*/
do
{
switch(n)
{
case'1':
y=cos(m);/*余弦函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
case'2':
y=sin(m);/*正弦函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
case'3':
y=tan(m);/*正切函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
case'4':
y=fabs(m);/*绝对值函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
case'5':
y=sqrt(m);/*平方根函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
case'6':
y=exp(m);/*底数为e的指数函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
case'7':
y=log10(m);/*底数为10的对数函数*/
printf("\n\n\t结果是:
%f\n",y);
printf("\n");
break;
}
printf("\n是否继续?
y/n");
p=getche();
if(p=='n')
exit
(1);
return(y);/*返回值y*/
}while(p=='y');
}
2.4【程序测试】
系统主界面
其他功能截图等……
2.5【设计总结】
本报告对简单计算器系统的分析、设计、实现的完整过程进行了介绍。