C语言课程设计报告简易计算器设计.doc

C语言课程设计报告简易计算器设计.doc

ID:61419137

大小:359.50 KB

页数:28页

时间:2021-01-28

C语言课程设计报告简易计算器设计.doc_第1页
C语言课程设计报告简易计算器设计.doc_第2页
C语言课程设计报告简易计算器设计.doc_第3页
C语言课程设计报告简易计算器设计.doc_第4页
C语言课程设计报告简易计算器设计.doc_第5页
资源描述:

《C语言课程设计报告简易计算器设计.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、《C语言课程设计》报告设计题目:简单计算器设计学院名称:电子与信息工程学院专业:计算机科学与技术班级:计科09-1姓名:朱凯迪学号19指导教师:宋宏图定稿日期:2010年03月10日一、设计题目简单计算器设计二、设计要求在功能上功能尽量模拟windows操作系统中的计算器,系统界面不做强制要求。三、设计目的①通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固《C语言程序设计》课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c

2、语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!②通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。四、设计思想及过程①由于需要使功能尽量模仿Windows下的计算器,而很多功能要以图形界面实现,故用BorlandC++Builder编写。所以用的是面向对象程序设计。但因为这是C语言的课程设计

3、,所以除了面向对象的使用以外,所有语法都是按照C语言的格式编写。②采用工程模式,文件包括calc.h(运算主函数头文件,包括各运算符的操作以及其辅助函数)、Main.h(窗体类的声明头文件)、Calc.cpp(工程初始化文件)、Main.cpp(代码主文件,包括各空间操作的函数)以及一些其它附属文件,包括dll动态链接库。③在参考了Windows里的计算器以后,决定在我的课程设计中实现:⒈0~9的数字输入功能(小数点除外)⒉实现加、减、乘、整除、取模、阶乘、位运算左移、x的y次方、与、异或、x立方、x平方运算

4、功能,二进制、八进制、十进制、十六进制转换功能,正负转换功能,退格、归零等功能。⒊数字显示最多为40位,超过即用科学表示法表示(例如1E50)。⒈运算时因最高能对5000位的数字进行运算,故所有功能建立在自行编写代码的高精度运算基础上。②在按键操作中,先判断用户按的是数字键还是功能键。功能键分运算符键、进制转换键以及清空键。然后记录下来用户当前的按键,然后对上次按的功能键键进行运算。如按了1、+、5,再按任何功能键即对1+5进行运算。如果按的是进制转换键,就记录当前进制,则在以后每次操作中,都将显示结果转换为

5、当前进制再显示。如:以下是按5以及*号时的函数代码void__fastcallTMainForm::bt_5Click(TObject*Sender)/*输入5*/{if(_lastKey==key_sym)initNum(&actNum);/*初始化当前动作数字*/if(_lastKey==key_sym&&nowSym=='N')/*如果最后的按键是符号而且按的是等号*/{initNum(&ans);/*让答案等于0*/lastSym='N';}incMed(&actNum,5);/*将活动数字加一位,并

6、且最后一位是5*/ShowText(actNum);/*显示当前活动数字*/_lastKey=key_num;/*记录最后按键为数字键*/}void__fastcallTMainForm::bt_mulClick(TObject*Sender)/*输入*号*/{doAns(&ans,actNum,&nowSym,'*',lastSym,_lastKey);/*↑做出上一步答案(不是按乘号这一步)*/ShowText(ans);/*显示答案*/lastSym=nowSym;/*现在即将运算的符号赋值给最后的符号

7、*/nowSym='*';/*将*号现在即将运算*/actNum=ans;/*将答案赋值给活动数字*///initNum(&actNum);_lastKey=key_sym;/*将最后的按键转换为符号按键*/}③对于高精度,采用结构体structhigh{intnum[MAXN];};的形式,数组的一个元素存一位。个位为num[1],将符号存在num[0]之中。⒈对于高精度加法,先判断两个数符号,如果为异号,则进行高精度减法,否则将各位逐个相加,然后逐位进位,返回答案即可。⒉对于高精度减法,先判断两个数符号,

8、如果为异号,则进行高精度加法,否则用大数减小数,逐个相减,然后逐位退位,判断符号、返回答案即可。⒈对于高精度乘法,用第二个数的各位乘以第一个数的各位。然后错位相加,相当于小学生摆竖式。最后将各位相乘的结果相加,逐位进位,判断符号、返回答案即可。⒉对于高精度整除,采用各位从0~9枚举形式,如果此位与0~9相乘刚好小于等于相应数字,则为此位答案为这个数。最后返回答案即可。⒊对于高精度取模,则只需求出高精

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。