C试题库程序设计陈说_第1页
C试题库程序设计陈说_第2页
C试题库程序设计陈说_第3页
免费预览已结束,剩余30页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、程序设计报告(2012 / 2013学年 第 二 学期)题 目:C试题库的管理与维护专业理工强化班学生姓名班级学号指导教师郭佥指导单位计算机软件教学中心评分项优秀良好中等差评遵守机房规章制度上机时的表现学习态度分程序准备情况程序设计能力团队合作精神细课题功能实现情况算法设计合理性用户界面设计则报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简 短 评 语教师签名郭剑2013年5月一日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格C试题库的管理与维护、课题内容和要求C试题库的管理与维护系统,主要是实现对试题库的管理与维护。本系统具备对库中 的试题进行浏览,查询,添加,修改,

2、删除的功能,同时还可用于生成试卷。这些功能模 块的实现是系统需要解决的主要问题。开发时运用“模块化程序设计”的思想,将主系统 分为几个功能子系统,再根据实际需要对各子系统进行进一步的划分,再进行开发。通过 对此系统的开发,可以熟练掌握单链表结构、文件读写、函数调用等知识,以及查找等法 的设计与应用。二、需求分析图1功能框架图(1) 提供可供选择操作的主菜单:输出的菜单用于显示以从文件中加载的试题信息及 若干个可以选择的功能选项。根据试题输入的选项来运行不同的功能,运行不同的函数。(2) 进行文本信息的载入:从指定的文件中以链表的形式加载所需的试题信息建立链 表。这里的文件是在编译时就已经指定好

3、的存在的文本,需要设计者预先自己建立好。(3) 查找试题功能:以试题输入的章节题号或难度进行查找对应的试题信息并将它们 输出。通过所建立的链表进行对应的查找。(4) 添加一道新的试题的功能:将管理员希望添加的试题信息添加到指定的试题信息 之前,并提示管理员按正确的格式输入,并建立添加链表节点的函数将试题加入,若是插 入题目,则更改该题目编号后的编号保证题库连续完整性。(5) 删除一道试题的功能:将管理员希望删除的某道试题信息删除。 (这里的删除只是 才内存中建立的链表中删除,在保存之前待删试题的信息还储存在原文本只中的) 。同时 修改该题之后题目编号,保证题目完整连续性。(6) 进行试题信息的

4、修改:根据试题的名称,找到对应的链表(题目) ,将链表中的信 息重置。内容应由管理员输入,由一系列读写函数实现。(7) 从试题库中抽取题目生成试卷:按管理员的需求,输入题目存储路径后,可以选 择机器生成试卷(默认难度为 3.5 ),也可以指定题目总数 , 自行决定题目难度、指定每章 题目数量等,最后生成试卷并保存至用户指定的路径。(8) 对现有信息的保存并退出程序:保存内存中的最新的记录输出到磁盘文件中,这 里默认的是保存到原读取文件中并覆盖原来的信息。三、概要设计1 主要结构体struct questionchar id256;/题目编号char intro256;/题目简介char lev

