- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言课程设计(简易计算器设计)带所有代码
《C语言课程设计》报告
设 计 题 目: 简单计算器设计
学 院 名 称: 电子与信息工程学院
专 业: 计算机科学与技术
班 级: 计科
姓 名: 学 号
指 导 教 师:
定稿日期: 2013-5-28
设计题目
简单计算器设计
设计要求
在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。C语言程序设计》课程学习的内容,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!
通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。
设计思想及过程
由于需要使功能尽量模仿Windows下的计算器,而很多功能要以图形界面实现,故用Borland C++ Builder编写。所以用的是面向对象程序设计。但因为这是C语言的课程设计,所以除了面向对象的使用以外,所有语法都是按照C语言的格式编写。
采用工程模式,文件包括calc.h(运算主函数头文件,包括各运算符的操作以及其辅助函数)、Main.h(窗体类的声明头文件)、Calc.cpp(工程初始化文件)、Main.cpp(代码主文件,包括各空间操作的函数)以及一些其它附属文件,包括dll动态链接库。
在参考了Windows里的计算器以后,决定在我的课程设计中实现:
0~9的数字输入功能(小数点除外)
实现加、减、乘、整除、取模、阶乘、位运算左移、x的y次方、与、异或、x立方、x平方运算功能,二进制、八进制、十进制、十六进制转换功能,正负转换功能,退格、归零等功能。
数字显示最多为40位,超过即用科学表示法表示(例如1E50)。
运算时因最高能对5000位的数字进行运算,故所有功能建立在自行编写代码的高精度运算基础上。
在按键操作中,先判断用户按的是数字键还是功能键。功能键分运算符键、进制转换键以及清空键。然后记录下来用户当前的按键,然后对上次按的功能键键进行运算。如按了1、+、5,再按任何功能键即对1+5进行运算。如果按的是进制转换键,就记录当前进制,则在以后每次操作中,都将显示结果转换为当前进制再显示。
如:以下是按5以及*号时的函数代码
对于高精度,采用结构体struct high{int num[MAXN];};的形式,数组的一个元素存一位。个位为num[1],将符号存在num[0]之中。
对于高精度加法,先判断两个数符号,如果为异号,则进行高精度减法,否则将各位逐个相加,然后逐位进位,返回答案即可。
对于高精度减法,先判断两个数符号,如果为异号,则进行高精度加法,否则用大数减小数,逐个相减,然后逐位退位,判断符号、返回答案即可。
对于高精度乘法,用第二个数的各位乘以第一个数的各位。然后错位相加,相当于小学生摆竖式。最后将各位相乘的结果相加,逐位进位,判断符号、返回答案即可。
对于高精度整除,采用各位从0~9枚举形式,如果此位与0~9相乘刚好小于等于相应数字,则为此位答案为这个数。最后返回答案即可。
对于高精度取模,则只需求出高精度整除,然后将数字减去整除的结果即可。
对于n阶乘,做n次乘法,每乘一次,乘数减一。
对于左移,虽然是建立在位运算基础上,但其效果只是乘以二,所以只需高精度乘以二即可。
对于x的平方、立方、y次方,只需将x高精度相乘2次、3次或者更多次即可。
对于与运算,先将两个数转换为二进制,然后对每位进行与运算,最后转换回十进制即可。
对于异或运算,原理同与运算。
对于进制转换,采用除n取余法。将其转换为相应进制。
对于清零键,按按键功能对actNum、ans、nowSym等变量清空或者减少一位
您可能关注的文档
- cmd命令DOS命令之netuse命令详解.doc
- CMMI生命周期模型选用指南.doc
- Clementine关联规则实验论文.doc
- CMOS电路.doc
- CiscoRV180W使用手册1.doc
- CNC代码及宏程式指令.doc
- CNG加气站安全预评价报告.doc
- Coffee Time学生文化交流中心 项目策划书.doc
- CMU200各功能模块的设置及测试基本操作.doc
- Cognos10安装配置手册.doc
- 2024-2030年中国核控制棒行业市场发展趋势与前景展望战略研究报告.docx
- 2024-2030年中国核电主管道行业市场现状供需分析及投资评估规划分析研究报告.docx
- 2024-2030年中国树脂浇注型变压器行业发展态势与应用前景预测报告.docx
- 2024高考政治一轮复习第二部分政治生活第一单元公民的政治生活第二课我国公民的政治参与教案.doc
- 2024_2025年高考生物一轮复习知识点练习第04章细胞的物质输入和输出必修1.docx
- 高中语文第一单元第2课诗两首__雨巷学案4新人教版必修1.doc
- 2024_2025学年高中政治第四单元认识社会与价值选择第十二课第三课时价值的创造与实现学案新人教版必修4.doc
- 环境监测设备项目可行性分析报告 .pdf
- 甘肃流量仪表项目实施方案 .pdf
- 湖南半导体项目实施方案 .pdf
文档评论(0)