C语言课程设计报告【简易计算器设计】.pdfVIP

C语言课程设计报告【简易计算器设计】.pdf

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言课程设计报告【简易计算器设计】.pdf

本文由_死月贡献 doc文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 《C 语言课程设计》报告 设 学 专 班 姓 指 计 院 题 名 目: 称: 业: 级: 名: 师: 简单计算器设计 电子与信息工程学院 计算机科学与技术 计科 09-1 朱凯迪 学 号 19 宋 宏 图 导 教 定稿日期: 2010 年 03 月 10 日 一, 设计题目 简单计算器设计 二, 设计要求 在功能上功能尽量模拟 windows 操作系统中的计算器,系统界面不做强制要 求 . 三, 设计目的 ① 通过本项课程设计,可以培养独立思考, 综合运用所学有关相应知识的能 力 ,能更好的巩固《C 语言程序设计》课程学习的内容,掌握 工程软件设 计的基本方法 ,强化上机动手编程能力,闯过理论与实践相结合的难关! 更加了解了 c 语言的好处和 其可用性!同时增加了同学之间的团队合作精 神!更加也体会到以后在工作中团队合作 的重要性和必要性! ② 通过 C 语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的 程 序设计过程和技巧, 掌握基本的分析问题和利用计算机求解问题的能力, 具备初步的 高级语言程序设计能力.为后续各门计算机课程的学习和毕业 设计打下坚实基础. 四, 设计思想及过程 ① 由于需要使功能尽量模仿 Windows 下的计算器,而很多功能要以图形界面 实 现,故用 Borland C++ Builder 编写.所以用的是面向对象程序设计.但 因为这是 C 语言的课程设计,所以除了面向对象的使用以外,所有语法都 是按照 C 语言的格式编 写. ② 采用工程模式,文件包括 calc.h(运算主函数头文件,包括各运算符的操作 以 及其辅助函数),Main.h(窗体类的声明头文件),Calc.cpp(工程初始化文 件),Main.cp p(代码主文件,包括各空间操作的函数)以及一些其它附属文 件,包括 dll 动态链接库 . ③ 在参考了 Windows 里的计算器以后,决定在我的课程设计中实现: ⒈ 0~9 的 数字输入功能(小数点除外) ⒉ 实现加,减,乘,整除,取模,阶乘,位运算左移,x 的 y 次方,与, 异或,x 立方,x 平方运算功能,二进制,八进制,十进制,十六进制 转换功能 ,正负转换功能,退格,归零等功能. . ⒊ 数字显示最多为 40 位,超过即用科学表示法 表示(例如 1E50) 2 ⒋ 运算时因最高能对 5000 位的数字进行运算,故所有功能建立在自行编 写代 码的高精度运算基础上. ④ 在按键操作中,先判断用户按的是数字键还是功能键.功能键分运算符键, 进 制转换键以及清空键.然后记录下来用户当前的按键,然后对上次按的 功能键键进行运 算.如按了 1,+,5,再按任何功能键即对 1+5 进行运算. 如果按的是进制转换键,就记 录当前进制,则在以后每次操作中,都将显 示结果转换为当前进制再显示. 如:以下是 按 5 以及*号时的函数代码 ey == key_sym nowSym == N) /*如果最后的按键是符号而且按 的是等号*/ { page 1 动数字加一位,并且最后一位是 5*/ ShowText(actNum); /*显示当前活动数字*/ _la /*显示答案*/ lastSym = nowSym; /*现在即将运算的符号赋值给最后的符号*/ now Sym = *; /*将*号现在即将运算*/ actNum = ans; /*将答案赋值给活动数字*/ // 个元素存一位.个位为 num[1],将符号存在 num[0]之中. ⒈ 对于高精度加法,先判断 两个数符号,如果为异号,则进行高精度减 法,否则将各位逐个相加,然后逐位进位,返 回答案即可. ⒉ 对于高精度减法,先判断两个数符号,如果为异号,则进行高精度加 法 ,否则用大数减小数,逐个相减,然后逐位退位,判断符号,返回 3 答案即可. ⒊ 对于高精度乘法,用第二个数的各位乘以第一个数的各位.然后错 位 相加,相当于小学生摆竖式.最后将各位相乘的结果相加,逐位进位, 判断符号,返回 答案即可. ⒋ 对于高精度整除,采用各位从 0~9 枚举形式,如果

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档