• 需求
    用户:
    小学、初中和高中数学老师。
    功能:
    1、命令行输入用户名和密码,两者之间用空格隔开(程序预设小学、初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个。否则提示“请输入正确的用户名、密码”,重新输入用户名、密码;
    2、登录后,系统提示“准备生成XX数学题目,请输入生成题目数量(输入-1将退出当前用户,重新登录):”,XX为小学、初中和高中三个选项中的一个,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100;
    3、题目数量的有效输入范围是“10-30”(含10,30,或-1退出登录),程序根据输入的题目数量生成符合小学、初中和高中难度的题目的卷子(具体要求见附表)。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复(以指定文件夹下存在的文件为准,见5);
    4、在登录状态下,如果用户需要切换类型选项,命令行输入“切换为XX”,XX为小学、初中和高中三个选项中的一个,输入项不符合要求时,程序控制台提示“请输入小学、初中和高中三个选项中的一个”;输入正确后,显示“”系统提示“准备生成XX数学题目,请输入生成题目数量”,用户输入所需出的卷子的题目数量,系统新设置的类型进行出题;
    5、生成的题目将以“年-月-日-时-分-秒.txt”的形式保存,每个账号一个文件夹。每道题目有题号,每题之间空一行;
    6、个人项目9月28日早上8点以前提交至各自负责的助教处。提交方式:工程文件打包,压缩包名为“几班+姓名.rar”。

  • 对自己个人项目的总结:

1.这个个人项目,输入账号密码、切换题目类型等部分都不难,最难的部分是如何设置题目。在出题目这一部分,我选择用stringstream,就比如出小学题目,首先利用随机数生成一个操作数的数量n,之后加入我要生成“5+3*2”的题目,我们先把5放入stringstream ss中,然后再把“+”号放入,就这样依次放,最后再转换成字符串导出。初高中的也是如此,比如高中题目“cos5/2^2-tan1”,先把cos放入ss,之后是5,放完操作数以及操作数的变化,然后才把运算符加入。

  • 自己个人项目的优点:
    2.与用户交互的界面比较友好,如下图,该怎么操作只需按照提示即可,十分简单易懂,清晰明了。
    3.对于其他不符合规则的输入也有提示。

  • 自己个人项目的缺点:

1.没有使用类,用的是最低级的主函数调用其他函数体,而且这个工程量比以往的都大,所以我这里有函数疯狂调用其他函数,这其中的关系显得十分乱。
2.对于变量命名和函数体命名不够规范,其他人看不懂。

  • 队友的优点:

1.使用了类,建立了工程(主函数放一个cpp,使用的用户类头文件和函数分开放,生成问题地头文件和函数也分开放),使得这个项目各部分写了什么内容还有各部分之间的关系都一目了然。
2.代码写的很简洁,没有使用不必要的临时变量,只用了很少的代码就实现了要求的功能。
编码规范,全局变量以g_XX形式命名,局部变量以XX形式命名,函数以首字母大写形式命名,函数名和参数名具有一定的描述性。
代码的可重用性和可扩展性很好,对于要修改某个东西,只需要到对应部分修改即可,而不需大量地改。
3.注释简明易懂: 队友在必要的地方总会做出相应的注释。因为阅读别人的代码其实是一个难以理解的过程,而在关键代码处注明了一些注释,这就可以帮助团队中的其他成员更好的理解,进而提高完成工程的效率。
4.此外,队友还增加了一个很好的功能,当生成完一份试卷后,可以选择不退出继续生成(由于题目没做这个要求,我的只能生成一份试卷就要重新运行一次程序),这个功能在调试以及实际应用中十分实用。

  • 队友的缺点:
    1.与用户交互的界面太多文字,看起来有点乱,用户体验不是很好。
    2.对于某一些不规范的输入也得到结果。

个人项目:中小学数学卷子自动生成程序相关推荐

  1. 软件工程导论个人项目 -- 中小学数学卷子自动生成程序

    中小学数学卷子自动生成程序 1. 项目需求 1.1 项目名称 1.2 用户 1.3 功能 2. 程序分析 2.1 Teacher类 2.2 User类 2.2.1 头文件 2.2.2 主函数 2.2. ...

  2. 个人项目——中小学数学卷子自动生成程序

    个人项目 第一次接触这种项目,感觉很难却又有点好玩:第二次写博客,感觉这是一个好习惯,希望后面能够继续坚持,加油! 题目要求 用户:小学.初中和高中数学老师. 功能: 1.命令行输入用户名和密码,两者 ...

  3. 【java】个人项目:中小学数学卷子自动生成程序

    用户: 小学.初中和高中数学老师. 功能: 1.命令行输入用户名和密码,两者之间用空格隔开(程序预设小学.初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示"当前 ...

  4. 个人项目:中小学数学卷子自动生成程序——队友代码点评

    个人项目:中小学数学卷子自动生成程序--队友代码点评 今天开始了结对编程项目,在开展结对编程项目之前我们需要对队友编写的个人项目进行点评.在仔细阅读队友的整个工程的代码后,我有了以下观点. 题目需求 ...

  5. 中小学数学卷子自动生成程序

    本来是不打算写这个课程作业的博客的,但是后续结队编程又需要和队友相互交流代码,而我当时写代码的时候也没有过多的注释,为了我的结队队友".."能够更轻松的(至少不会想捶我)完成课程任 ...

  6. 结对编程分析——中小学数学卷子自动生成程序

    中小学数学卷子自动生成程序分析 本次课程任务要求我们在规定时间内完成一个可以自动生成中小学数学题目卷子的程序,用户为老师.主要是实现账户名密码的验证,账户的切换,根据账户类型生成不同难度的试题并查重. ...

  7. 中小学数学卷子自动生成程序--对结对编程队友的分析

    中小学数学卷子自动生成程序大致需求: 用户登录账号后系统根据类型生成小学.初中或者高中的卷子,在登陆状态下,可以切换为不同类型的卷子,也可注销登录. 该同学用java完成了中小学数学卷子自动生成程序, ...

  8. 中小学数学卷子自动生成程序——结队编程队友互相评价

    中小学数学卷子自动生成程序--结队编程队友互相评价 评价方面 中小学数学卷子自动生成程序--结队编程队友互相评价 基本功能实现 一.功能要求: 二.登录要求的实现 三,优缺点分析: 代码分析 一.代码 ...

  9. 【湖南大学个人项目】中小学数学卷子自动生成程序

    一.项目需求 命令行输入用户名和密码,两者之间用空格隔开(程序预设小学.初中和高中各三个账号,具体见附表),如果用户名和密码都正确,将根据账户类型显示"当前选择为XX出题",XX为 ...

最新文章

  1. [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
  2. 【CodeForces - 1027C】Minimum Value Rectangle (数学,公式化简,思维,卡常卡memset)
  3. tensorflow gpu安装_tensorflow-gpu安装配置
  4. Oracle创建表空间、用户、分配权限、导出、导入数据
  5. 算法思想——贪心(详细举例理解~)
  6. python可以管理操作系统吗_python之路——操作系统的发展史
  7. ToolBox系列工具之Detector
  8. python中怎样使用re模块_python如何导入re模块
  9. C#的yield return是怎么被调用到的?
  10. 实验吧——Recursive
  11. 视频剪辑,教你如何给视频水平翻转
  12. 文章标签设计方法,文章Tags数据库设计方法举例
  13. candence的图纸大小设置_关于无法修改图纸大小的问题
  14. dojo学习日记(6)——dojo/_base/fx的 fadeOut()方法
  15. 脚本基础(未完待续)
  16. 《微型计算机原理与接口技术》复习笔记(一)
  17. C语言预处理、宏定义
  18. UE4/UE5引擎 FPS游戏逆向工程
  19. Visual C++网络编程经典案例详解 第9章 实用播放器 数据读取与播放控制 识别数据文件信息
  20. 基于SSM框架的人力资源管理系统的设计实现(附源码、论文)

热门文章

  1. 知识分享:游戏音乐分类
  2. 1005:地球人口承载力估计(C C++)
  3. Vulhub靶场搭建
  4. 埋头工作就能触及 “ 宇宙真理 ”
  5. 潭州学院html学习(day04)
  6. 类静态数据成员的定义及初始化
  7. Beaglebone Black LCD 支持,BB VIEW配置
  8. 流量思维:拉新、留存、转化、裂变-运营设计(0)
  9. PHP快速入门01-初识PHP语言
  10. python 传感器数据结构_python奇遇记:数据结构窥探3