面向对象程序设计 第六次作业
写在开头
“要等到猴年马月,我才能有花不完的钱啊;要等到猴年马月,我才能找到自己的另一半啊;要等到猴年马月……”然而,在猴年马月的今天,我没有实现曾经的幻想,却迎来了人生中第一个较为完整的小项目的诞生!没错就是计算器= =
或许这就是程序猿的宿命吧,代码你是我的财富,是我的快乐,是我的情人,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
面向对象程序设计 第六次作业相关推荐
- C语言程序设计第六次作业——循环结构(2)
(一)改错题 序列求和:输入一个正实数eps,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + ... ,精确到最后一项的绝对值小于eps(保留6位小数). 输入输出样例: Input e ...
- 中国大学MOOC程序设计与算法(三):C++ 面向对象程序设计 第六周 多态 笔记 之 多态实例:魔法门之英雄无敌
第六周 多态 1.虚函数和多态的基本概念 2.多态实例:魔法门之英雄无敌 3.更多多态程序实例 4.多态的实现原理 5.虚析构函数.纯虚函数和抽象类 2.多态实例:魔法门之英雄无敌 游戏中有很多种怪物 ...
- 面向对象程序设计第三次作业
Github地址点这里 题目: Github地址点这里 题目: 代码: main.cpp 1 #include<iostream> 2 #include<string> 3 # ...
- PTA(三十)面向对象程序设计 第五章 作业 7-1 复数的比较 (30 point(s))
7-1 复数的比较 (30 point(s)) 题目描述: 建立一个复数类,实数和虚数是其私有数据成员.建立一个>(大于号)的运算符重载,比较两个复数间模的大小. 输入格式: 测试输入包含若干测 ...
- PTA(三十三)面向对象程序设计 第五章 作业 7-4 分钟秒钟的时间相减 (30 point(s))
7-4 分钟秒钟的时间相减 (30 point(s)) 题目描述: 定义一个时间类,分钟和秒钟是其两个私有成员数据.输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计 ...
- 《面向对象程序设计》
<面向对象程序设计> 课程大作业 目 录 ( 2021 / 2022学年 第二学期). 1 第一章 绪论. 1 1.1面向对象程序特点与目标. 1 1.2面向对象程序知识架构. 1 第 ...
- 2017福州大学面向对象程序设计课程作业六
作业链接 课程第六次作业统计完成,本次作业满分100分,统计结果如下: 学号 姓名 作业地址 分数 111500206 赵畅 http://www.cnblogs.com/ZCplayground/p ...
- C++面向对象程序设计大作业:魔兽世界(三):开战
C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...
- 2017《面向对象程序设计》寒假作业一
1.你有什么技能比大多人(超过70%以上)更好? 我看电影比一般人多一点点:我听英文歌比一般人多一点点:我有一把尤克里里和一个滑板.我有很多爱好,但都没能发展成我的特长,它们给我的生活增添了情趣,又不 ...
最新文章
- ValueError: invalid literal for int() with base 10: “ ”
- django mysql开发_【python-Django开发】Django 配置MySQL数据库讲解!!!
- 递归函数反向显示单链表
- 怎样设置左右两个区域_消防水炮设置区域高于22米效果怎样
- 【转】java string类的方法及说明
- 【linux杂谈】查看centOS系统的版本号和内核号
- 我10年来的学习和生活
- 王者荣耀服务器维护中有什么漏洞,王者荣耀:排位惊现漏洞,利用这个BUG一天上王者,三天登荣耀...
- sql server 2000 更改账户默认数据库
- PowerDesigner name与code同步问题
- Windows Server 2012 R2 Update 64位 MSDN原版
- DBeaver连接GBase数据库
- 标签传播算法(半监督图算法)
- 齐鲁工业大学计算机学院复试名单,齐鲁工业大学2019年硕士研究生拟录取名单公示...
- 如何修改VsCode的背景图片
- linux的ioctl函数实现
- 【无标题】adsa da das
- java笔记 方法_Java笔记-方法
- Linux关闭系统更新
- 企业中台最佳实践--阿里数据中台最佳实践(九)