




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1. 题目与要求1 1.1 课程设计目的1 1.2本系统涉及的知识点1 1.3功能要求1 2课程设计的基本过程1 2.1 功能需求1 3.总 体 设计 1 3.1 系统模块机构框图1 3.2 功能模块框图2 3. 3系 统 流 程图 3 3. 4界 面 设 计 4 4. 详 细 设 计 5 4. 1模 块 描 述 5 4. 2系 统 头 文件 5 4. 3函 数 声 明 5 5. 程 序 测试 12 6. 设 计 总 结 1 2 6. 1谢 辞 1 2 6. 2参 考 文 献 1 2 1 1. 题目与要求1.1 课程设计目的(1)巩固和加深 c语言课程的基本知识的理解和掌握(2)掌握 c语言编
2、程和程序调试的基本技能(3)利用 c语言进行基本的软件设计(4)掌握书写程序设计说明文档的能力(5)提高运用 c语言解决实际问题的能力1.2 本系统涉及的知识点goto loop循环 switch选择语句嵌套return退出语句格式化输入和输出if 判断语句函数的调用2. 课程设计的基本过程课程设计的基本过程包括5 个步骤,即功能需求,总体设计,详细设计,程序测试,结论。每个步骤都有其特定的任务。2.1 功能需求功能概述:该软件为用户提供一个在windows 系统上运行的简单计算器,能进行简单的加、减、乘、除四则运算和一些常用特殊运算,包括余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e
3、 为底的指数运算、以10 为底的对数运算。3总体设计3.1 系统模块机构框图2 3.2 功能模块框图数学计算退出程序显示界面四则运算退出程序特殊运算加法运算减法运算乘法运算除法运算余弦运算正弦运算正切运算求绝对值求平方根以e为底的指数运算以10为底的对数运算简单计算器简单计算器3 3.3 系统流程图选择需要进行的运算类型输入数字选择要进行的运算符号y 开始进行运算显示结果是否继续?结束n y n 4 3.4 界面设计系统主界面四则运算界面5 特殊运算界面4. 详细设计基于系统需求分析与系统总体设计的结论,本系统采用visual c+ 实现各模块的功能。下面按照模块的划分来分别阐述系统的详细设计
4、和实现过程。4.1 模块描述(1)显示界面模块为系统提供类似于菜单的功能,让用户输入要操作的运算类型的数字代码,并进入相应的功能执行程序,显示相应界面。(2)数学计算模块中,根据用户选择的运算类型和运算符号,自动调用相应的函数,运行相关程序,进行计算,并显示结果。(3)退出程序模块。根据用户的需要,选择是否退出程序。4.2 系统头文件#include /* i/q函数 */ #include /* 数学函数的定义 */ #include /*屏幕操作函数 */ #include /*库函数 */ int size(); /*函数的定义 */ double teshu(); 4.3 函数声明(1
5、)主函数 main() 功能:计算器功能选择界面6 输入:用户输入运算类型、退出程序的相应数字代码(1 四则运算, 2 特殊运算, 3 退出程序)处理: 根据用户输入的数字代码,跳转到相关功能函数输出:显示相应界面或退出程序程序清单( a)void main() char h; int a; double b; do printf( 简单计算器 n); printf(*n); printf( 请输入要进行的运算 n); printf(-n); printf( 1 四则运算 n); printf( 2 特殊运算 n); printf( 3 退出程序 n); h=getche(); switch(
6、h) /*判断用户想要进行的操作*/ case1: /*输入 1 则调用四则运算函数 */ a=size(); printf(结果是 : %d,a); break; case2: /*输入 2 则调用特殊运算函数 */ b=teshu(); printf(结果是: %f,b); break; case3: /*输入 3 则退出程序 */ break; 7 while(h!=3); (2)自定义函数 size() 功能:进行简单的加、减、乘、除四则运算输入:用户输入要计算的数字和运算符号(+、-、* 、/ )处理:根据用户输入的运算符号,跳转到相关运算函数,并调用输出:运算结果和是否需要继续运算
7、(y/n )程序清单( b)int size() /*定义四则( size )运算函数 */ int n,m; int c; char l; int d; 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(nnt结果是 %dn,c); printf(n
8、); break; case-: /*减法运算 */ c=m-n; printf(nnt结果是 %dn,c); 8 printf(n); break; case*: /*乘法运算 */ c=m*n; printf(nnt结果是 %dn,c); printf(n); break; case/: /*除法运算 */ c=m/n; printf(nnt结果是 %dn,c); printf(n); break; for(d=0;d=999999;d+) printf(t 是否继续 ?(y/n):); /*是否继续运算 */ l=getche(); /*得到输入的值 */ printf(n); if(l
9、=y) /*如果得到的是y,则重复运算步骤,达到无限运算的作用 */ printf(n请输入下一个要计算的数并按enter 结束: ); scanf(%d,&n); printf(n请选择运算符号 t+t-t*t/t:); l=getche(); switch(l) case+: /*加法运算 */ c=c+n; printf(nnt结果是 %dn,c); printf(n); break; 9 case-: /*减法运算 */ c=c-n; printf(nnt结果是 %dn,c); printf(n); break; case*: /*乘法运算 */ c=c*n; printf(n
10、nt结果是 %dn,c); printf(n); break; case/: /*除法运算 */ c=c/n; printf(nnt结果是 %dn,c); printf(n); break; else exit(l); /*如果得到的是 n,则退出程序 */ while(l!=n); return(c); /*返回值 */ (3)自定义函数 teshu() 功能:进行一些特殊的运算(余弦运算、正弦运算、正切运算、绝对值、平方根运算、以 e 为底的指数运算、以10 为底的对数运算)输入:用户输入要计算的数字和特殊运算方式的数字代码(1 余弦,2 正弦,3 正切, 4 绝对值, 5 平方根, 6
11、以 e 为底的指数, 7 以 10 为底的对数)处理:根据用户输入的数字代码,跳转到相关运算函数程序输出:运算结果和是否需要继续运算(y/n )10 程序清单( c)double teshu() /*定义( teshu )特殊运算函数 */ double y; int n,m; char p; printf(-请选择特殊运算类型 -); printf( 1 余弦 2 正弦 3 正切 4 绝对值 n); printf( 5平方根 6 以 e为底的指数 7 以 10为底的对数 n); printf(n请输入您要计算的数并按enter 结束: ); scanf(%d,&m); /*得到要进行
12、运算的数 */ printf(n请选择您要做的运算类型: ); n=getche(); /*得到要做的运算 */ do switch(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=tan(m); /*正切函数 */ printf(nnt结果是 : %fn,y); printf(n); break; case4: 11 y=fabs(m); /*
13、绝对值函数 */ 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); 12 5. 程序测试系统主界面其他功能截图等6. 设计总结6.1 谢辞程序调试后无错误、警告,运行正常。通过这次 c 语言课程设计,我觉得自己知识还很欠缺,每种函数的功能还没有熟练掌握,特别是循环结构函数的应用还很欠缺,应用的时候感到力不从心,经多次调试后才运行正
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 前台如何转管理办法
- 女职工保护管理办法
- 加油卡使用管理办法
- 半成品摆放管理办法
- 注册建筑师管理办法
- 新能源台账管理办法
- 易爆品存储管理办法
- 新员工手册管理办法
- 村应急预案管理办法
- 奖励及抽成管理办法
- 2025年综合类-汽轮机检修-汽轮机运行与检修历年真题摘选带答案(5卷单选一百题)
- DB11-T 2469-2025 湿地碳汇计量监测技术规范
- “艾梅乙”感染者消除医疗歧视制度
- 2025年护理文书书写规范
- JJF(陕) 130-2025 气相分子吸收光谱仪校准规范
- 2025年安全产品行业市场需求分析报告及未来五至十年行业预测报告
- 2025年下半年江苏省南通市12345在线平台招聘重点基础提升模拟题带答案
- 2025至2030水质分析仪产业市场发展分析及前景趋势与投资管理报告
- 2025杭州辅警考试真题
- 糖尿病视网膜病变临床诊疗指南
- 护理质量指标课件
评论
0/150
提交评论