对结对编程盟友的个人项目代码分析
因为我们同样是用C写的,所以可以更好的发现问题解决问题。
但是点开代码后发现,我们的代码风格完全不同,partner是用的面向对象的方法,而我用的是面向过程。
面向对象代码的有优缺点显而易见,优点是封装性更好,缺点是代码冗杂。
回到代码上来,第一步先去看主函数:
init为初始化函数我们就不多说了。
然后是login登陆函数,也是依次输入用户名和密码,判断是否输入正确。
之后是check_input函数,这个部分是可以切换用户或者输入题目数量,也是输入一个字符串判断。
接着也就是最重要的部分了,为出题部分,因为括号这部分是最难的部分,而这份代码却很完美的解决了这个问题,先确定操作数的运算顺序,然后往括号里放入操作数,再判断括号能不能去除。
因为要进行结对编程,而且要做出一个UI界面,所以代码不易过于复杂,我们目前打算将此代码中的出题部分移植到我的代码中去,然后用QT软件来做UI界面。
结对编程里面有几个难点,一是注册登陆这一块,因为可能有较多人注册,我们需要将所有注册的人的用户名和密码存在一个文件当中,每次都需要遍历这个文件,会导致越来越慢,但我们还没有想到一个更好的方法来存储用户名和密码。第二个难点就是生成的题目需要有四个选项,这意味着我们需要将我们生成的题目计算出来,而我们的题目使用字符串来表示的,在计算这一块还需要我们将字符串转化为int型,然后再进行计算,还是就是像1/3这种无法除尽的分数和根号2这种肯定不能用小数来表示,这是算法方面的问题。我们暂时也没有很好的解决办法。
不过我们还是希望先做出一个简易的UI界面后,再考虑更深层次的算法问题。
转载于:https://www.cnblogs.com/wsh0704/p/11551522.html
对结对编程盟友的个人项目代码分析相关推荐
- [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(5)(IEnumerable补充)
Asp.net 5的依赖注入注入系列可以参考链接: [Asp.net 5] DependencyInjection项目代码分析-目录 我们在之前讲微软的实现时,对于OpenIEnumerableSer ...
- [Asp.net 5] DependencyInjection项目代码分析-目录
微软DI文章系列如下所示: [Asp.net 5] DependencyInjection项目代码分析 [Asp.net 5] DependencyInjection项目代码分析2-Autofac [ ...
- [Asp.net 5] DependencyInjection项目代码分析4-微软的实现(2)
在 DependencyInjection项目代码分析4-微软的实现(1)中介绍了"ServiceTable"."ServiceEntry"."IGe ...
- 20189200余超 2018-2019-2 移动平台应用开发实践作项目代码分析
20189200余超 2018-2019-2 移动平台应用开发实践作项目代码分析 项目名称 小说阅读器 项目功能 注册登录 用户信息.用户密码.用户图像修改 书籍分类 书架 书籍搜索(作者名或书籍名) ...
- 敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(下)
这是松结对编程的第23篇(专栏目录). 接上文,45分钟后-- 新的筛选效果 现在需要在下拉框上加上两排新的筛选项(更早和更晚): 师傅本人可以在45分钟完成(实测),但如果直接交给徒弟维护(或师傅离 ...
- 敏捷开发松结对编程系列:L型代码结构案例StatusFiltersDropdownList(上)
这是松结对编程的第21篇(专栏目录). 本文以一个完整案例展示代码分层及在松结对编程组中师傅与徒弟的分工. 松结对编程(以及结对编程.代码审查--等)是最末级的管理实践,其实施过程必须与工程实践相结合 ...
- 结对编程前对队友程序的分析与对比总结
目录 1. 项目需求 1.1 项目名称 1.2 用户 1.3 功能 2. 对队友程序的分析 2.1 主要流程分析 2.2 主要函数分析 2.3 优点 2.4 缺点 3. 与自己的程序比较 4. 个人项 ...
- 团队项目代码分析(Android游戏:别踩白块儿)
代码组成部分: 关键代码主要分为三大部分,如下图所示(用思维导图的形式展示): 代码调用关系 通过MainActivity调用其他类❤,具体见核心代码分析! 核心代码分析 public class P ...
- java rcp 开发 eclipse_Eclipse RCP开发(三):RCP项目代码分析
plugin.xml Eclipse默认用plugin manifest editor打开plugin.xml,主要有如下几个标签页: 1)Overview 显示项目基本信息,其中Test区域的按钮可 ...
- 2021SC@SDUSC HBase(六)项目代码分析——Region机制(三)之Region定位
2021SC@SDUSC 目录 一.初步认识region定位 Meta表 Region定位 二.Region定位 总结 一.初步认识region定位 在 HBase 中,表的所有行都是按照 RowKe ...
最新文章
- centos把mysql移到数据盘_Centos转移Mysql的数据位置
- 在ASP.NET MVC中使用IIS级别的URL Rewrite
- LeetCode——Contains Duplicate III
- PHPCMS中GET标签概述
- SQL server 2005服务器备份文件的强制还原后引起的孤立用户问题解决方法
- tomcat部署项目
- 【洛谷P4445 【AHOI2018初中组】报名签到】
- 如何实现 OpenAPI 多语言 SDK 开发?
- ready与load的区别
- P2617-Dynamic Rankings【树套树】
- SpringBoot快速入门Demo
- calling '**' with incomplete return type
- spring boot注解_Spring-boot(二)注解
- Failed to start LSB: start and stop MariaDB
- 物联网设备数量激增,续航难题该如何解决?
- 智能一代云平台(十九):选修课---类似秒杀的高并发业务
- JS对List集合进行排序
- 打通最后100米:苏宁小店如何成为家门口的“共享冰箱”
- 需要密码才能打开的word文件
- Vue.js :使用LODOP打印表格文件
热门文章
- 【一分钟解决】Matplotlib 中英文混排多字体设置问题
- 日语——动词的各种变形
- JSHOP2详细使用教程 -- 原创
- 数字化模型是工业PaaS平台的核心
- matlab定义sliced类型,Sliced Variables
- Linux系统中的磁盘格式
- graphql java如何使用_graphql-java使用手册:part10 如何落地应用(Application concerns)...
- 安卓终端模拟器运行PHP,ROOT用户福利:安卓终端模拟器简述及命令行入门!
- CompletableFuture模拟复杂场景使用测试。。。
- 802.11 Tx Rate Control