• Github提交地址:
  • 小组成员:陈兆庭,陈昶金;

一、编程阶段

  1. 清明节开始接触和调研关于UI设计的方法。由于两人的各方面知识储备均不足,在各种东西C#、MFC、Qt中进行调查和讨论,最终因为网上说Qt简单易学、方便、上手快等特点,我们最终选择了Qt作为开发工具。
  2. 在清明节的最后一天开始安装和学习Qt。由于Qt比较大安装废了不少时间。在看到Qt的拖拽设计功能后一度以为剩下的事很简单了。但是由于网上的资料零碎不成系统,加上我们C++基础很差,在接下来的几天里进展异常缓慢,完全搞不懂Qt的运行套路和编程基本思想,各个控件的各种属性、信号、槽函数的关系也把我们搅成了一团乱麻。这时候听到延期的消息我们就理所当然地弃疗复习信号与系统期中了。。。。
  3. 期中考完后我们通过《Qt5开发及实例》和网站上较为系统的教程重新学习Qt,加上老师上课展示的一些东西,我们大概对写程序的思路和功能实现方法有了一些概念。在大致写完界面后,我们进行了使用DLL的尝试。从13号晚到14号晚,整整一天的时间,才通过非常麻烦的显式调用用上了DLL,因为隐式调用会出各种bug。14号晚到15号进行对接。

二、界面细节

  • 第一行为参数设置,包含了生成表达式所需的大部分参数,以及计时器设置。点击开始即可进行一轮答题。若输入参数不符合规范则会弹出错误提示框如下图:

  • 第二行左边显示算式,等号右边输入答案。点提交会结束倒计时并在下面的大框中输出正确与否、剩余题目等提示信息。点击next开始倒计时并显示下一题。若题目做完则会显示此次练习的分数。
  • 点击历史、错题、历史成绩将分别在大框中显示相应信息。

三、psp表格

四、遇到的困难及bug

  • 不会C++,看Qt的各种类、各种调用,都一头雾水。现在也只是能试着用而已,实际上要求稍高的UI仍然不会写。
  • 在Qt的编程套路上卡了很久,后来基本把他理解成了stm32的中断。
  • 在dll上卡了一天,最后好像是因为编译器不支持隐式调用,想换个编译器又老出问题,最后就用了特别麻烦的显式调用,然而函数名又会有奇奇怪怪的变化,真是一坑更比一坑深。

五、收获和反馈

这次结对作业的经历非常恼火,但最后还是大概做出来了。我承认人是非常之贱的生物,这次编程让我想起了卢俊义被“骗”上梁山的事。有人先给了你一巴掌,再给你一颗糖,你最后会觉得结局是甜的。这大概最能描述我此刻的心情了。这次实验的收获简单直接,就是对UI编程有了最简单的一些了解,会用Qt进行一些基础的界面设计。但是也有很多问题:

    1. 知识零碎,不系统。大部分东西都是照搬网上的东西,谈不上什么设计、思想,与其说在练程序设计,不如说是在学习工具。个人喜欢非常系统清晰的学习方法,而不是这种加减还没学会就开始学乘除的做法。
    2. 有限的知识和过量的投入。网上的东西良莠不齐,对一个完全没有辨别能力的小白来说,从这些海量资料里面抽取出有用信息实在太费劲了。我觉得老师和助教应该适当提供参考解决方案、学习资料的东西。比如前两学期的电子设计实践,也是英才班课程,我们也没有基础,但是助教会提供例程、模块手册和相应的电路知识讲解,而不是单纯的只抛出任务和要求。如果老师上周四的东西能在布置结对作业的时候就讲,我们入门的速度会快很多。
    3. 关于结对编程。两个人讨论着解决问题确实比一个人块多了。但在确定了大致思路和方法后,两个人对实现细节的讨论反而会拖慢进度。感觉这时候倒不如一个人写,另一个只在必要的时候给出提示比较好。至于走上工作岗位后,我还没有概念,也不知道会遇见什么样的队友。
    4. 以上观点仅站在一个小白的立场上发表,个人表示生活在软工班的底层是一件挺难受的事。当然这也只能怪自己,语言和软件的知识面太狭窄,课余没有了解过更高级的语言和各种操作。
    5. 关于今后的团队作业。各成员除明确分工外,还要商量好各种对接方式。写完了又改是很烦的事。

