写在开头

“要等到猴年马月,我才能有花不完的钱啊;要等到猴年马月,我才能找到自己的另一半啊;要等到猴年马月……”然而,在猴年马月的今天,我没有实现曾经的幻想,却迎来了人生中第一个较为完整的小项目的诞生!没错就是计算器= =

或许这就是程序猿的宿命吧,代码你是我的财富,是我的快乐,是我的情人,hold you ,i own the whole world....


参考资料

MFC计算器界面教程

MFC键盘响应

MFC文件对话框


仓库传送门click here


作业题目

本次作业在之前的基础上,要求做出计算机的图形界面,支持数字,符号,ESC,backspace以上输入,并且支持批量运算

关于过程

1、题目提供了两种实现界面的方案,MFC和QT,我反正都不是很了解,就选择了VS带有的MFC了,后来发现可能是一个很糟糕的决定。。因为听说用QT的同学都做得顺风顺水的,然而选择MFC的我却一路磕磕绊绊,真是道不尽的坎坷,泪只能默默心中留唉。

2、有了VS,搞MFC还是一脸懵逼的我,开始在网上找教程,计算器左半边按键的部分还是挺容易处理的,只需要将提供的工具箱按钮直接拖到界面,在显示框添加变量,代码部分对其简单操作即可,要注意的是MFC默认的VALUE型变量只支持CString,因此要注意先转化为std::string再进行操作。

3、接下来是响应键盘部分,小键盘上的数字键VK值很容易百度得到了,主键盘上的数字键VK值却找不到,后来刚好看到有人讨论这事,发现只需简单的直接引用就可以,幸运地节省了时间。

4、文件读入的问题个人感觉有些麻烦,要用到GetWindowText()函数解决,其次就是CEdit这个变量的处理和应用也是个难点,花了一定的时间才学会了部分用法,另外,我发现,freopen比c++的文件流操作效率高特别多,建议大家可以去尝试尝试,提高文件的运行速率。

另外,我在实际操作中的确还发现了几处bug,我会后续慢慢完善。


界面图

转载于:https://www.cnblogs.com/Mrwho1/p/5561338.html

面向对象程序设计 第六次作业相关推荐

  1. C语言程序设计第六次作业——循环结构(2)

    (一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...

  2. 中国大学MOOC程序设计与算法(三):C++ 面向对象程序设计 第六周 多态 笔记 之 多态实例:魔法门之英雄无敌

    第六周 多态 1.虚函数和多态的基本概念 2.多态实例:魔法门之英雄无敌 3.更多多态程序实例 4.多态的实现原理 5.虚析构函数.纯虚函数和抽象类 2.多态实例:魔法门之英雄无敌 游戏中有很多种怪物 ...

  3. 面向对象程序设计第三次作业

    Github地址点这里 题目: Github地址点这里 题目: 代码: main.cpp 1 #include<iostream> 2 #include<string> 3 # ...

  4. PTA(三十)面向对象程序设计 第五章 作业 7-1 复数的比较 (30 point(s))

    7-1 复数的比较 (30 point(s)) 题目描述: 建立一个复数类,实数和虚数是其私有数据成员.建立一个>(大于号)的运算符重载,比较两个复数间模的大小. 输入格式: 测试输入包含若干测 ...

  5. PTA(三十三)面向对象程序设计 第五章 作业 7-4 分钟秒钟的时间相减 (30 point(s))

    7-4 分钟秒钟的时间相减 (30 point(s)) 题目描述: 定义一个时间类,分钟和秒钟是其两个私有成员数据.输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计 ...

  6. 《面向对象程序设计》

    <面向对象程序设计> 课程大作业 目  录 ( 2021 / 2022学年 第二学期). 1 第一章  绪论. 1 1.1面向对象程序特点与目标. 1 1.2面向对象程序知识架构. 1 第 ...

  7. 2017福州大学面向对象程序设计课程作业六

    作业链接 课程第六次作业统计完成,本次作业满分100分,统计结果如下: 学号 姓名 作业地址 分数 111500206 赵畅 http://www.cnblogs.com/ZCplayground/p ...

  8. C++面向对象程序设计大作业:魔兽世界(三):开战

    C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...

  9. 2017《面向对象程序设计》寒假作业一

    1.你有什么技能比大多人(超过70%以上)更好? 我看电影比一般人多一点点:我听英文歌比一般人多一点点:我有一把尤克里里和一个滑板.我有很多爱好,但都没能发展成我的特长,它们给我的生活增添了情趣,又不 ...

最新文章

  1. ValueError: invalid literal for int() with base 10: “ ”
  2. django mysql开发_【python-Django开发】Django 配置MySQL数据库讲解!!!
  3. 递归函数反向显示单链表
  4. 怎样设置左右两个区域_消防水炮设置区域高于22米效果怎样
  5. 【转】java string类的方法及说明
  6. 【linux杂谈】查看centOS系统的版本号和内核号
  7. 我10年来的学习和生活
  8. 王者荣耀服务器维护中有什么漏洞,王者荣耀:排位惊现漏洞,利用这个BUG一天上王者,三天登荣耀...
  9. sql server 2000 更改账户默认数据库
  10. PowerDesigner name与code同步问题
  11. Windows Server 2012 R2 Update 64位 MSDN原版
  12. DBeaver连接GBase数据库
  13. 标签传播算法(半监督图算法)
  14. 齐鲁工业大学计算机学院复试名单,齐鲁工业大学2019年硕士研究生拟录取名单公示...
  15. 如何修改VsCode的背景图片
  16. linux的ioctl函数实现
  17. 【无标题】adsa da das
  18. java笔记 方法_Java笔记-方法
  19. Linux关闭系统更新
  20. 企业中台最佳实践--阿里数据中台最佳实践(九)

热门文章

  1. include 引号和尖括号的区别
  2. [postgresql] postgresql 安装
  3. Community Server配置对网址中的www信息处理功能分析 [转]
  4. appium的desired_caps参数
  5. 实现秒杀的几个想法(续)
  6. 【Python自动化运维之路Day2】
  7. Objective-C setter和getter
  8. 关于font-size对垂直居中影响的问题
  9. 【转】日服巫术online过驱动保护分析(纯工具)(工具+自写驱动)
  10. 流水线问题--计算机体系结构