四则运算UI组结对作业报告
- Github提交地址:
- 小组成员:陈兆庭,陈昶金;
一、编程阶段
- 清明节开始接触和调研关于UI设计的方法。由于两人的各方面知识储备均不足,在各种东西C#、MFC、Qt中进行调查和讨论,最终因为网上说Qt简单易学、方便、上手快等特点,我们最终选择了Qt作为开发工具。
- 在清明节的最后一天开始安装和学习Qt。由于Qt比较大安装废了不少时间。在看到Qt的拖拽设计功能后一度以为剩下的事很简单了。但是由于网上的资料零碎不成系统,加上我们C++基础很差,在接下来的几天里进展异常缓慢,完全搞不懂Qt的运行套路和编程基本思想,各个控件的各种属性、信号、槽函数的关系也把我们搅成了一团乱麻。这时候听到延期的消息我们就理所当然地弃疗复习信号与系统期中了。。。。
- 期中考完后我们通过《Qt5开发及实例》和网站上较为系统的教程重新学习Qt,加上老师上课展示的一些东西,我们大概对写程序的思路和功能实现方法有了一些概念。在大致写完界面后,我们进行了使用DLL的尝试。从13号晚到14号晚,整整一天的时间,才通过非常麻烦的显式调用用上了DLL,因为隐式调用会出各种bug。14号晚到15号进行对接。
二、界面细节
第一行为参数设置,包含了生成表达式所需的大部分参数,以及计时器设置。点击开始即可进行一轮答题。若输入参数不符合规范则会弹出错误提示框如下图:
- 第二行左边显示算式,等号右边输入答案。点提交会结束倒计时并在下面的大框中输出正确与否、剩余题目等提示信息。点击next开始倒计时并显示下一题。若题目做完则会显示此次练习的分数。
- 点击历史、错题、历史成绩将分别在大框中显示相应信息。
三、psp表格
四、遇到的困难及bug
- 不会C++,看Qt的各种类、各种调用,都一头雾水。现在也只是能试着用而已,实际上要求稍高的UI仍然不会写。
- 在Qt的编程套路上卡了很久,后来基本把他理解成了stm32的中断。
- 在dll上卡了一天,最后好像是因为编译器不支持隐式调用,想换个编译器又老出问题,最后就用了特别麻烦的显式调用,然而函数名又会有奇奇怪怪的变化,真是一坑更比一坑深。
五、收获和反馈
这次结对作业的经历非常恼火,但最后还是大概做出来了。我承认人是非常之贱的生物,这次编程让我想起了卢俊义被“骗”上梁山的事。有人先给了你一巴掌,再给你一颗糖,你最后会觉得结局是甜的。这大概最能描述我此刻的心情了。这次实验的收获简单直接,就是对UI编程有了最简单的一些了解,会用Qt进行一些基础的界面设计。但是也有很多问题:
- 知识零碎,不系统。大部分东西都是照搬网上的东西,谈不上什么设计、思想,与其说在练程序设计,不如说是在学习工具。个人喜欢非常系统清晰的学习方法,而不是这种加减还没学会就开始学乘除的做法。
- 有限的知识和过量的投入。网上的东西良莠不齐,对一个完全没有辨别能力的小白来说,从这些海量资料里面抽取出有用信息实在太费劲了。我觉得老师和助教应该适当提供参考解决方案、学习资料的东西。比如前两学期的电子设计实践,也是英才班课程,我们也没有基础,但是助教会提供例程、模块手册和相应的电路知识讲解,而不是单纯的只抛出任务和要求。如果老师上周四的东西能在布置结对作业的时候就讲,我们入门的速度会快很多。
- 关于结对编程。两个人讨论着解决问题确实比一个人块多了。但在确定了大致思路和方法后,两个人对实现细节的讨论反而会拖慢进度。感觉这时候倒不如一个人写,另一个只在必要的时候给出提示比较好。至于走上工作岗位后,我还没有概念,也不知道会遇见什么样的队友。
- 以上观点仅站在一个小白的立场上发表,个人表示生活在软工班的底层是一件挺难受的事。当然这也只能怪自己,语言和软件的知识面太狭窄,课余没有了解过更高级的语言和各种操作。
- 关于今后的团队作业。各成员除明确分工外,还要商量好各种对接方式。写完了又改是很烦的事。
四则运算UI组结对作业报告的更多相关文章
- Core 第三组 结对作业——四则运算 Part1. Core代码编写
结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- 【第二次个人作业】结对作业Core第一组:四则运算生成PB16061082+PB16120517
[整体概况] 1.描述最终的代码的实现思路以及关键代码. 2.结对作业两个人配合的过程和两个人分工. 3.API接口文档和两个组的对接. 4.效能分析,优化分析和心得体会. [代码实现] 一. 实现功 ...
- UI-12组结对编程作业总结
UI-12组结对编程作业总结 源码Github地址 https://github.com/tilmto/TILMTO/tree/master/Arithmetic 作业摘要 本次结对编程作业分为以下两 ...
- 结对作业——四则运算 Part2. 封装与对接相关问题
结对作业——四则运算 Part2. 封装与对接相关问题 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分Part 2. ...
- 结对作业_core组
github地址:https://github.com/ljw-wakeup/expression_project2 对于这种结对的工作,由于有过电子设计实践的基础,大概知道建一个工程需要做的事,有点 ...
- 结对作业——web四则运算
目录: 一.Coding.net项目地址 二.PSP 三.接口设计 四.接口实现 五.性能分析 六.单元测试 七.异常处理 八.模块设计 九.模块对接 十.结对 十一.思考 十二.PSP 网站:htt ...
- 小学四则运算结对项目报告(GUI)
小学四则运算结对项目报告(GUI) 一.Coding.Net项目地址: https://git.coding.net/wsshr/Calculation.git 二.PSP表格(完成前): PSP 任 ...
- 结对作业——四则运算 Part3. 对于结对编程的总结与思考
结对作业——四则运算 Part3. 对于结对编程的总结与思考 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分 Part ...
随机推荐
- Copy Failed Error Access to fobidden
使用SVN的branch/tag命令来切包时,报出了一下错误提示 就这个错误,调了整整一天,如果你也遇到了类似问题,我真心希望下面解决问题的过程能帮助到你:D 解决过程: 1.网上查了很多帖子,发现跟 ...
- Linux 开启关闭防火墙
开放防火墙端口添加需要监听的端口 /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT/sbin/iptables -I INPUT -p tcp ...
- java常用 开源
http://sourceforge.nethttp://code.google.com/hosting/http://www.open-open.com/code/tags/Javahttp://w ...
- mysql查看版本,编码
SELECT * FROM gps_gpsinfo t WHERE t.reportdate < TO_DATE('2019/4/28 10:05:07', 'yyyy-MM-dd hh24:m ...
- 博学谷-数据分析numpy
import numpy as np print np.version.version np.array([1,2,3,4]) np.arange(15) np.array(range(10)) = ...
- swoole 连接池
proxy_pool.php <?php class ProxyServer { protected $frontends; protected $backends; /** * @var sw ...
- web前端-回调函数sort详解
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- html5支持drag的拖放排序插件sortable.js
html5支持drag的拖放排序插件sortable.js <script src="//cdnjs.cloudflare.com/ajax/libs/Sortable/1.5.1/S ...
- Python3爬取人人网(校内网)个人照片及朋友照片,并一键下载到本地~~~附源代码
题记: 11月14日早晨8点,人人网发布公告,宣布人人公司将人人网社交平台业务相关资产以2000万美元的现金加4000万美元的股票对价出售予北京多牛传媒,自此,人人公司将专注于境内的二手车业务和在美国 ...
- Python开发不可不知的虚拟环境
一.python3.3之后自带的venv模块 1. 创建虚拟环境 python3.6 -m venv project-env 2. 加入虚拟环境目录 cd pronject-env 3. 激活虚拟环境 ...