c语言单项选择题标准化考试系统设计
单项选择题标准化考试系统
![单项选择题标准化考试系统](https://img.taocdn.com/s3/m/13bbcc17cc7931b765ce15cd.png)
单项选择题标准化考试系统摘要在现代化考试中,大规模的单项选择题已经非常常见,如果应用计算机实现机考随机取题并判卷无疑是非常好的办法,依靠所学C语言知识,编出一套完备的单项选择题标准化考试系统有非常重要的现实意义,既可以实现考试的现代化又可以减轻老师的阅卷压力。
我们编写的这个系统实现了提取试题库,增加新题,随机取题,自动判卷,满足了本次课程设计课题的全部要求,并在此基础上本着创新的精神加入自己的东西——程序加密。
关键字:单项选择题;考试系统;自动判卷;c语言ITEM MULTIPLE-CHOICE STANDARDIZED TEST SYSTEMABSTRACTIn the examination of modernization, large items of multiple choice questions are very common, if you apply a computer machine random access to the examination questions and imposes no doubt is a very good way, relying on the c language, produce a comprehensive item multiple-choice standardized test system has a very important practical significance, both can modernize examination and can relieve pressure on the teacher's scoring.We prepared this system extracts examination question database, add a new question, random access problems, automatically sentenced volume, meets all the requirements of this course design project, and on this basis, in a spirit of innovation to join own thing--procedure encryption.Key word : Item multiple-choice; examination system; automatic sentencevolumes;c language目录1 绪论 (1)1.1课题内容与要求 (1)1.2课题研究方法 (1)2设计过程 (2)2.1总体设计 (2)2.2详细设计 (3)2.2.1保存文件功能 (3)2.2.2输出文件功能 (3)2.2.3答题功能 (4)3 调试分析 (5)4 总结 (8)参考文献 (9)附录 (10)1 绪论1.1 课题内容与要求课题内容:(1)用文件保存试题库。
c语言单项选择题标准化考试系统设计
![c语言单项选择题标准化考试系统设计](https://img.taocdn.com/s3/m/0f6ebd76941ea76e59fa0420.png)
课程设计任务书学院、系:专业:学生姓名:学号:设计题目:单项选择题标准化考试系统设计起迄日期:指导教师:1.设计目的设计单项选择题标准化考试系统。
2 任务概述(1)用文件保存试题库(每个试题包括题干、4个备选答案、标准答案).(2)试题录入:可随时在试题库中增加试题.(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入).(4)答题:用户可以输入自己的答案.(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩.3 模块划分单项选择体标准化考试系统4主要函数说明及N-S图(1)菜单Menu():用来给用户提供选项;(2)Read()函数:用于打开文件;(3)Save()函数:用于添加试题后保存试题;(5)Add()函数:用于添加试题5.程序运行数据及其结果6 课程设计心得通过这次实训,感觉到自己还是差很多的,自己学到的还是远远不够的,练习的太少了,好多知识点都记得不牢,还需要大量的练习。
又因为一个学期没看了,好多东西都忘了,所以好多知识点都是在看得时候重新拾起来的。
这次实训给我的教训就是平时要多多练习一些题型,时不时的复习以前的知识点,让自己更加熟练的掌握更多编程技巧,更多的思路。
还有一点就是没有思路的时候千万不要放弃,要学会思考,学会独立有耐心的完成一些事情,等到做完成功之后,便会收获很多的信心和欣慰。
总之就是要有耐心,坚持多做练习,不会的多请教别人,一切困难都会迎刃而解。
附录:#include<>#include<> xt","r+");opic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real); }fclose(fp);return i;}void save(struct question que[N],int n)xt","w+"))==NULL){printf("文件打开失败!\n"); return ;}else{for(i=0;i<n;i++)fprintf(fp,"%s %s %s %s %s %c\n",que[i].topic,que[i].a1 ,que[i].a2,que[i].a3,que[i].a4,que[i].real);}fclose(fp);}void Put()opic,que[i].a1,que[i].a2,que[i].a3,que[i].a4); getch();}void Add()xt","a+");opic,&que[i].a1,&que[i].a2,&que[i].a3,&que[i].a4,&que[i].rea l);fprintf(fp,"\n%s\n%s\n%s\n%s\n%s\n%c\n",que[i].topic,que[i]. a1,que[i].a2,que[i].a3,que[i].a4,que[i].real);}printf("添加信息成功!");fclose(fp);getchar();getchar();}void Ask()xt","r+");printf("请输入要答得题目数:");scanf("%d",&m);for(int i=1;i<=m;i++){fread(&que[i],sizeof(struct question)-1,1,fp);printf("%s\n%s\n%s\n%s\n%s\n",que[i].topic,que[i].a1,que[i] .a2,que[i].a3,que[i].a4);printf("\n请输入您的答案:");scanf("%c",&r);getchar();if(que[i].real==r){ printf("\n答案正确!\n");score++;}else {printf("\n答案错误!\n");score=score;}printf("\n你的总成绩为:%d\n",score);getchar();getchar();}}int main(){ Menu1();}。
c语言课程设计报告单项选择题标准化考试系统设计
![c语言课程设计报告单项选择题标准化考试系统设计](https://img.taocdn.com/s3/m/04a906c73169a4517623a3e7.png)
2.2主要结构组与函数
题目,选项ABCD答案:
typedef struct Exam
{
char question[1024];
char A[100];
char B[100];
char C[100];
char D[100];
char correct; //正确答案选项
}Exam;
void load_question();
计算机程序设计基础(C语言)
课程设计说明书
设计题目:单项选择题标准化考试系统设计
班级:
姓名:
学号:
2021年7月
填写格式及说明
1、系统概述
本系统是对学生测试的单项选择题标准化系统设计,顾名思义就是用于对学生的测试考量,方便进行学生的测试,同时也简化了老师的试题录入和判卷,是一个简单实用的考试系统。
2、数据结构设计
printf("1.导入试卷\n");
printf("2.试题录入\n");
printf("3.测试答题\n");
printf("4.浏览试题\n");
printf("5.保存退出\n");
printf("请选择:");
scanf("%d",&i);
fflush(stdin);
return i;
}
int main()
p = strtok(NULL, "\t");
questions[count].correct = p[0];
count++;
}
}
单项选择题考试标准化系统Word版
![单项选择题考试标准化系统Word版](https://img.taocdn.com/s3/m/565f91ae52d380eb62946df7.png)
天津城市建设学院课程设计任务书2010—2011学年第1学期电子与信息工程系专业班级课程设计名称:数据结构课程设计设计题目:单项选择题考试标准化系完成期限:自 2012 年 1 月 2 日至 2012 年 1 月 6 日共 1 周一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、设计要求(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。
凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。
三、设计内容单项选择题考试标准化系统设计一单项选择题标准化考试系统,实现考试的标准化管理。
实现试题录入。
试题抽取,答题和叛卷功能。
四、参考文献1.王红梅.数据结构.清华大学出版社2.王红梅.数据结构学习辅导与实验指导.清华大学出版社3.严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社目录一需求分析 (3)该设计是设计一个单项选择题考试标准化系统,使用动态链表设计这个程,它的功能主要有: (3)二、概要设计 (3)1程序设计组成框图 (3)2程序流程框图 (4)三、详细设计 (5)算法的设计 (5)四、调试分析 (6)五、核心源程序清单和执行结果 (6)1源程序 (6)2执行结果 (12)六心得体会 (14)七参考文献 (14)一需求分析该设计是设计一个单项选择题考试标准化系统,使用动态链表设计这个程,它的功能主要有:(1)用文件保存试题库。
(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩二、概要设计1程序设计组成框图2.程序流程框图三、详细设计算法的设计主函数的实现:int main(){ char x;while(1){system("cls"); //清屏cout<<"+---------------------------------------------------------------------+"<<endl;cout<<" | 1.查看试题库 2.录入新的试题|"<<endl;cout<<"+---------------------------------------------------------------------+"<<endl;cout<<" | 3.清空试题库 4.随机抽取试题|"<<endl;cout<<"+---------------------------------------------------------------------+"<<endl;cout<<" | 5.做练习题 6.自动判卷|"<<endl;cout<<"+---------------------------------------------------------------------+"<<endl;cout<<" | 7.删除题目0.退出系统|"<<endl;cout<<"+---------------------------------------------------------------------+"<<endl;cout<<endl;cout<<" 请输入操作代码:";cin>>x;switch(x){case '1':read();system("pause");break;case '2':creat();write();break;case '3':clear();break;case '4':get();break;case '5':answer();break;case '6':mark();break;case '7':delet();break;default :cout<<"代码错误,请重输:"<<endl;system("pause");break;}}return 0;}一些重要的方法:void write() //录入文件void read() //从文件读取数据void get() //随机抽取试题void answer() //答题void mark() //评分四、调试分析每次进行抽取试题时就会出现错误,没法运行,后来发现只有先录入试题才能正常操作其他功能。
c程序语言设计考试题及答案
![c程序语言设计考试题及答案](https://img.taocdn.com/s3/m/dfc2f0f9f424ccbff121dd36a32d7375a517c66b.png)
c程序语言设计考试题及答案一、单项选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. letC. intD. define答案:C2. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D3. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. =答案:A4. 在C语言中,哪个函数用于计算并返回数组中元素的个数?A. sizeofB. countC. lengthD. size5. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D6. C语言中,用于声明指针变量的关键字是:A. pointerB. ptrC. *D. ref答案:C7. 在C语言中,哪个运算符用于取地址?A. &B. *C. %D. ^答案:A8. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-nameD. $variable答案:B9. C语言中,用于定义函数的关键字是:B. functionC. defD. void答案:B10. 在C语言中,哪个函数用于输出字符串?A. printfB. coutC. putsD. print答案:C二、填空题(每题2分,共20分)1. C语言标准库函数中,用于计算两个数的差的函数是________。
答案:abs2. 在C语言中,________运算符用于比较两个值是否相等。
答案:==3. C语言中,________关键字用于声明一个函数。
答案:void4. C语言中,________关键字用于声明一个结构体。
答案:struct5. 在C语言中,________关键字用于声明一个枚举类型。
答案:enum6. C语言中,________函数用于将整数转换为字符串。
C语言课程设计报告---单项选择题标准化考试系统
![C语言课程设计报告---单项选择题标准化考试系统](https://img.taocdn.com/s3/m/4de95b77a1c7aa00b42acb4b.png)
《C语言程序设计》课程设计题目:单项选择题标准化考试系统专业:计算机科学与技术班级:计科1001目录《C语言程序设计》课程设计 (1)1. 程序分析与设计 (3)2.流程图 (3)3. 源程序清单 (3)4.调试过程 (4)参考文献 (5)附录 (5)单项选择题标准化考试系统1. 程序分析与设计系统给用户提供一个简单的人机界面,使用户可以根据提示输入操作项,调用相关的函数实现对应的功能,主要功能描述如下:①用文件保存试题库:每个试题包括题干、4个备选答案、标准答案,本模块的功能是将单链表中的信息存储到文本文件中,系统将提示用户输入文本文件名,确认后单链表中的信息存储到文本文件中;②试题抽取:从磁盘读取文本文件,可以随机的从中选取N个题目并显示出来给用户进行测验,每次从试题库中可以随机抽出N道题(N由键盘输入);③自动判卷:用户答完所选的题目后,系统可根据用答题户答案与标准答案的对比实现判卷并给出成绩;④试题录入:用户可以随时增加试题到试题库中,根据提示输入题目的主干、四个基本选项和一个标准答案;⑤退出:退出系统;⑥系统主控平台:显示该系统可以进行的操作选项,允许用户进行其想要进行的操作,包括添加试题信息、随机抽取试题、保存到文件和退出系统等;总体设计:1)添加试题(add()函数)首先建立单链表,调用input_exam()函数输入试题的基本信息,将用户输入试题的基本信息储存到单链表中,提示用户是否继续输入,用户输入“Y”或“y”,则调用add()函数实现继续添加试题的操作;用户输入“”或“”,则返回主菜单界面。
2)随机抽取试题(ran_choice()函数)首先用typedef定义试题的结构体类型的全局变量ran及rans,从键盘输入,将该数及单链表的头指针传给ran_choice()函数,调用rand()随机数产生函数及srand(seed)设置一个独特的随机数种子,运用for()循环产生N个随机数,根据指针运算从单链表中取出N个试题的信息并显示出来。
c语言标准化考试系统课程设计
![c语言标准化考试系统课程设计](https://img.taocdn.com/s3/m/d09c3e6f854769eae009581b6bd97f192279bfe2.png)
c语言标准化考试系统课程设计一、教学目标本课程的目标是让学生掌握C语言编程的基本知识和技能,能够运用C语言进行简单的程序设计。
具体目标如下:知识目标:理解C语言的基本语法、数据类型、运算符、控制结构等;掌握函数的定义和调用、数组的声明和使用、指针的概念和应用;了解程序的编译和运行过程。
技能目标:能够使用C语言编写简单的程序,解决实际问题;具备基本的编程思维和调试能力;能够阅读和理解C语言程序代码。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生分析问题和解决问题的能力;培养学生团队合作精神和自主学习能力。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:变量声明、数据类型、运算符、表达式等。
2.控制结构:条件语句、循环语句、跳转语句等。
3.函数:函数的定义和调用、形参与实参、局部变量和全局变量等。
4.数组和指针:一维数组、多维数组、指针的概念和应用等。
5.程序的编译和运行:编译过程、运行过程、调试技巧等。
6.实战项目:根据所学知识,完成一些实际的编程项目,提高学生的编程能力。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符等知识,为学生提供清晰的学习思路。
2.案例分析法:通过分析实际案例,让学生理解控制结构、函数、数组等知识在程序设计中的应用。
3.实验法:让学生动手编写程序,培养学生的编程能力和调试能力。
4.讨论法:学生进行小组讨论,分享学习心得和编程经验,提高学生的团队合作精神和自主学习能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》等相关教材。
2.参考书:《C Primer Plus》、《C和指针》等。
3.多媒体资料:教学PPT、视频教程等。
4.实验设备:计算机、编程软件(如Code::Blocks、Visual Studio等)。
c 单项选择题标准化考试系统
![c 单项选择题标准化考试系统](https://img.taocdn.com/s3/m/7100ed43ba68a98271fe910ef12d2af90342a817.png)
c 单项选择题标准化考试系统在现代教育体系中,考试是对学生学习成果的一种重要评估方式。
而单项选择题作为其中的一种形式,在标准化考试系统中扮演着至关重要的角色。
本文将就单项选择题标准化考试系统进行探讨,分析其特点和优势,并提出一些改进建议。
首先,单项选择题作为标准化考试系统的一部分,具有明确的题目结构和选项设置。
这种题型要求考生在给定的选项中选择最符合题意的答案,具有一定的客观性和标准性。
这种特点使得单项选择题在大规模考试中得以广泛应用,例如高考、托福、雅思等。
其次,单项选择题的设计可以全面覆盖考试范围,从而有效地检验学生的知识掌握情况。
通过设计不同难度和类型的题目,可以全面地考察学生对知识点的掌握程度,从而更加客观地评价学生的学习成果。
另外,单项选择题的批改和成绩统计相对简便快捷。
通过自动化的评分系统,可以快速准确地对学生的答题情况进行统计和分析,节约了人力和时间成本。
然而,单项选择题也存在一些不足之处。
首先,它可能会导致学生的应试心理过重,而忽视了对知识的深入理解和应用能力的培养。
其次,单项选择题的设计需要十分严谨和精准,一旦出现错误的选项或者模糊的题意,就可能导致考生的答题错误,影响了评价的准确性。
为了改进单项选择题的考试系统,我们可以采取一些措施。
首先,可以适当增加题目中的案例分析和实际应用题型,从而更好地考察学生的综合能力。
其次,可以加强对题目设计的质量把控,确保题目清晰明了,选项准确无误。
此外,也可以结合现代技术手段,开发更加智能化的评分系统,提高评分的准确性和效率。
总的来说,单项选择题作为标准化考试系统的一部分,具有一定的优势和不足之处。
通过合理的设计和改进,可以更好地发挥其作用,促进学生的全面发展和知识水平的提高。
希望未来能够有更加科学合理的考试评价体系,为学生的学习和成长提供更好的支持和指导。
最新单项选择题标准化考试系统设计(C语言实训)
![最新单项选择题标准化考试系统设计(C语言实训)](https://img.taocdn.com/s3/m/770f466fc5da50e2524d7fcf.png)
#include <stdio.h>#include <stdlib.h>#include <malloc.h>#include<string.h>#include<time.h>struct test{char ask[500];//选择题题目char answer1[100];char answer2[100];char answer3[100];char answer4[100];char da[100];int title[100];//随机抽题char right[10];} m[1000];void menu(){printf(" ***********单项选择题标准化考试系统³*********\n");printf(" *********************************************\n");printf(" 1.试题录入***\n");printf(" 2.查看所有试题***\n");printf(" 3.试题抽取并答题***\n");printf(" 4.判卷并打分***\n");printf(" 5.退出系统***\n");printf(" ********************************************\n");}int input(int cnt){int i,count,choice=0;printf("开始输入记录...\n");count=cnt;for(i=cnt;i<1000;i++){printf("Continue?(1 Yes 0 No):");scanf("%d",&choice);getchar();if(choice==0)break;elseif(choice==1){printf("请输入第%d道题题目,题干和选项:\n",i+1);printf("请输入题目:");gets(m[i].ask);printf("请输入选项A:");gets(m[i].answer1);printf("请输入选项B:");gets(m[i].answer2);printf("请输入选项C:");gets(m[i].answer3);printf("请输入选项D:");gets(m[i].answer4);printf("请输入答案:");scanf("%c",&m[i].right);cnt++;}}if(count!=cnt)printf("\n题目输入成功:");elseprintf("\n未输入记录!");return cnt;}void list(int cnt){int i;printf("开始显示所有题目...");printf("\n当前文件夹中所有记录显示如下:\n\n");for(i=0;i<cnt;i++){printf("第(%d)题目:%s\n",i+1,m[i].ask);printf("A:%s\n",m[i].answer1);printf("B:%s\n",m[i].answer2);printf("C:%s\n",m[i].answer3);printf("D:%s\n",m[i].answer4);getchar();}printf("所有题目显示完成...");}void rande(int cnt){int i,j,x=1,n,t;int title[100];printf("请输入你想抽取的题数:");scanf("%d",&n);if(n>cnt)printf("您抽取的题目超过了题目总数");else{for(i=1;i<=n;i++){here:x=rand()%n;title[i]=x;for(j=0;j<i;j++)if(title[i]==title[j]){goto here;}printf(" =============================================\n");printf("输出抽取到的第%d题目",i);printf("ÌâÄ¿:%s\n",m[x].ask);printf("A:%s\n",m[x].answer1);printf("B:%s\n",m[x].answer2);printf("C:%s\n",m[x].answer3);printf("D:%s\n",m[x].answer4);printf("请输入你的答案:");scanf("%s",m[x].da);printf(" =============================================\n");}}printf("´答题成功,按任意键返回主菜单...");}void ask(int cnt){int i,n;int count=0;printf("请输入已经答题的数目:");scanf("%d",&n);for(i=0;i<cnt;i++){if(!strcmp(m[i].da,m[i].right)){count++;}}printf("你答对的总题数是%d\n",count);printf("你最后的得分为%d",(100/n)*count);system("pause");}int main(){FILE * fp;int i=0,count=0,select;fp=fopen("tiku.txt","a+");if(fp==NULL){printf("File open error!\n");exit(0);}while(!feof(fp)){if(fread(&m[i],sizeof(struct test),1,fp)==1){i++;count++;}}fclose(fp);while(1){printf("当前文件夹总共有%d条记录.\n",count);menu();printf("请输入你的选择:");scanf("%d",&select);switch(select){case 1:count=input(count);break;case 2:list(count);break;case 3:rande(count);break;case 4:ask(count);break;case 5:fp=fopen("tiku.txt","w");printf("开始保存文件,按任意键继续........");getchar();getchar();for(i=0;i<count;i++){fwrite(&m[i],sizeof(struct test),1,fp);}fclose(fp);printf("\n文件保存成功,按任意键退出系统.....");getchar();exit(0);default:printf("输入错误,请重新输入.....");}}}。
D单项选择题标准化考试系统设计
![D单项选择题标准化考试系统设计](https://img.taocdn.com/s3/m/d4e07a6caf1ffc4ffe47acda.png)
石家庄铁道大学课程设计单项选择题标准化考试系统单位电气与电子工程学院分院(系)专业电气信息类学号学生姓名指导教师石玉晶完成日期:2012 年9 月14日摘要单项选择题标准化考试系统是一款比较实用的小型软件,其原理及相关软件在现在生活中有着广泛的应用。
本设计主要应用语言进行编程,利用C语言中的结构体、文件、数组、函数等知识实现系统的试题库维护、答题、判卷各个功能,并用文件对修改后的试题库进行保存。
应用本设计思路可以进行同类及相关软件的开发报告首先介绍了选题的意义及功能要求,其次介绍了程序的设计思路并包括基本算法和流程图,接着介绍了源程序代码和相关函数功能,最后是系统的实现并对系统做了调试。
本程序应用C语言运行环境实现了全部功能。
报告还附录了参考用书,并提交了实验总结及实验感想。
关键词:单项选择题标准化考试系统、结构体、数组、文件、C语言程序设计。
目录第1章选题意义 (4)1.1 考试系统的意义 (4)1.2 程序设计的意义 (4)第2章系统功能需求分析 (5)2.1 系统的基本要求 (5)2.2 功能实现 (5)第3章系统设计 (6)3.1 设计思路 (6)3.2 基本算法及流程图 (7)3.3 各自定义函数及其功能 (8)3.4 源程序代码 (9)第4章系统实现 (24)第5章总结 (29)参考文献第1章选题的意义•1.1 单项选择题标准化考试系统的意义在计算机技术和互联网飞速发展的今天,生活中自主学习、自主考察测试日益增多,各种学科上机考试已成为一种趋势,因此,单项选择题标准化考试系统及其相关软件在生活中的应用日益增多。
本系统可以实现从题库随机抽题,并自动判卷,将大大方便考生进行练习、自测和考试,同时减轻相关工作人员的负担,提高工作效率,计算机运行的准确性还能降低出错率,提高公平度。
所以,设计并编写单项选择题标准化考试系统及其相关软件是极为有必要的。
•1.2 程序设计的意义本课题的实现主要应用了C语言中的结构体的使用、数组应用和文件应用等内容,还涉及到循环语句、分支选择结构等内容并且用C语言编程。
单项选择题标准化考试系统课程设计论文
![单项选择题标准化考试系统课程设计论文](https://img.taocdn.com/s3/m/6a4814f0a300a6c30d229f09.png)
单项选择题标准化考试系统课程设计论文数据结构课程设计设计说明书单项选择题标准化考试系统起止日期: 2013年 12月 23 日至 2013 年 12月27日学生姓名班级成绩指导教师(签字)课程设计任务书2013—2014学年第1学期计算机与信息工程学院专业班级课程设计名称: 数据结构课程设计设计题目: 单项选择题标准化考试系统完成期限:自 2013 年 12 月 23日至 2013年12 月 27 日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
二、设计要求在本课程设计过程中要求学生:(1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。
凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩。
(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表。
(4)认真编写课程设计报告。
三、设计内容1)问题描述设计一单项选择题标准化考试系统,实现考试的标准化管理。
2) 基本要求功能要求:(1) 用文件保存试题库。
(每个试题包括题干、4个备选答案、标准答案)(2) 试题录入:可随时增加试题到试题库中(3) 试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4) 答题:用户可实现输入自己的答案(5) 自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
四、参考文献1、王红梅,数据结构,清华大学出版社2、王红梅,数据结构学习辅导与实验指导,清华大学出版社3、严蔚敏、吴伟民,《数据结构C语言版》,清华大学出版社目录1、设计目的 (1)2、总体设计 (1)3、详细设计 (1)3.1、程序具体功能 (1)3.2、调试分析.............................................................. 2 4、源程序和运行结果 (2)4.1、源程序 (2)4.2、运行结果............................................................. 12 5、心得体会 ..................................................................15 6、参考文献 (15)单项选择题标准化考试系统 1、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。
C++ 单项选择题标准化考试系统
![C++ 单项选择题标准化考试系统](https://img.taocdn.com/s3/m/60d5df9add88d0d233d46a48.png)
目录1.课程设计目的 (1)2.课程设计题目描述和要求 (1)2.1课程题目 (1)2.2课程要求 (1)3.课程设计报告内容 (1)3.1算法描述 (1)3.2 源程序 (2)4.课程设计总结: (6)5.参考书目 (7)1 课程设计目的练习自己的动手能力,在学习理论的同时增强自己的编程能力,使理论与实践相结合,在学习书本的同时扩展自己的课外知识.2 课程设计题目描述和要求2.1课程题目单项选择题标准化考试系统2.2课程要求(一)功能要求:(1)用文件保存试题库。
(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档.3 课程设计报告内容3.1算法描述定义题目数组,选向数组,输入题目的及选向并给定正确答案。
输入所要答的题目数,然后进行答题。
输入的答案与标准答案进行比较,如果一致,则正确,否则错误。
最后根据题目数及答对题目数进行输出得分。
3.2 源程序#include <iostream>#include <fstream>#include "dos.h"using namespace std;struct question {char ask[200];/*选择题题目*/char answer[4][80];/*选择题选项*/int right;/*正确答案*/struct question *next;};//函数声明int MenuChoice(void); //选择菜单struct question *charu_timu(struct question *fst, const struct question *ad); //向列表中插入试题函数struct question *da_an_weizhi(struct question *seek, long len, long max); //确定一个读取答案的位置的函数void GetQuestion(struct question *src); //获取问题,选项,以及正确答案函数void bao_cun(const struct question *ed, FILE *saf); //将列表中的试题保存在文件中的函数struct question *LoadFile(struct question *td, FILE *laf); //从文件中读取题目,将题目添加到列表中的函数int GetAnswer(void); //输入选择题的答案void huida_Question(const struct question *que, int n); //回答问题函数main(){struct question *start = NULL, temp;long choice, line = 0, c;FILE *fp = fopen("wangkun.dat", "a+");while ((choice = MenuChoice()) != 3)if (choice == 1){GetQuestion(&temp);start = charu_timu(start, &temp);++line;/*统计列表的长度*/system("cls");}else if (choice == 2){c =8;while (c > 6 || c > line) {cout<<"请输入要回答的问题数量: ";cin>>c;}huida_Question(start, line);}return 0;}/*da_an_weizhi函数确定一个读取答案的位置,len代表要读取的答案数,max 代表列表的长度*/struct question *da_an_weizhi(struct question *seek, long len, long max) {int i;while (i--)seek = seek->next;//找到指定的位置return seek;}//向列表中插入试题struct question *charu_timu(struct question *fst, const struct question *ad){struct question *newPtr = (struct question *)malloc(sizeof(struct question));if (newPtr == NULL)exit(0);*newPtr = *ad;newPtr->next = fst;return newPtr;}/*获取问题,选项,以及正确答案*/void GetQuestion(struct question *src){int i = 0;cout<<"请输入选择题题目:"<<endl;cin>>src->ask;while (i < 4) {cout<<"请输入选项"<<char(i + 'A')<<"的答案:"<<endl;cin>>src->answer[i++];}src->right = GetAnswer();}/*从文件中读取题目,将题目添加到列表中*/struct question *LoadFile(struct question *td, FILE *laf){struct question temp;while (fread(&temp, 1, sizeof(struct question), laf))td = charu_timu(td, &temp);return td;}/*将列表中的试题保存在文件中*/void bao_cun(const struct question *ed, FILE *saf){fclose(saf);if ((saf = fopen("wankun.dat", "w")) == NULL)//以写的方式重新打开文件 return ;while (ed) {fwrite(ed, 1, sizeof(struct question), saf);ed = ed->next;}}//得到选择题的答案(不保证是正确的答案)int GetAnswer(void){char c=0 ;//必须进行初始化,避免出现偶然性的错误fflush(stdin);while (c < 'A' || c > 'D') //确保输入的答案是A, B, C, D中的一个{cout<<"请输入正确的答案: "<<endl;cin>> c;}return c;}//回答问题,并统计答对题目数,显示得分void huida_Question(const struct question *que, int n){int i = 0, t = n;char result[1001], *p = result;for (i = 0; n--; que = que->next) {cout<<que->ask<<endl;cout<<que->answer[0]<<endl;cout<<que->answer[1]<<endl;cout<<que->answer[2]<<endl;cout<<que->answer[3]<<endl;if ((*p = que->right) == (*(p + 1) = GetAnswer()))++i;}*p = '\0';cout<<"标准答案"<<" 您的答案 "<<endl;for (p = result; *p != '\0'; )cout<<*p<<" "<<*(p+1)<<endl;cout<<"您回答了"<<t<<"道题, 答对"<<i<<"道题目, 得分:"<< (float)i / t * 100.00<<endl;}//选择菜单int MenuChoice(void){int value;cout<<" **********************************"<<endl;cout<<" * *"<<endl;cout<<" * 1 :添加选择题 *"<<endl;cout<<" * 2 :回答选择题 *"<<endl;cout<<" * 3 :退出 *"<<endl;cout<<" * *"<<endl;cout<<" **********************************"<<endl;cin>>value;return value;}4 课程设计总结:经过编写程序,检验了我们的编程的水平,从这次编程中,我发现我才学到了一点点的知识,有好多的东西都不够熟练,还需要好好的努力学习,在编写这个程序时,出现了好多的问题,经过别人的帮助和自己的认真的调试才完成,这个程序还有好多的不足,还不够美观。
单项选择题标准化考试系统
![单项选择题标准化考试系统](https://img.taocdn.com/s3/m/00c07e7616fc700aba68fc6a.png)
程序设计报告(2012/2013学年第二学期)题目:单项选择题标准化考试系统专业学生姓名班级学号指导教师指导单位日期 _评评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短评语教师签名:年月日评分等级备注评分等级有五种:优秀、良好、中等、及格、不及格课程设计报告具体内容要求:程序设计题目名称单项选择题标准化考试系统一、课题内容和要求(一)功能要求:(1)用文件保存试题库。
(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
(二)其它要求:(1)只能使用语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档二、需求分析(1)用文件保存试题库模块:应该预备一个试题库文本,试题库中可以事先存有试题,每一个试题用一个结构体变量存储;(2)试题录入模块:临时创建一个结构体变量存储从键盘输入的一个试题的数据;再用函数将该结构体的数据写入文本;(3)试题抽取模块:将试题库中所有试题依次读到一个结构体链表中,由键盘输入的N产生N个随机数可以将随机数用一个数组存储,按照每一个随机数的值确定所抽取到的试题,并将试题存储到另一个链表,达到间接的随机抽取试题的效果,同时释放第一个链表的内存;(4)答题模块:建立一个数组存储用户所输入的答案,将答案同链表的对应的结点的答案域部分比较,相同则正确,并且设置的累加器自增加1,同时设置的标志数组(初始化为0)在对应位置置为1,表示该题正确;答案对比不同时则累加器与标志数组都在对应位置不操作;(5)自动判卷模块:输出累加器的值表示总共答对的试题总数,同时输出标志数组每一道题的标志表示答对与答错的试题;(6)自动增加的新功能模块:该模块会弹出二级菜单,具体有“重新答题”、“显示答案”及“返回主菜单”三个功能;“重新答题”将调用答题模块,将刚刚答过的题重新让用户回答,“显示答案”将打印每一个试题结点的答案域,“返回主菜单”则跳出并打印主菜单;(7)退出系统模块:释放内存并且返回0;三、概要设计(1)结构体的存储结构: {[200];[4][100];;*;}(2)用一个语句来确定用户在主菜单选择的功能选项,进入能实现不同的函数调用以实现用户需要的功能,二级菜单选项也是如此;(3)其他各个模块的函数需要的功能见上述的“需求分析”;(4)各个函数的算法详述及源代码见下文“源程序代码”;四、源程序代码各个算法实现的源程序(可以是一组源程序,每个功能模块采用不同的函数实现),源程序要按照写程序的规则来编写。
c 单项选择题标准化考试系统
![c 单项选择题标准化考试系统](https://img.taocdn.com/s3/m/c63b20cb70fe910ef12d2af90242a8956becaacc.png)
c 单项选择题标准化考试系统在当今社会,随着教育水平的不断提高,考试已经成为人们学习和评价能力的重要方式。
而单项选择题作为考试中常见的一种形式,对于考生来说具有一定的挑战性。
因此,建立一个标准化的单项选择题考试系统显得尤为重要。
首先,一个标准化的单项选择题考试系统应当具备科学性和客观性。
考题的设计应该严格遵循教学大纲和教学要求,确保考试内容符合教学大纲的要求和教学内容的实际情况。
同时,考题应当客观公正,避免主观性和片面性,确保考试结果的客观性和公正性。
其次,考试系统应当注重题目的多样性和灵活性。
题目应当涵盖教学内容的各个方面,既要考查学生对基础知识的掌握程度,也要考查学生对知识的灵活运用能力。
同时,考试系统应当灵活运用不同类型的题目,如单选题、多选题、判断题等,以满足不同学生的学习需求。
另外,一个标准化的单项选择题考试系统还应当具备合理性和公平性。
考试系统应当合理确定考试的难易程度,确保考试结果的真实性和可比性。
同时,考试系统应当公平对待每一位考生,避免题目的偏颇性和不公正性,确保每一位考生都能在公平的环境下进行考试。
最后,考试系统还应当具备及时性和有效性。
考试系统应当及时更新考题,确保考试内容与时俱进,适应教学内容的变化和发展。
同时,考试系统应当有效评价学生的学习成果,为学生提供及时的反馈和指导,帮助学生更好地提高学习能力。
综上所述,建立一个标准化的单项选择题考试系统对于提高教学质量、促进学生学习具有重要意义。
只有建立科学、客观、多样、合理、公平、及时、有效的考试系统,才能更好地推动教育教学工作的发展,促进学生全面发展。
希望我们可以共同努力,建立一个更加完善的单项选择题标准化考试系统。
单项选择题标准化考试系统设计
![单项选择题标准化考试系统设计](https://img.taocdn.com/s3/m/578f157f87c24028915fc355.png)
沈阳航空航天大学课程设计报告课程设计名称:C语言课程设计课程设计题目:单项选择题标准化考试系统设计院(系):计算机学院专业:计算机科学与技术班级:学号:姓名:指导教师:孙伟东完成日期:2014年03月1日目录第1章概要设计题目的内容与要求内容:设计并实现一个单项选择题标准化考试系统。
该系统可以完成试题录入、试题抽取、自动判卷等功能。
要求:(1)用文件保存试题库。
(每个试题包括题干、4个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
总体结构本程序主要分为四个模块(功能模块图见下图):(1)模块一:菜单操作模块该模块实现程序的菜单操作。
2)模块二:将题目装入内存模块函数开辟内存空间将试题文件中题目装入内存中。
(3)模块三:开始答题模块函数会让用户输入要答的题目数,在屏幕上输出题干和选项并让用户输入答案。
判断用户输入答案是否正确。
4)模块四:添加试题模块打开储存试题的文件进行试题信息输入。
第2章详细设计菜单操作模块:控制整个程序的运行,控制菜单操作,通过主函数模块分别调用各个模块,实现各项功能,流程如图所示。
接受用户输入。
.将题目装入内存模块:将题目装入内存模块函数开辟内存空间将试题文件中题目装入内存中图2.函数开辟内存空间将试题文件中题目装入内存中。
实现算法如下:遍历文件判断回车符个数(计算题目数)。
根据提供参数判断是否将当前题目装入内存。
开辟内存空间,将题目信息装入内存。
关闭文件返回题目总数。
开始答题模块:开始答题模块函数会让用户输入要答的题目数,在屏幕上输出题干和选项并让用户输入答案。
判断用户输入答案是否正确。
流程图如图第3章调试分析问题1:文本文件无法删除指定的一行方法:所以要用类似于进栈出栈的方法,把要删的信息过滤出去问题2:程序不能运行方法:解决办法就是不断的按F10进行调试,最终找到错误的地方。
D单项选择题标准化考试系统设计
![D单项选择题标准化考试系统设计](https://img.taocdn.com/s3/m/0a0d672e0c22590102029dfe.png)
石家庄铁道大学课程设计单项选择题标准化考试系统单位电气与电子工程学院分院(系)专业电气信息类学号学生姓名指导教师石玉晶完成日期:2012 年9 月14日摘要单项选择题标准化考试系统是一款比较实用的小型软件,其原理及相关软件在现在生活中有着广泛的应用。
本设计主要应用语言进行编程,利用C语言中的结构体、文件、数组、函数等知识实现系统的试题库维护、答题、判卷各个功能,并用文件对修改后的试题库进行保存。
应用本设计思路可以进行同类及相关软件的开发报告首先介绍了选题的意义及功能要求,其次介绍了程序的设计思路并包括基本算法和流程图,接着介绍了源程序代码和相关函数功能,最后是系统的实现并对系统做了调试。
本程序应用C语言运行环境实现了全部功能。
报告还附录了参考用书,并提交了实验总结及实验感想。
关键词:单项选择题标准化考试系统、结构体、数组、文件、C语言程序设计。
目录第1章选题意义 (4)1.1 考试系统的意义 (4)1.2 程序设计的意义 (4)第2章系统功能需求分析 (5)2.1 系统的基本要求 (5)2.2 功能实现 (5)第3章系统设计 (6)3.1 设计思路 (6)3.2 基本算法及流程图 (7)3.3 各自定义函数及其功能 (8)3.4 源程序代码 (9)第4章系统实现 (24)第5章总结 (29)参考文献第1章选题的意义•1.1 单项选择题标准化考试系统的意义在计算机技术和互联网飞速发展的今天,生活中自主学习、自主考察测试日益增多,各种学科上机考试已成为一种趋势,因此,单项选择题标准化考试系统及其相关软件在生活中的应用日益增多。
本系统可以实现从题库随机抽题,并自动判卷,将大大方便考生进行练习、自测和考试,同时减轻相关工作人员的负担,提高工作效率,计算机运行的准确性还能降低出错率,提高公平度。
所以,设计并编写单项选择题标准化考试系统及其相关软件是极为有必要的。
•1.2 程序设计的意义本课题的实现主要应用了C语言中的结构体的使用、数组应用和文件应用等内容,还涉及到循环语句、分支选择结构等内容并且用C语言编程。
C语言单项选择题标准化考试系统
![C语言单项选择题标准化考试系统](https://img.taocdn.com/s3/m/8cbaad4876eeaeaad1f330e7.png)
《高级语言程序设计》说明书设计题目:单项选择题标准化考试系统一、课程设计的内容题目:单项选择题标准化考试系统(一)功能要求:(1)用文件保存试题库。
(每个试题包括题干、四个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)(4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。
(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档二、课程设计的要求与数据1、进一步掌握和利用C语言进行程设计的能力;2、进一步理解和运用结构化程序设计的思想和方法;3、初步掌握开发一个小型实用系统的基本方法;4、学会调试一个较长程序的基本方法;5、学会利用流程图或N-S图表示算法;6、掌握书写程序设计开发文档的能力。
三、课程设计应完成的工作1、编写完成相应题目的程序;2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;2) 总体设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 调试分析过程描述:包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);5) 总结:课程设计完成了哪些功能,有没有什么扩展功能?还有哪些地方需要改进?课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;6) 附录:主要源程序代码,含必要的注释。
3、答辩:在实验室建立程序运行的环境,并在指导教师的监督下,独立解决问题、运行程序和回答教师提出的问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
c语言单项选择题标准化考试系统设计
Company number:【0089WT-8898YT-W8CCB-BUUT-202108】
课程设计任务书
学院、系:
专业:
学生姓名:
学号:
设计题目:单项选择题标准化考试系统设计
起迄日期:
指导教师:
1.设计目的
设计单项选择题标准化考试系统。
2 任务概述
(1)用文件保存试题库(每个试题包括题干、4个备选答案、标准答案). (2)试题录入:可随时在试题库中增加试题.
(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入). (4)答题:用户可以输入自己的答案.
(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩.
3 模块划分
单项选择体标准化考试系统
(3)Save()函数:用于添加试题后保存试题;
(5)Ask()函数:用于答题并判卷。
还有一点就是没有思路的时候千万不要放弃,要学会思考,学会独立有耐心的完成一些事
情,等到做完成功之后,便会收获很多的信心和欣慰。
总之就是要有耐心,坚持多做练习,不会的多请教别人,一切困难都会迎刃而解。
附录:
#include<>
#include<> xt","r+");
opic,que[i].a1,que[i].a2,que[i].a3,que[i].a4,que[i].real);
}
fclose(fp);
return i;
}
void save(struct question que[N],int n)
xt","w+"))==NULL)
{
printf("文件打开失败!\n");
return ;
}
else
{
for(i=0;i<n;i++)
fprintf(fp,"%s %s %s %s %s %c\n",que[i].topic,que[i].a1 ,que[i].a2,que[i].a3,que[i].a4,que[i].real);
}
fclose(fp);
}
void Put()opic,que[i].a1,que[i].a2,que[i].a3,que[i].a4); getch();
}
void Add()xt","a+");
opic,&que[i].a1,&que[i].a2,&que[i].a3,&que[i].a4,&que[i].rea l);
fprintf(fp,"\n%s\n%s\n%s\n%s\n%s\n%c\n",que[i].topic,que[i]. a1,que[i].a2,que[i].a3,que[i].a4,que[i].real);
}
printf("添加信息成功!");
fclose(fp);
getchar();
getchar();
}
void Ask()xt","r+");
printf("请输入要答得题目数:");
scanf("%d",&m);
for(int i=1;i<=m;i++){
fread(&que[i],sizeof(struct question)-1,1,fp);
printf("%s\n%s\n%s\n%s\n%s\n",que[i].topic,que[i].a1,qu e[i].a2,que[i].a3,que[i].a4);
printf("\n请输入您的答案:");
scanf("%c",&r);
getchar();
if(que[i].real==r)
{ printf("\n答案正确!\n");
score++;
}
else {
printf("\n答案错误!\n");
score=score;
}
printf("\n你的总成绩为:%d\n",score);
getchar();
getchar();
}
}
int main()
{ Menu1();
}。