zoukankan      html  css  js  c++  java
  • 面向对象程序设计 第六次作业

    写在开头

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

    或许这就是程序猿的宿命吧,代码你是我的财富,是我的快乐,是我的情人,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,我会后续慢慢完善。


    界面图

  • 相关阅读:
    [zt]Delphi API HOOK完全说明(存在错误的原文,含修正)
    【zt】delphi线程类
    Oracle:《ITPUB名人堂》第3期-对话嘉宾:张乐奕先生
    Oracle10g 预定义主要角色
    Oracle如何根据物化视图日志快速刷新物化视图
    Oracle:《ITPUB名人堂》第1期采访谭怀远先生圆满结束
    Asktom: Lock
    Oracle:Commit Enhancements in Oracle 10g Database Release 2
    Oracle在线归档重做日志概念分析
    DBMS_LOB.LOADFROMFILE
  • 原文地址:https://www.cnblogs.com/Mrwho1/p/5561338.html
Copyright © 2011-2022 走看看