结对编程:对个人项目(试卷自动生成)的评价
时间:2019-09-19
本文章向大家介绍结对编程:对个人项目(试卷自动生成)的评价,主要包括结对编程:对个人项目(试卷自动生成)的评价使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
优点:
一、代码逻辑清晰,可读性高
1、从main函数中主要分为了三个部分:小学出题(number0)、初中出题(number1)、高中出题(number2)
number0: cout<<"****************当前选择为小学出题****************"<<endl; cout<<"请输入切换试卷类型或者生成试卷"<<endl; cout<<"command=>"; cin>>command; if(command=="切换为初中") { goto number1; } if(command=="切换为高中") { goto number2; } if(command=="生成试卷") { number4: cout<<"准备生成小学数学题目,请输入生成题目数量(10-30之内包含10和30)(输入-1将退出当前用户,重新登录):"; int number; cin>>number; if(number==-1) { goto number3; } else if(number>30||number<10) { goto number4; } else { string str=".\\"+name+"\\小学\\"+getTime()+".txt"; pri_ques(number,str); } cout<<"****************出题完成****************"<<endl; } }
(其他类似)
另外加入number3为退出登录节点,number4位重新输入数量节点
2、基于年级出题的函数,三个函数负责各年级出题。通过在for循环中依次为式子添加操作数以及符号,在一个循环中,加一个操作数,再加一个符号,同时写入文件。循环结束,式子完成写入文件。
二、巧妙设置符号随机出现
string high_symbol() { string ss; int x=rand()%3; if(x==0) { ss="sin"; } else if(x==1) { ss="cos"; } else if(x==2) { ss="tan"; } else if(x==3) { ss=""; } return ss; }
st1=high_symbol(); out<<st1;
通过设置0-3分别对应sin cos tan 以及 空,最后返回的st1也是这四种结果,可以使得在每一个操作数前都随机取一个st1,这样就实现了可能出现sin cos tan可能不出现的效果。这比我设置sin cos tan随机从式子中哪个位置开始出现方便得多。
三、代码运行速度快
与我代码相比较,何同学的代码一打开来就可以直接输入,而我的需要让程序加载一会,这也可能是因为他的代码更加详尽,通过牺牲代码长度换来代码运行速度。
缺点:
一、重复的代码块略多
由于代码思想的不同,何同学想的是一边生成一边写入,这就决定了在生成式子的函数中,初中高中无法直接调用小学函数,这也就导致初中高中需要把小学函数做的事情再做一遍。
二、查重部分较为复杂
还是因为是一边生成一边写入的方法,这会带来问题:即使这个式子重复了可是已经写入了。所以当重复时就需要先删除当前文件的最后一行,而删除文件的操作又是比较麻烦的。光是删除最后一行的操作就近乎100行。
原文地址:https://www.cnblogs.com/neti/p/11552628.html
- HUST 1585 排队
- 【QQ/微信个人号变身机器人】炸群+远程监控个人PC的尝试
- HUST 1583 长度单位
- FZU 2167 大王叫我来巡山呐
- HDU 1021 Fibonacci Again
- Hadoop数据分析平台实战——180Oozie工作流使用介绍离线数据分析平台实战——180Oozie工作流使用介绍
- 博弈论及算法实现
- Hadoop数据分析平台实战——160Sqoop介绍离线数据分析平台实战——160Sqoop介绍
- HDU 2186 悼念512汶川大地震遇难同胞——一定要记住我爱你
- Hadoop数据分析平台实战——150Flume介绍离线数据分析平台实战——150Flume介绍
- Codeforces 714A Meeting of Old Friends
- Code forces 719A Vitya in the Countryside
- Hadoop数据分析平台实战——190Highcharts介绍离线数据分析平台实战——190Highcharts介绍
- HUST 1555 A Math Homework
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法