四则运算UI组结对作业报告的更多相关文章

  1. Core 第三组 结对作业——四则运算 Part1. Core代码编写

    结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...

  2. 结对作业——随机生成四则运算(Core 第7组)

    结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...

  3. 【第二次个人作业】结对作业Core第一组:四则运算生成PB16061082+PB16120517

    [整体概况] 1.描述最终的代码的实现思路以及关键代码. 2.结对作业两个人配合的过程和两个人分工. 3.API接口文档和两个组的对接. 4.效能分析,优化分析和心得体会. [代码实现] 一. 实现功 ...

  4. UI-12组结对编程作业总结

    UI-12组结对编程作业总结 源码Github地址 https://github.com/tilmto/TILMTO/tree/master/Arithmetic 作业摘要 本次结对编程作业分为以下两 ...

  5. 结对作业——四则运算 Part2. 封装与对接相关问题

    结对作业——四则运算 Part2. 封装与对接相关问题 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分Part 2. ...

  6. 结对作业_core组

    github地址:https://github.com/ljw-wakeup/expression_project2 对于这种结对的工作,由于有过电子设计实践的基础,大概知道建一个工程需要做的事,有点 ...

  7. 结对作业——web四则运算

    目录: 一.Coding.net项目地址 二.PSP 三.接口设计 四.接口实现 五.性能分析 六.单元测试 七.异常处理 八.模块设计 九.模块对接 十.结对 十一.思考 十二.PSP 网站:htt ...

  8. 小学四则运算结对项目报告(GUI)

    小学四则运算结对项目报告(GUI) 一.Coding.Net项目地址: https://git.coding.net/wsshr/Calculation.git 二.PSP表格(完成前): PSP 任 ...

  9. 结对作业——四则运算 Part3. 对于结对编程的总结与思考

    结对作业——四则运算 Part3. 对于结对编程的总结与思考 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分 Part ...

随机推荐

  1. HDU5152 线段树 + 数论

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5152 ,线段树区间更新 + 点更新 + 数论知识(数论是重点QAQ),好题值得一做. BestCode ...

  2. 小记:iOS 中一般对于 view 不依赖 model 的的两种代码书写形式

    一. 前言 对于在 MVC 的定义中,view 层是不引用 model 层,view 和 model 是不相往来的 一般开发中,我们都写过 在自定义 view 中增加一个 model 的属性,外接直接 ...

  3. Android(java)学习笔记77:Android中assets文件夹资源的访问

    Android资源文件分类: Android资源文件大致可以分为两种: 第一种是res目录下存放的可编译的资源文件: 这种资源文件系统会在R.java里面自动生成该资源文件的ID,所以访问这种资源文件 ...

  4. oc引用计数原理-引用计数相关变化

    http://blog.csdn.net/null29/article/details/71191044 在 32 位环境下,对象的引用计数都保存在一个外部的表中,每一个对象的 Retain 操作,实 ...

  5. 从暴力匹配到KMP算法

    前言 现在有两个字符串:\(s1\)和\(s2\),现在要你输出\(s2\)在\(s1\)当中每一次出现的位置,你会怎么做? 暴力匹配算法 基本思路 用两个指针分别指向当前匹配到的位置,并对当前状态进 ...

  6. Python02 变量

    变量 因为Python是弱变量类型编程语言,所以变量赋值不需要类型声明. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建. 变量 ...

  7. vuex:使用思路总结

    1. vuex是什么? 是一种数据状态管理机制. 2.vuex的构成和作用: state: 存放需要被管理的属性的对象 getters: 方便在state中做集中处理,可以把state作为第一个参数 ...

  8. Oracle 数据处理

    1. 对维度按照度量值的排名进行统计得分,第一名100分,第二名99分,第三名98……可以先进行排名,然后用 得分值+1,减去排名既是所得分数. -- 建表 create table province ...

  9. 【转】C++ 值传递、指针传递、引用传递详解

    而关于值传递,指针传递,引用传递这几个方面还会存在误区, 所有我觉的有必要在这里也说明一下~ 下文会通过例子详细说明哦 值传递: 形参是实参的拷贝,改变形参的值并不会影响外部实参的值.从被调用函数的角 ...

  10. 读取properties的简单方法,使用@Configuration

    配置类代码如下 import org.springframework.beans.factory.annotation.Value; import org.springframework.contex ...