5、el256;/题目难度 :1 234 5/最简单简单普通 困难超难char title256;/题干char choice256;/选项char answer256;/答案int count;/该题被选中次数struct question *next;/指向下一道题;2 主要函数流程图:(1) 主菜单函数:用于从文本中载入信息并建立链表,此处用链表方式读入,用(struct questio n*)malloc(sizeof(struct questio n)来动态建立链表结点树目,此处以一个结构体内容作为一个结点,加载函数流程图如图2所示。图2加载函数图(2)查询函数:登陆用户输入需要查询的试

6、题信息,并输入查询类型,系统判断查询的试题是否存在,通过流程图如图 3所示。图3查询函数图(3)添加函数:如图4图4添加函数图(4) 修改函数:修改试题的编号、难度、题干、选项、答案等信息 如图5。开始修改输入试题编号试题不存在输出原题输入修改后的试题退出Z图5修改函数图(5) 删除函数:用户输入需要删除的试题编号流程图如图6.输出原题原题不存在图6删除函数图(6) 生成试卷函数:创建新文件,由管理员或系统给定试题总数目、难度,通过产 生的伪随机数实现各章题目随机选择,将选择的题目文本输入到新文件中,达到自动成卷 功能。并生成对应答案文件,保存其他相关试卷信息。如图 7。图7 生成试卷函数图(

7、7) 退出函数:保存链表信息,并退出。如图 &选择退出1r保存文件1T退出图8退出函数图四、源程序代码#include<stdio.h>/定义一个全局变量存放总题数#include<stdlib.h> #include<iostream.h> #include<string.h> #include<time.h> int count=0;/*义结构struct questionfchar id256;/题目编号/* 将题目信息统一定义成字符串是为了读写操作方便*/char intro256;/题目简介char level256

8、;/题目难度 :1 23 45/ 最简单简单 普通困难 超难char title256;/题干char choice256;/选项char answer256;/答案int count;/该题被选中次数struct question *next;/指向下一道题*;主要函数声明 void pchapter(struct question * head,int *&a); void menu(struct question * head);库信息和操作/*/统计每章题数/菜单函数,显示题void printQuestion(struct question * head);void inpu

9、tQuestion(struct question * head);struct question * searchQuestion1(struct question * head,char *s ); 回节点指针/输出一道题目/输入一道题目/按编号查询一道题目并返void searchQuestion2(struct question * head );void addQuestion(struct question * head) ;void modifyQuestion(struct question * head);void deleteQuestion(struct question

10、 * head);void saveQuestion(struct question * head);void createQuestion(struct question * head,int *pcount);/查询题目/增加题目/修改题目/删除题目/保存题目/生成试卷struct question * Read(); 题目/读入void random(double hard,int * chapter,int*pcount,struct question * p,FILE *fp1,FILE *fp2) ;/抽取试题/*main函数*int main()int c,i;struct qu

11、estion *head;/ 定义一个头指针 head=Read() ;/从文件读取题目至链表int pcount7=0;/定义一个数组存放每章题数int *q;/调用函数统计每章题数/总题数 = 每章题数相加q=pcount; pchapter(head,q); for(i=1;i<8;i+) count+=qi-1;cout<<"欢迎来到 C 语言试题库管理系统! nn"domenu(head);cin>>c;switch (c)case 1: /查询试题 searchQuestion2(head); system("pause&

12、quot;);/ 暂停输出屏幕 break;case 2:/增加试题 addQuestion(head); break;case 3: /修改试题 modifyQuestion(head); break;case 4: /删除试题 deleteQuestion(head); break;case 5: /生成试卷 createQuestion(head,pcount); system("pause"); break;nn"case 0: saveQuestion(head); / 保存对题库的操作 cout<<" 欢迎再次使用 C 语言试题库

13、管理系统!break;while(c);return 0;主要函数定义*/ /*/统计每章题数void pchapter(struct question * head,int * &a)int i;for(i=1;i<=8;i+)/i 表示章节struct question * q=head; for(;q;q=q->next)/ 单链表的遍历if(int(q->id1)=i+48)/ 字符型转变为整型比较,判断题目章节是否为当前章节 ai-1+;/菜单函数void menu(struct question * head)int pcount7=0;int *q;q=

14、pcount;pchapter(head,q);调用函数统计每章题数int i;cout<<" "<<endl;cout<<" |"<<" 本 题 库 共 有 7 章 , "<<count<<" 道 题|"<<endl;for(i=1;i<8;i+)cout<<" |第 "<<i<<" 章 : "<<qi-1<<" 题

15、 "<<"|"<<endl;cout<<"-"<<endl;cout<<"| *1.查询试题*|n"cout<<"| *2.添加试题*|n"cout<<"| *3.修改试题*|n"cout<<"| *4.删除试题*|n"cout<<"| *5.生成试卷*|n"cout<<"| *0.保存退出*|n"cout&

16、lt;<"- "<<endl;cout<<"请选择要进行的操作 : "/输出一题void printQuestion(struct question * head) printf(*nn");printf("printf("printf("题号: %sn",head->id); 题目简介: %sn",head->intro); 题目难度: %sn",head->level);printf("题目 : %sn",head

17、->title);printf("选项: %sn",head->choice);printf("答案: %sn",head->answer);printf(" 题目被选次数: %dnn",head->count);printf(*nn");H*/输入一题void inputQuestion(struct question * q) int i;cout<<" 请输入题目描述 cin>>q->intro; for(i=0;q->introi!='0&

18、#39;) i+;for(int a=i;a<255;a+)q->introa=' 'q->intro255='0'cout<<" 请输入题目难度 cin>>q->level; for(i=0;q->leveli!='0') i+;for(int b=i;b<255;b+)q->levelb=' 'q->level255='0'cout<<" 请输入题目 :"cin>>q->title

19、;for(i=0;q->titlei!='0')i+;for(int c=i;c<255;c+)q->titlec=' ' q->title255='0'cout<<" 请输入选项 :"cin>>q->choice;for(i=0;q->choicei!='0')i+;for(int d=i;d<255;d+)q->choiced=' ' q->choice255='0' cout<<&qu

20、ot; 请输入答案 :" cin>>q->answer;for(i=0;q->answeri!='0')i+;for(int e=i;e<255;e+)q->answere=' ' q->answer255='0' q->count=0;/按编号找到一题并返回结点指针,用于删除,修改时先查询是否存在struct question * searchQuestion1(struct question * head,char *s)for(;head;head=head->next)if(

21、head->id0=s0)&&(head->id1=s1)&&(head->id3=s3)&&(head->id4=s4)&&(head->id2 =s2)break;return head;/ 如果没有此题,指针移动到链表尾,head=NULL/查询并输出题目信息void searchQuestion2(struct question * head )char s256;int ok=0,choice;2.按题号查询"<<endl<<"cout<&l

