C++单项选择题标准化考试系统 -课程设计报告.doc

上传人:精*** 文档编号:852791 上传时间:2023-09-16 格式:DOC 页数:18 大小:447.18KB
下载 相关 举报
C++单项选择题标准化考试系统 -课程设计报告.doc_第1页
第1页 / 共18页
C++单项选择题标准化考试系统 -课程设计报告.doc_第2页
第2页 / 共18页
C++单项选择题标准化考试系统 -课程设计报告.doc_第3页
第3页 / 共18页
C++单项选择题标准化考试系统 -课程设计报告.doc_第4页
第4页 / 共18页
C++单项选择题标准化考试系统 -课程设计报告.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、课程设计名称: 数据结构课程设计 设计题目: 单项选择题标准化考试系统 完成期限:自 2013 年 12 月 23日至 2013年 12 月 27 日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求 在本课程设计过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩。(3)学生在接受

2、设计任务后,首先要按设计任务书的要求编写设计进程表。(4)认真编写课程设计报告。三、设计内容1)问题描述设计一单项选择题标准化考试系统,实现考试的标准化管理。2) 基本要求功能要求:(1) 用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)(2) 试题录入:可随时增加试题到试题库中(3) 试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4) 答题:用户可实现输入自己的答案(5) 自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。四、参考文献1、王红梅,数据结构,清华大学出版社2、王红梅,数据结构学习辅导与实验指导,清华大学出版社3、严蔚敏、吴伟民,数据结构

3、C语言版,清华大学出版社 目录1、设计目的12、总体设计13、详细设计13.1、程序具体功能13.2、调试分析24、源程序和运行结果24.1、源程序24.2、运行结果125、心得体会156、参考文献15单项选择题标准化考试系统1、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。2、总体设计单项选择题标准化考试系统试题录入试题抽取答题自动判卷文件保存试题库3、详细设计 3.1、程序具体功能:1试题录入可以随时增加试题到题库中。从键盘输入试题的题干、四个选项以及正确答案。2.试题抽取 用户从键盘输入想要抽取的试题个数k,如果输入的个数大于试题的数量,会提示“题库试题不足”

4、,否则系统将随机产生k道不同的试题。3.答题用户从键盘输入想要回答的试题个数k,如果输入的个数大于试题的数量,会提示“题库试题不足”,否则系统将随机产生k道不同的试题,用户将输入自己的答案。4.自动判卷系统可根据用户答案与标准答案的对比实现判卷并给出成绩。5保存试题到文件将每个试题的题干、四个选项以及正确答案保存到文件。3.2、调试分析:1.查看题库试题调试初始化一个单链表,链表有5个节点,每个节点包含题干、四个选项以及正确选项,运行程序,查看是否正确输出链表的内容。2.试题录入调试运行程序,输入题干、四个选项以及正确选项,录入完成提示“录入成功!”,然后查看题库试题,查看是否将试题添加进去。

5、3.试题抽取调试运行程序,从键盘输入要抽取试题的个数k,查看系统是否随机产生不同k道试题,如果抽取试题个数大于题库试题总量,则应该显示“题库试题不足!”。4.答题调试运行程序,从键盘输入要回答试题的个数k,然后输入自己选择的答案,查看系统能否正确的判断正误。5.保存文件调试运行程序,查看能否将试题保存到文件,并正确读出。6.输入调试运行程序,从键盘任意输入数据,查看系统能否正确运行,并显示异常处理的提示信息。4、源程序和运行结果4.1、源程序a.h:#includeusing namespace std;template struct NodeDataType data;Node *next;

6、class Titlepublic:char title100;/题干char a20;/ a选项char b20;/ b选项char c20;/c选项char d20;/d选项char answer;/正确选项 Title() Title(char *titl,char *aa,char *bb,char *cc,char *dd,char answer)strcpy(title,titl);strcpy(a,aa);strcpy(b,bb);strcpy(c,cc);strcpy(d,dd);this-answer=answer;template class LinkListpublic:

7、LinkList();/无参构造函数LinkList(DataType a,int n);/有参构造函数 LinkList(); /析构函数void main_menu(); /主菜单界面void menu1();/取消菜单界面int lenth();/题目的个数void add();/增加题目void test();/答题void extract();/试题抽取void printdata();/遍历记录void save();/保存记录private:Node *first; ; b.cpp:#include#include#include#include#includea.husing

8、namespace std;template LinkList:LinkList()/无参构造函数first=new Node;first-next=NULL;template LinkList:LinkList(DataType a,int n)/有参构造函数Node *r, *s;first = new Node; r = first; for (int i = 0; i n; i+) s = new Node; s-data = ai; r-next = s; r = s; r-next = NULL; template void LinkList : main_menu()cout*e

9、ndl;cout*欢迎使用单项选择题标准化考试系统*endl;cout*endl;cout*1.显示主菜单*endl;cout*2.试题录入*endl; cout*3.浏览试题*endl;cout*4.试题抽取*endl;cout*5.答题*endl;cout*6.试题数量*endl;cout*0.退出*endl;cout*endl;template void LinkList : menu1()cout*endl;cout* 您确定要选择该答案吗? *endl;cout* 1.确定 *endl;cout* 2.取消 *endl;cout*endl;template void LinkList

