简单计算器C语言专业课程设计方案报告书.doc
《简单计算器C语言专业课程设计方案报告书.doc》由会员分享,可在线阅读,更多相关《简单计算器C语言专业课程设计方案报告书.doc(16页珍藏版)》请在咨信网上搜索。
编号: 课程设计说明书 题 目: 简单计算器 院 (系): 信息和通信学院 专 业: 信息对抗 学生姓名: 孙浩宇 刘剑 学 号: 指导老师: 马杰 12 月 4 日 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.设计总结…………………………………………………12 6.1 谢辞………………………………………………………………12 6.2 参考文件…………………………………………………………12 1. 题目和要求 1.1 课程设计目标 (1)巩固和加深C语言课程基础知识了解和掌握 (2)掌握C语言编程和程序调试基础技能 (3)利用C语言进行基础软件设计 (4)掌握书写程序设计说明文档能力 (5)提升利用C语言处理实际问题能力 1.2 本系统包含知识点 Goto loop循环 switch选择语句嵌套return退出语句格式化输入和输出If判定语句 函数调用 2. 课程设计基础过程 课程设计基础过程包含5个步骤,即功效需求,总体设计,具体设计,程序测试,结论。每个步骤全部有其特定任务。 2.1 功效需求 功效概述:该软件为用户提供一个在windows系统上运行简单计算器,能进行简单加、减、乘、除四则运算和部分常见特殊运算,包含余弦运算、正弦运算、正切运算、绝对值、平方根运算、以e为底指数运算、以10为底对数运算。 3. 总体设计 3.1 系统模块机构框图 简单计算器 数 学 计 算 退 出 程 序 显 示 界 面 3.2功效模块框图 简单计算器 四则运算 退出程序 特殊运算 加法运算 减法运算 乘法运算 除法运算 余弦运算 正弦运算 正切运算 求绝对值 求平方根 以e为底指数运算 以10为底对数运算 3.3系统步骤图 N N 结束 是否继续? 显示结果 进行运算 选择需要进行运算类型 输入数字 选择要进行运算符号 Y 开始 Y 3.4界面设计 系统主界面 四则运算界面 特殊运算界面 4. 具体设计 基于系统需求分析和系统总体设计结论,本系统采取Visual C++实现各模块功效。下面根据模块划分来分别叙述系统具体设计和实现过程。 4.1 模块描述 (1)显示界面模块为系统提供类似于菜单功效,让用户输入要操作运算类型数字代码,并进入对应功效实施程序,显示对应界面。 (2)数学计算模块中,依据用户选择运算类型和运算符号,自动调用对应函数,运行相关程序,进行计算,并显示结果。 (3)退出程序模块。依据用户需要,选择是否退出程序。 4.2系统头文件 #include<stdio.h> /* I/Q函数 */ #include<math.h> /* 数学函数定义 */ #include<conio.h> /*屏幕操作函数*/ #include<stdlib.h> /*库函数*/ int size(); /*函数定义*/ double teshu(); 4.3函数申明 (1)主函数main() 功效:计算器功效选择界面 输入:用户输入运算类型、退出程序对应数字代码(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(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) 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("\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) 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); /*得到要进行运算数*/ 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'); } 5. 程序测试 系统主界面 其它功效截图等…… 6. 设计总结 6.1谢辞 程序调试后无错误、警告,运行正常。 经过这次c语言课程设计,我认为自己知识还很欠缺,每种函数功效还没有熟练掌握,尤其是循环结构函数应用还很欠缺,应用时候感到力不从心,经数次调试后才运行正常,初步尝试编写程序时出现了好多错误,发觉自己当初学函数和结构没有深入去研究,做这次课程设计花了一周多时间,数次翻阅书本和查资料,真发觉学习c语言在日常生活中,未来工作中很关键。这次c语言课程设计加强了我对c语言认识,使我明白程序软件开发不易。因为这是第一次进行设计,写汇报,难免会有部分细节注意不到或出现错误。请老师谅解。 6.2参考文件 关键参考《C语言程序设计》书本和上网查询具体函数利用。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 计算器 语言 专业课程 设计方案 报告书
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文