22、t;" 请选择 : "<<"1. 按章节查询 "<<endl<<" 3.按题目难度查询 "<<endl;cin>>choice;switch (choice)case 1:cout<<" 请输入章节号 (如: 01):"cin>>s;for(;head;head=head->next) if(head->id0=s0)&&(head->id1=s1) printQuestion(head); ok=

23、1;if(!ok)cout<<" 没有此题或输入有误! n"break;case 2:cout<<" 请输入章节号、题号 (如 :01001):" cin>>s;if(searchQuestion1( head,s) printQuestion(searchQuestion1(head,s );elsecout<<" 没有此题或输入有误! n" break;case 3:cout<<" 请输入难度 (15 , 1最简单, 5最难): cin>>s;for

24、(;head;head=head->next)if(head->level0=s0)printQuestion(head);ok=1; if(!ok) cout<<" 没有此题或输入有误! n" break; default: cout<<" 没有此题或输入有误! n" break;/增加题目void addQuestion(struct question * head)char s2;int ok=0;):"插入新的结点cout<<" 请输入增加题目的章节号 (如: 01,默认添加在每

25、章最后 cin>>s;struct question * q=(struct question*)malloc(sizeof(struct question); / for(;head;head=head->next)if(head->id1=s1)&&(head->next->id1=s1+1)ok=1;break;else continue;/ 找到每章最后一题的指针if(!ok)cout<<" 输入有误! n"elsecount+; / 总题数加 1cout<<" 请输入题目信息:

26、(请用下划线代替空格 !) n" strcpy(q->id,head->id);inputQuestion(q);/ 输入增加题目的信息q->next=head->next;head->next=q; /新的链表cout<<" 输入成功! n"q->id4+;if(q->id4>'9')q->id4='0' q->id3+;/ 改变增加后题目的编号/修改题目void modifyQuestion(struct question * head)char s256;

27、int ok=0;cout<<" 请输入要修改的试题的章节号、题号 (如: 01001):" cin>>s;if(!searchQuestion1( head,s)cout<<" 没有此题! n" / 先查询是否存在elsecout<<" 要修改的题目为: "<<endl; printQuestion(searchQuestion1(head,s );cout<<" 请输入题目信息: (请用下划线代替空格 !) n" inputQuestion

28、(searchQuestion1(head,s );cout<<" 修改成功! n"/删除题目void deleteQuestion(struct question * head)char s256;int ok=0,temp;cout<<" 请输入要删除的试题的章节号、题号 (如: 01001):" cin>>s;if(!searchQuestion1( head,s)cout<<" 没有此题! n" / 先查询是否存在elsecout<<" 要删除的题目为: &

29、quot;<<endl; printQuestion(searchQuestion1( head,s);cout<<" 确认删除? (y/n)"<<endl; char ch;cin>>ch;if(ch='y') if(s4='0') for(;head;head=head->next)if(head->id1=s1&&head->id4='9'&&head->id3=s3-1) break;if(s4='1'

30、;&&s3='0')for(;head;head=head->next) if(head->id1=s1-1&&head->next->id1=s1) break;for(;head;head=head->next) if(head->id1=s1&&head->id3=s3&&head->id4=s4-1) break;/ 找到前一题的指针struct question * p=(struct question *)malloc(sizeof(struct ques

31、tion *); struct question * q=(struct question *)malloc(sizeof(struct question *); temp=head->next->id1;/temp 存放被删除题目的章节 p=head->next;q=p->next;head->next=q;/ 删除此题节点for(;q&&q->id1=temp;q=q->next)if(q->id1=temp)q->id4-;if(q->id4<'0')q->id4='9'

32、; q->id3-; / 改变删除后的题号cout<<" 删除成功! n"count-;/ 总题数减 1/保存题目void saveQuestion(struct question * head) struct question *p;FILE *fp1;/* 创建试题库文件 */if( (fp1=fopen("TIKU.txt","w") = NULL )printf(" 保存失败 !");exit(-1); for(p=head;p!=NULL;p=p->next)fprintf(fp1

33、,"%s",p->id); fprintf(fp1,"%s",p->intro);fprintf(fp1,"%s",p->level);fprintf(fp1,"%s",p->title);fprintf(fp1,"%s",p->choice);fprintf(fp1,"%s",p->answer); fprintf(fp1,"%dnn",p->count);fclose(fp1);/生成试卷void create

34、Question(struct question * head,int *pcount) / 用 pcount 获得题库中每章题数srand(time(NULL);int number=0,num=0,chapter7,choice,i;/number 记录总题数, chapter 记录每章题数 double hard;char s100;cout<<" 请输入文件保存位置: "cin>>s;FILE *fp1,*fp2;if( (fp1=fopen(s,"w") = NULL )printf(" 生成试卷失败 !&qu

35、ot;);exit(-1);if( (fp2=fopen(" 答案 .txt","w") = NULL )printf(" 生成试卷失败 !");exit(-1);cout<<" 请选择试卷生成方式 n"cout<<" 1.人工指定试卷信息 2.机器随机生成 (题量不少于 20,默认难度 3.5 左右) n" cin>>choice;switch (choice)case 1:cout<<"请输入题目数量(试题库仅200 多题,请合理输入

36、! ): "cin>>number;cout<<"请输入试卷难度 (15):"cin>>hard;printf(" 请输入试卷组成 ( 请合理输入以免产生错误!):n");for(i=1;i<8;i+)printf(”第%d章题目数量:",i);cin>>chapteri-1; num+=chapteri-1;/ 输入每章题数 if(num!=number)printf(" 题目数量不正确 !n"); return ;/ 判断每章题数之和是否等于总题数 rand

37、om(hard,chapter,pcount,head,fp1,fp2);/ 调用随机抽题函数 printf(" 试题生成成功 !n 答案保存在当前路径下:答案 .txt n"); break;case 2:for(i=1;i<8;i+) chapteri-1=rand()%10+1; number+=chapteri-1; random(3.5,chapter,pcount,head,fp1,fp2);printf(" 试题生成成功 !n 答案保存在当前路径下:答案 .txt n"); break;default:cout<<&quo

38、t; 输入有误! n" fclose(fp1);/随机抽题函数void random(double hard,int * chapter,int*pcount,struct question * p,FILE *fp1,FILE *fp2) int ok=0,count=0;struct question * head=NULL;struct question * headtail=NULL;do /复制原链表if(!head) head=p;elseheadtail->next=p; headtail=p; struct question * headtail=NULL; p

39、=p->next;while(p);headtail->next=NULL;struct question * phead=NULL;struct question * ptail=NULL;int z;for( z=1;z<8;z+)count+=*(chapter+z-1);fprintf(fp2,"总共 %d 题n 其中:",count);for( z=1;z<8;z+)fprintf(fp2,"第 %d 章 %d 题,",z,*(chapter+z-1);fprintf(fp2,"n 试卷平均难度 :%gn 答案

40、 :n",hard);for(int j=0;j<7;j+)/j 表示章节count=0;struct question * pnew=(struct question*)malloc(sizeof(struct question); pnew->next=NULL;for(int m=0; ;m+ )/找到该章节int n=(head->id1-j-49);/字符转换为整形比较if(n=0)break;head=head->next;for(int y=0; y<pcountj && count<*(chapter+j) ;y+)

41、/判断难度double x = head->level0-48;if(x<hard+2)&&(x>hard-2)struct question * pnew2=(struct question*)malloc(sizeof(struct question); head->count+;/ 题目被抽到的次数加 1 strcpy(pnew2->id,head->id); strcpy(pnew2->title,head->title); strcpy(pnew2->choice,head->choice); strcpy(

42、pnew2->answer,head->answer); fprintf(fp1,"%s",pnew2->id);fprintf(fp1,"%s",pnew2->title);fprintf(fp1,"%sn",pnew2->choice);fprintf(fp2,"%s",pnew2->answer);count+;head=head->next;/ /读入题目struct question * Read() /读入题目struct question *head,*tai

43、l,*pnew;/ 定义一个头指针,尾指针,结点指针 FILE *fp;char string256;int size;head=NULL;tail=NULL;pnew=NULL;size=sizeof(struct question);fp=fopen("TIKU.txt","r");if(fp=NULL)printf(" 打开题库失败 !n");exit(-1); fgets(string,256,fp);while(!feof(fp)pnew=(struct question*)malloc(size); pnew->ne

44、xt=NULL;strcpy(pnew->id,string); fgets(string,256,fp);strcpy(pnew->intro,string); fgets(string,256,fp);strcpy(pnew->level,string); fgets(string,256,fp);strcpy(pnew->title,string); fgets(string,256,fp);strcpy(p new->choice,stri ng);fgets(stri ng,256,fp);strcpy(p new->a nswer,stri ng

45、);fgets(stri ng,256,fp);pnew->count=atoi(string);/把字符串转换为整型数fgets(stri ng,256,fp);fgets(stri ng,256,fp);if(head=NULL) head=pnew;elsetail->n ext=p new;tail=p new;/依次将题目读入结点并连接成链表fclose(fp);retur n head;五、测试数据及其结果分析(1)显示的主菜单界面:: Docu>ent s and Sett ingsJSZK桌面lit建文杵妄(2) Debugww. eze欢迎来到c语言试题库管

46、理系统!有=±<±<±<早题题题题题题题 9 9 9 9 9 9 94 4 4 4 4 4 4试试试试试退 询加改專存 查需删生保题题题题卷出请选择要进行的操作:(2) 查询试题测试(按题号查询):叽 C:r Docu>cnt 3 and Settihies.JSII桌面新建Jt件夬(2八DcbuE'Evv. cxc'- 1 XHU2<HB1 陵题目难度亘询2请输入章节号、( in ittL0ttl>: 01003H K NH »H K K H K M H K H M N M X H M N M X H

47、 MN M K H MN M K H MK HX H HM H WK HMM WK HMM MIC HMM WK H M M WN HMM feTKMMHWKMM題号;B1B03题目简Th关于C程序的基础知说题目换1题目:(:语言可执行程序的开姑执行点是)选项,轉中第一条可执行语句B程序中第个歯数C程序中陶祝如函数D包含 文件中的第一爪園数酥:c题自被选次数,0科用 H W 科 K W X JM K W X M: M fcf X M H X iB K X *K E X *K EM M WK M WKWKMW:KMW:Ka<W MCatKWWat(3) 添加试题测试:-qHc* : Doc

48、u>ent s and Sett ingsJSZX桌面l新建文杵来(2) Debugww. exe第7章:40题试试试试试退 询加改專存 查霍删生保题题题题卷出请选择盞进行的w: 请赫入瑾加题欝£乂 请勤入题埴勤题. 请输入选项:A.OL_ B. 请星入答案:2信息:划红 描述:关褲本数据类型 难度江:在C语言中,合法的长整型常数是04962710- -输入成功!殺获在每章最后X2.1869el0有=<星i星i早题题题题题题0 10 0 0 04-4444(4) 修改试题测试:未修改前的试题:驢翻试题的章节钛题号如昨小豳4c* 'C: Docu»ent

49、s and Sett ingsJSZX桌面l新建文杵来(3) Debugww. eze要1OOOOOOOOOO<X1OO<X1OO<X1OO<X1OO<X1OO<X1OO<X1OO<X1OO<X1OOOOOOOOOOOOOOOOOOOOOOOOOOO<X1OO<X1OO< |题号:02014题目简介:关于C语言函数序文题目难度:5霄囂謹聽若臀义一个只允许本源文件中所有函数使用的全局变量选项:A. externB. registerC auto答案:D题目被选次数:0iiAilis 述:.信息:(请用下划线代替空格Qfl e

50、xternB. registerautoD. static-gH修改后的试题:c* 'C: Docu>ent s and Sett ingsJSZX桌面l新建文杵来(3) Debugww. eze答案:D题目被选次数:0I其其:KX其其:KX其其:KJC其其:KJC其其:KJC其其:KJC其其:KJC其其:KJC耳其:KJC耳其:KJCX其其耳耳其其NX其其NX其其NX其其NX其其:KX其其:KX其其:KJC其其:KJC其其:K请请请请请炷信描难:c:A:C 目目目目殛*= 题题题题选益岛 入入入入入入成ft? 空识 替知 代础 线基 划的 下序1本题库un is pin. i半

51、:12 3 4 5 6题题题题题题 9 9 3 9 9 4 4 4 4 4 4(5)删除试题测试:因蠶篇器蟹题飲章节号"题号如:01001 : 01005亠题号:01065题目筒介:关于暉序的基础知识题目难度 1题目:勺C语言中可处理的文件类型是()选项t门文本文件和数据文件B文本文件和二逬制文件C数据文件和二进制文件D 数据代码文件答案:B题目被选次数上BWiXJCKKIMKJiriOCMjXXXXICXJfKJOCXal JCXEXiMKXKKIXXJCKliKJfXlOtKJfXKHKiM JCJCJCHiMXKKKMiXKKKIMXKJCKMiXJCJCIOtKilOCKIC

52、确认IB? 32点 C: Docu>ent s and SettingsJSZX臬面l新建文杵夹 (2)Debugww. exe(6)生成试卷测试:C: Docu>ent s and Sett ingsJSZK桌面lit建文杵妄(2) Debugww. eze-gHKNJtx KNJtx KNJtx KNJtx khI xhkk xhkk xhkk xhkk KNjtx KNJtx KNJtx KNJtx k:k3 xhkk xhkk xhkk xhkk xj<4 KNjtx KNJtx KNJtx KNJtx khE xhkk xhkk xhkk xhkk xj<0试

53、试试试试退 询加改專存 查需删生保题题题题卷出的操请输入文件 请搖择试卷生成方式人工指定试卷信息議机器随机生成(题量不少于胡,1请揄入题目数量试题库仅2师多题,请合理输入!): 请揃入试卷难度1:2请端入试卷辿如请合理输入以免产生错误I :|1«liii奁题生歳成功? 聶保春在当前路径下:答案.txt请融意谨址续-D:XXa-txt默认难度皐5左右)35数量汚 数量汚 数量汚 数量:5 数量汚 数量:5 数量汚生成的试卷:文件©<3 11)_相式里 宜看 釉才I®D字符|01001C语盲程序的基本单位杲«關行E语勺C111 HQ2J輻再嚮畫齧葯懾霸

54、 B递归结札荫坏结籾转移结松C嵌套结札谨归结:D1003J鬻韓霸讒律聶一个函数C程序中的i函数D包含文件中的第一ai a a*H吾言提供的合法的数螂类型关犍字是) A double B short C LntegGr D charQ1QQ5:霖牆讒舉聲養影:和和二逬制文件C数据文件和二逬制文件0数据代码文廂禹数的主调函数类型C调用函数时临时D定义Q2BB2递归调用B不允许直接递归谓用也不允许间接递归调用V生成试卷前:01001关于C程序的基础知识1C语言程序的基本单位是()A程序行B语句C函数D字符 C0生成试卷后,题目被抽到的次数发生改变。生成试卷后:01001关于C程序的基础知识C语言程序

55、的基本单位呈()A程序行B语句C函数D字符 C1结果分析:(1 )在输入菜单选项时如果输入的内容不是 1-6之间的数字,而是其他数字、字 母或符号,系统将继续执行等待下次正确的输入。(2 )在需要输入所须查找或者删除、修改的试题信息处,如输入的试题信息不在 系统中、或是选项不符,系统提示输入错误并返回菜单。(3 )在需要输入所需添加的试题信息,如果添加的试题编号已经存在,系统会将 之后相应的题目序号更改,然后返回菜单。(4)生成试卷时,可选择机器自动生成,只需指定题目数量后,机器会在每章抽取相同数目的题目,并保持难度在 3.5左右(5 )人工指定生成试卷,可指定每章题目数量、难度,系统会在链表中随机抽取 题目,选取题目难度相近的题目生成试卷(会有一定误差,也可以修改代码来保证精 确性)。(6 )生成试卷时,由于试题库题目有限,所以如果输入题目数量过大,可能导致 链表访问非法空间,所以输入时系统会给出

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论