四则运算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 ...
随机推荐
- 在maven项目中 配置代理对象远程调用crm
1 在maven项目中配置代理对象远程调用crm 1.1 在项目的pom.xml中引入CXF的依赖 <dependency> <groupId>org.apache.cxf&l ...
- Java 程序设计总复习题
Java程序设计总复习题 1.编写一个Java程序在屏幕上输出“你好!”. //programme name Helloworld.java public class Helloworld { pub ...
- IOS后台执行
大多数应用程序进入后台状态不久后转入暂停状态.在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除.应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务. 判断是否支持多线 ...
- yum 安装percona mysql 5.7
Mysql5.7安装准备 1.基础信息: (1)可参考官方文档[https://www.percona.com/doc/percona-server/5.7/installation/yum_repo ...
- pm2 服务器命令
1..配置日志文件路径 命令:pm2 start /home/admin/node/fotonIp/bin/www --name ip -i 4 -o "/app/node/logs ...
- 开启PHP-LDAP
LDAP简介: LDAP(Lightweight Directory Access Protocol)的意思是"轻量级目录访问协议",是一个用于访问"目录服务器" ...
- JavaScript方法中this关键字使用注意
问题来源 本文是基于廖雪峰老师JavaScript课程中的方法一节以及阮一峰老师JavaScript 的 this 原理 所记. 首先,我们了解一下JavaScript中的方法:在一个对象中绑定函数, ...
- 自动化运维工具——ansible剧本playbook(三)
一.Playbook--Ansible剧本 playbook是由一个或多个 "play"组成的列表 play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的ta ...
- web前端使用localstorage、sessionstorage、cookie增删获方法
今天主要的学习内容是cookie与本地储存的知识, 在HTML5中,本地存储是一个window的属性,包括localStorage和sessionStorage,从名字应该可以很清楚的辨认二者的区别, ...
- 解决Linux使用php命令 -base comment not found并安装composer
获取php的安装目录 使用 find / -name php.ini 查看php的安装位置 /usr/local/php/lib/php.ini # cd 到/usr/local/php/lib/ph ...