《简单计算器C语言课程设计报告书(共16页).doc》由会员分享,可在线阅读,更多相关《简单计算器C语言课程设计报告书(共16页).doc(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上C语言课程设计报告书题 目: 简单计算器院 系: 班 级: 学 号: 姓 名: 一、课程设计目的1. 巩固和加深C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、课程设计的基本过程课程设计的基本过程包括5个步骤,即功能需求,总体设计,详细设计,程序测试,结论。每个步骤都有其特定的任务。2.1 【功能需求】 功能概述:该软件为用户提供一个在windows系统上运行的简单计算器,能进行简单的加、减、乘、除四则运算和一些常用特殊运算,包括余弦
2、运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算。2.2 【总体设计】2.2.1 系统模块机构框图简单计算器数 学 计 算退 出 程 序显 示 界 面2.2.2 功能模块框图简单计算器四则运算退出程序特殊运算加法运算减法运算乘法运算除法运算余弦运算正弦运算正切运算求绝对值求平方根以e为底的指数运算以10为底的对数运算2.2.3 系统流程图NN结束是否继续?显示结果进行运算选择需要进行的运算类型输入数字选择要进行的运算符号Y开始Y2.2.4 界面设计系统主界面四则运算界面特殊运算界面2.3【详细设计】基于系统需求分析与系统总体设计的结论,本系统采用Visua
3、l C+实现各模块的功能。下面按照模块的划分来分别阐述系统的详细设计和实现过程。2.3.1 模块描述(1)显示界面模块为系统提供类似于菜单的功能,让用户输入要操作的运算类型的数字代码,并进入相应的功能执行程序,显示相应界面。(2)数学计算模块中,根据用户选择的运算类型和运算符号,自动调用相应的函数,运行相关程序,进行计算,并显示结果。(3)退出程序模块。根据用户的需要,选择是否退出程序。2.3.2 系统头文件#include /* I/Q函数 */#include /* 数学函数的定义 */#include /*屏幕操作函数*/#include /*库函数*/2.3.3 函数声明(1)主函数m
4、ain()功能:计算器功能选择界面输入:用户输入运算类型、退出程序的相应数字代码(1 四则运算,2 特殊运算,3 退出程序)处理: 根据用户输入的数字代码,跳转到相关功能函数输出:显示相应界面或退出程序程序清单(a)void main()char h;int a;double b;doprintf( 简单计算器 n);printf(*n);printf( 请输入要进行的运算 n);printf(-n);printf( 1 四则运算 n);printf( 2 特殊运算 n);printf( 3 退出程序 n);h=getche();switch(h) /*判断用户想要进行的操作*/case1:
5、/*输入1则调用四则运算函数*/ a=size(); printf(结果是: %d,a);break;case2: /*输入2则调用特殊运算函数*/b=teshu();printf(结果是:%f,b);break;case3: /*输入3则退出程序*/break;while(h!=3);(2)自定义函数size()功能:进行简单的加、减、乘、除四则运算输入:用户输入要计算的数字和运算符号(+、-、* 、/)处理:根据用户输入的运算符号,跳转到相关运算函数,并调用输出:运算结果和是否需要继续运算(y/n)程序清单(b)int size() /*定义四则(size)运算函数*/int n,m;in
6、t c;char l;int d;doprintf(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(nnt结果是 %dn,c);printf(n);break;case-: /*减法运算*/c=m-n;printf(nnt结果是 %dn,c);printf(n);break; case*: /*乘法运算*/c=
7、m*n; printf(nnt结果是 %dn,c);printf(n);break; case/: /*除法运算*/c=m/n;printf(nnt结果是 %dn,c);printf(n);break;for(d=0;d=;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();s
8、witch(l)case+: /*加法运算*/c=c+n; printf(nnt结果是 %dn,c);printf(n);break;case-: /*减法运算*/c=c-n;printf(nnt结果是 %dn,c);printf(n);break;case*: /*乘法运算*/ c=c*n;printf(nnt结果是 %dn,c);printf(n);break; case/: /*除法运算*/ c=c/n;printf(nnt结果是 %dn,c);printf(n);break;elseexit(l); /*如果得到的是n,则退出程序*/while(l!=n);return(c); /*返
9、回值*/(3)自定义函数teshu()功能:进行一些特殊的运算(余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底的指数运算、以10为底的对数运算)输入:用户输入要计算的数字和特殊运算方式的数字代码(1 余弦,2 正弦,3 正切,4 绝对值,5 平方根,6 以e为底的指数,7 以10为底的对数)处理:根据用户输入的数字代码,跳转到相关运算函数程序输出:运算结果和是否需要继续运算(y/n)程序清单(c)double teshu() /*定义(teshu)特殊运算函数*/double y;int n,m;char p;printf(-请选择特殊运算类型-);printf( 1 余弦 2 正
10、弦 3 正切 4 绝对值 n);printf( 5平方根 6 以e为底的指数 7 以10为底的对数 n);printf(n请输入您要计算的数并按Enter结束: );scanf(%d,&m); /*得到要进行运算的数*/printf(n请选择您要做的运算类型: );n=getche(); /*得到要做的运算*/ doswitch(n)case1:y=cos(m); /*余弦函数*/printf(nnt结果是: %fn,y);printf(n);break;case2:y=sin(m); /*正弦函数*/ printf(nnt结果是: %fn,y);printf(n);break;case3:y
11、=tan(m); /*正切函数*/ printf(nnt结果是: %fn,y);printf(n);break;case4:y=fabs(m); /*绝对值函数*/ printf(nnt结果是: %fn,y);printf(n);break;case5:y=sqrt(m); /*平方根函数*/ printf(nnt结果是: %fn,y);printf(n);break;case6:y=exp(m); /*底数为e的指数函数*/ printf(nnt结果是: %fn,y);printf(n);break;case7:y=log10(m); /*底数为10的对数函数*/ printf(nnt结果是: %fn,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【设计总结】本报告对简单计算器系统的分析、设计、实现的完整过程进行了介绍。专心-专注-专业
限制150内