10、 :add()/增加题目 Node *s = new Node;Node *p = first; DataType t; coutt.title;coutt.a;coutt.b;coutt.c;coutt.d;coutt.answer;while(p-next!=NULL)p=p-next;s-data=t;p-next=s;s-next=NULL;cout添加成功!endl;template void LinkList : printdata()/浏览题目Node *p=first;first-next=NULL;ifstream infile(123.txt,ios:in);if(!inf

11、ile)cout题目浏览失败!titaabbccddans;DataType h(tit,aa,bb,cc,dd,ans); Node *s=new Node ;s-data=h;p-next=s;s-next=NULL;p=s; infile.close();Node *t=first-next;int i=1;while(t!=NULL)couti+.data).titleendl;coutA.data).a B.data).b C.data).c D.data).d data).answerendl;coutnext;template int LinkList :lenth()/查看个数

12、Node *p = first;int count=0;while(p-next!=NULL)count+;p=p-next;return count;template void LinkList : save()/保存到文件Node *p =first-next;ofstream outfile(123.txt,ios:out);if(!outfile)cout题目保存失败!next=NULL)outfiledata).title data).a data).b data).c data).d data).answer;/最后一个不应该换行,/否则读记录时将多一行break;elseoutf

13、iledata).title data).a data).b data).c data).d data).answernext;outfile.close();template void LinkList : extract()/试题抽取const int MAX=100;int xMAX;Node *p=first-next;if(p=NULL)cout题库为空!endl;return;int n=1,j=1,number;/题目数量coutnumber;if(numberlenth()cout题库试题不足!endl;return;for(int k=1;k=lenth();k+)xk=k;

14、srand(unsigned(time(NULL);while(jnext;/p再次指向第一个结点for(int m=1;mnext;coutj. data.titleendl;coutA. data.a B.data.b C.data.c D.data.dendl; coutendl;j+;n+;template void LinkList : test()/答题const int MAX=100;int xMAX;Node *p=first-next;if(p=NULL)cout题库为空!endl;return;char ch;int j=1,n=1,t,sum=0,number;/总分c

15、outnumber;if(numberlenth()cout题库试题不足!endl;return;for(int k=1;k=lenth();k+)xk=k;/随机产生number道不重复的试题srand(unsigned(time(NULL);while(jnext;/p再次指向第一个结点for(int m=1;mnext;couti. data.titleendl;coutA. data.a B.data.b C.data.c D.data.dendl; coutendl;while(flag)coutch;menu1();coutt)/检验异常elsecout输入错误!data.answ

16、er|ch=p-data.answer+32)cout回答正确!endl;sum+=10;else cout回答错误!endl;flag=false;break;case 2:break;default:cout输入错误!endl;break;j+;n+;cout*endl;cout*每题分,满分为:10*number分 *endl;if(sum=10*number)cout* 太棒了!您满分! *endl;cout*endl;else if(sum=0)cout*很遗憾,您全错了,继续努力! *endl;cout*endl;else cout* 您的得分为:sum,再接再厉! *endl;c

17、out*endl; Main.cpp:#include#includeb.cppusing namespace std;void main()bool flag=true;LinkList linklist; linklist.main_menu(); while(flag)int t;coutt)/检验异常elsecout输入错误!endl;cin.sync(); /清空流cin.clear(); /清除流错误标记continue; switch(t) case 1:linklist.main_menu();break; case 2:linklist.add();linklist.save

18、();break; case 3:linklist.printdata();break; case 4:linklist.extract();break; case 5:linklist.test();break; case 6: if(linklist.lenth()=0)cout题库为空!endl; elsecout一共有linklist.lenth()个题目!endl;break; case 0: flag=false;cout*endl;cout* 谢谢使用! *endl;cout*endl;break; default: cout输入的选项不存在!endl; 4.2、运行结果试题浏览

19、:试题抽取:试题抽取:试题录入:答题:退出:5、心得体会编程是一件很枯燥的事情,但也是一件很有意义的事情,经过一个星期的设计学习,使我对C+语言和数据结构有了更进一步的认识和了解,要想学好它要重在实践,要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对C+语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对C+语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。通过这次的课程设计,我感觉自己写代码的水平还有待提高,要想精通一门编程语言,写大量的代码是必不可少的。以后我

20、将更加努力学习专业知识,努力提高写代码的能力。6、参考文献1、王红梅,数据结构,清华大学出版社2、王红梅,数据结构学习辅导与实验指导,清华大学出版社3、严蔚敏、吴伟民,数据结构C语言版,清华大学出版社(配题集)4、王晓东,计算机算法分析与设计(第三版)9JWKffwvG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpaza

21、dNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6

22、X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTX

23、Rm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*

24、3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxG89AmUE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5

25、uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z8vG#tYM*Jg&6a*CZ7H$dq8KqqfHVZFedswSyXTy#&QA9wkxFyeQ!djs#XuyUP2kNXpRWXmA&UE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%

26、&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcv

27、R9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmUE9aQGn8xp$R#͑GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmY

28、WpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&q

29、YpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNuGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5

30、uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*

31、3tnGK8!z89Amv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnG

32、K8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz84!z89Amv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadN

33、u#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$U*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89AmYWpazadNu#KN&MuWFA5uxY7JnD6YWRrWwcvR9CpbK!zn%Mz849GxGjqv$UE9wEwZ#QcUE%&qYpEh5pDx2zVkum&gTXRm6X4NGpP$vSTT#&ksv*3tnGK8!z89A

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922