C++设计一个简单的题库管理系统

主要功能如下:
①试题库管理:实现对试题库中试题信息的录入、修改、删除功能;
②考试功能:从试题库中随机抽取若干试题进行考试,并给出最终得分情况;
③试题统计:系统可根据实际情况进行扩展,如统计与某章节或某知识点有关的试题情况。
④系统可提供用户登录功能,实现对指定用户的考试。
⑤考虑到课程设计时间等条件,试题库首先应该满足选择题题型的基础上再考虑其它题型(如判断题、填空题等)。
.数据设计
表2-1 学生信息表
 数据项名称
数据项类型
数据项大小
必须填写
学号
文本
20

姓名
文本
20

性别
文本
2

年龄
数字
整型

专业
文本
20

班级
文本
20


数据项名称
数据项类型
数据项大小
必须填写
试题编号
文本
20

题干
文本
60

选择项A
文本
20

选择项B
文本
20

选择项C
文本
20

选择项D
文本
20

答案
文本
2

章节信息
文本
20

知识点
文本
20

要源代码,还要有类什么的,老师看这个,最好有解释,要不然讲不出来也要完了,后面的长串本来是一个表格,谁知道变成这个样子了,辛苦各位了,这周五就要查啦,帮帮忙,我说的有什么不明白的地方,问我就好了

//定义链表结构
typedef struct QUESTION 
{
 int index;    //题号
 char title[100];  //题目
 char A[30];    //选项A
 char B[30];    //选项B
 char C[30];    //选项C
 char D[30];    //选项D
 char answer[20];  //答案
 char chapter[20];  //章节知识点
 int score;    //分值
 int mark;    //用于标记是否删除 0已删除  1未删除
 struct QUESTION *next; //指向下一个节点指针
}QUESTION;
struct QUESTION *question = NULL;  //定义链表
int max = 0;    //当前链表长度
int rank = 0;    //权限标记  0是学生 1是教师
char name[20];
void InitFile();   //从文件中初始化读取题目
void SaveFile();   //将当前链表保存到文件
void GetTest();    //抽取题目组成试卷
void Del();     //删除题目
void Alter();    //修改题目
void Add();     //添加题目
void Search();    //搜索题目
void Sort();    //对题目进行排序,按题目名称升序排列
void Display();    //显示当前链表数据
void Menu();    //菜单
void InitRank();   //初始化权限
int main()
{
 int flag=0;   //用于标记用户的选择
 InitFile();   //启动时即从文件中初始化
 InitRank();
 while(1)   //死循环,直到用户选择0,退出程序
 {
  do 
  {
   Menu();
   scanf("%d",&flag);
  } while (flag<0||flag>8); //如果用户选择非法,则一直让用户重新输入
  switch(flag)    //分支,根据用户的选择进入不同的功能
  {
  case 1:
   if(rank)
   Add();
   else printf("你无权进行此操作。\n");
   break;
  case 2:
   Display();
   break;
  case 3:
   GetTest();
   break;
  case 4:
   if(rank)
   Del();
   else printf("你无权进行此操作。\n");
   break;
  case 5:
   Search();
   break;
  case 6:
   if(rank)
   Sort();
   else printf("你无权进行此操作。\n");
   break;
  case 7:
   if(rank)
   SaveFile();
   else printf("你无权进行此操作。\n");
   break;
  case 8:
   if(rank)
   Alter();
   else printf("你无权进行此操作。\n");
   break;
  case 0:
   printf("谢谢使用!\n");
   return 0;
  }
 }
 return 0;
}

给你贴上我做的,核心功能和框架都有了。

追问

谢谢,但好像和我要的有点差距啊,连class都没有,老师就看那个呀

追答

汗,如果需要用class的话,直接把struct改为class照样功能能用。
当然你愿意把函数封装进去也可以。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-07
你好!
要求的后面,没有看明白,私信联系吧追问

那一长串本来是个表格,不知道怎么变成这样啦?
说明:
(1)-:表示私有成员;
(2)+:表示共有成员;
(3)Password:string:表示成员变量的名称和类型;
(4)SetPassword():void:表示成员函数的名称、形参、返回值等。
其它类的说明可参考该样式,在类的设计中,可适当加入继承、函数及操作符重载等知识点。
还有就是这个要求啦,别的就没有了

相似回答