欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

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

    • 资源ID:4082776       资源大小:36.50KB        全文页数:10页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    C语言程序设计课程设计 题 目: 单项选择题标准化考试系统 专 业: 计算机科学与技术 班 级: 计科1001 目录C语言程序设计课程设计11. 程序分析与设计32流程图33. 源程序清单34调试过程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个试题的信息并显示出来。3) 自动判卷系统功能:在自动抽取试题并将其显示出来后,用一个getchar()函数从键盘接收一个选项的字符,并用if语句,将其与标准答案进行比较,若两者相同,则用计分器自加十分,并显示当前分数;4) 保存到文件(save()函数)首先定义一个exma_book类型的指针p,指向头结点head,在定义一个文件类型的指针fp,根据文件的相关操作,用函数fprintf将链表中的实体信息逐个保存到文件中;5) 退出系统(quit()函数) 首先定义一个exma_book类型的指针pdel,指向头节点head,在定义一个exma_book类型的指针p并将其置空,使用if语句进行判断pdel是否为空,若为空,则使用exit(0)函数直接退出系统;反之,则遍历链表中的所有节点,若不为空,则使用free()函数将该节点的内存释放掉。最后,将单链表中的数据全部释放掉,防止内存泄漏,退出系统。二、 功能模块图三、 程序流程图系统的执行应从选项菜单开始,用户在输入14后系统将执行相应的函数功能,输入其它字符都是无效的,系统会自动给出错误提示。若用户输入1,则调用add()函数,执行添加试题的操作;若用户输入2,则调用random()函数;若用户输入3,则调用save()函数;若用户输入3,则调用函数;若用户输入4,则调用exit()函数;四、程序源代码 #include <stdio.h>/*/#include <stdlib.h>/*/#include <string.h>/*/#include <time.h> /#define MAX_TEXT 100#define MAX_OPTION 50/*数据类型的定义*/*定义一个结构体类型_exma,使用typedef语句定义一个新的类型exma,结构体中包括试题的题号、主干信息、四个基本选项、一个标准答案*/typedef struct _exmaint num;char nameMAX_TEXT;char optionMAX_OPTION4;char da_an;exma;/*定义一个结构体类型_exma_book,使用typedef语句定义一个新类型exma_book,结构体中包括一个储存试题基本信息的结构体变量per和指向下一个试题信息的指针变量*/typedef struct _exma_bookexma per;struct _exma_book *next;exma_book;/*定义一个头节点,将其初始化为空*/exma_book * head=NULL;/*exma_book为结构体,链表的头节点,置空*/*主要函数声明*/void add(); /*添加试题函数*/void random(); /*随机抽取试题函数*/void show(); /*显示被抽题目函数*/void judgment(); /*自动判卷函数*/void save(); /*保存到文件函数*/void quit(); /*退出函数*/*辅助函数定义*/int print_menu();/*打印主菜单界面*/exma_book * get_last(exma_book * from);/*取的链表的最后一个值*/void input_exma(exma * p);/*提示输入一个试题具体信息*/ /*常量声明*/*以下是主菜单要显示的字符声明*/char menu="+=+n" "| 单项选择题标准化考试系统 |n" "+-+n" "| 1 添加试题 |n" "| 2 随机抽取试题 |n" "| 3 保存 |n" "| 4 退出系统|n" "+=+n"/*主函数*/int main()int flg=1;while(flg)switch(print_menu()case 1:add();break; case 2:random();break; case 3:save();break; case 4:quit();break; /*程序清单*/void add()char input='N'exma_book * first;exma_book * last=NULL;first=last=(exma_book*)malloc(sizeof(_exma_book);memset(first,0,sizeof(_exma_book);first->next=NULL;if(head=NULL)head=first;elselast=get_last(head);last->next=first;input_exma(&(first->per);printf(">是否继续输入?(Y 继续 ,N 返回菜单)");getchar();input=getchar();if(input='Y'|'y')add();/*随机抽取试题*/void random()int ran_num;exma_book * p; char input='n' int N,i,n=0;printf("请输入要随机抽取的题目总数N:");scanf("%d",&N);srand(int)time(0);for(i=0;i<N;i+)ran_num=(int)rand();if(head=NULL) printf("对不起!"); printf("此系统中无试题,");printf("请回主菜单进行试题输入操作!");elsep=head;printf("%d",p->per.num);printf(" ");printf("%sn",p->per.name);printf("%sn",p->per.option);printf("请输入你的选项,并按回车键确定:");getchar(); if(p->per.da_an=getchar()n+;else continue;/*保存*/void save()FILE * fp;exma_book * p;p=head;char file100;printf("请输入文件名");puts(file);fp=fopen(file,"w");if(head=NULL) printf("对不起!"); printf("此系统中无试题,");printf("请回主菜单进行试题输入操作!");elsep=head;while(p!=NULL)fprintf(fp,"%d,%s,%s,%cn",p->per.num,p->per.name,p->per.option,p->per.da_an);fclose(fp);printf("文件保存成功!n按任意键返回主菜单···");getchar();getchar();/*退出系统*/void quit()exma_book * pdel=head; exma_book * p =NULL;if(pdel=NULL)exit(0);elsewhile(pdel->next !=NULL)p=pdel->next;free(pdel);pdel=p;free(pdel);exit(0);/*辅助函数*/*主菜单显示界面*/int print_menu()int selected=0;system("cls");printf(menu);printf(">请选择【14】<:");scanf("%d",&selected);if(selected<1|selected>7)printf("错误的选择!(请输入14).按任意键继续···");getchar();getchar();return selected;/*提示输入试题信息*/void input_exma(exma * p)printf("请输入试题基本信息:");printf("输入试题题号···");scanf("%d",p->num);printf("输入试题主干信息···");scanf("%s",p->name);printf("输入试题四个基本选项···");scanf("%s",p->option);printf("输入试题题号···");scanf("%c",p->da_an);/*取得链表最够一个值*/exma_book * get_last(exma_book * from)exma_book * p=from;while(p->next!=NULL)p=p->next; return p;参考文献至少要按报告的格式写出三个参考文献如:1 杨有安. 程序设计基础教程(C语言). 人民邮电出版社,2009.2 谭浩强. C程序设计教程.清华大学出版社,2009.3 谭浩强. C程序设计题解与上机指导(第三版) .清华大学出版社, 2005.4 邱仲潘. C语言参考手册. 机械工业出版社,2004.

    注意事项

    本文(C语言课程设计报告单项选择题标准化考试系统.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开