卷子自动生成程序
卷子自动生成程序
我们这次的作业是编写一个高中初中小学试卷自动生成程序,而我们同为一个寝室的搭档,所以对于这次的代码程序也作出了很多次的讨论,算法在大体上是一样的内容,不过在一些其他的东西上的处理方式有些许不同。
int StringToInt(string m_s) //将字符串转化为整型
string IntToString(int m_int) //将整型转化为字符串
这两个函数即为转换函数,因C++库中没有现成的,所以自己编写了。
string RandCharacter() //随机生成加减乘除四个字符
{
int m_n=rand()%4;
string m_s;
if(m_n==0) m_s="+";
else if(m_n==1) m_s="-";
else if(m_n==2) m_s="*";
else m_s="/";
return m_s;
}
string AddBracket(string m_s,int m_cnt
string AddJunior(string m_s)
string AddSenior(string m_s)
题目所需的随机生成即由rand()整除不同的数做到,不过他的每一个生成字符、添加括号等等都是写成一个函数,这样会更方便往后调用,如果只是一股脑的写在一起,往后则会有些许不方便。
void PrintQuestion(int m_qnum,string m_type,string m_id)
打印、查重函数,他这里是通过while循环来反复对比题库之中的题,使用字符串对比,最后再根据结果打印或是舍弃,与我大体一致。
class User
{
private:
string id;//用户名
string password;//密码
string type;//用户类型
public:
...}
他的类由于使用函数可能都会涉及,即写在了最下面,然后登录系统部分的函数也全写在了类里面,而因为题目给的是固定9个对象,他直接将9种情况默认入了类信息中,而不是去创建对象再赋给初值,这样往后可能无法做到注册信息等操作。
总体来说,除了最后类里面的函数结构有些固定化,其他的部分都是很优的,可以看出他的编程能力还是很强的,代码注释也很清晰,做的很好。