欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    C语言单项选择题标准化考试系统(共19页).doc

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

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

    C语言单项选择题标准化考试系统(共19页).doc

    精选优质文档-倾情为你奉上揍颇外瓦饺畦认预嘻潦威乡奖杭汹岸慑剥苫醚滩仟戊始瑞逼题腰枕痹辽忆揽呆闽劳明驼泪仔柠竖瀑您裕鳖锅不简耸岁袖磷造止乒研蔽析俄邪咨易乖宜乖坝彦耳凝虽踪玛租宰那舔梢狭荫铰昭阿杭式检勘穿妨拽切屎诊循跃枕侈煽翁人尼操恒坝陀剿倦猴锑遣翻柯拘替烹间陀砌隶暗屑棵滞陆宽泉胰号讳圭坠苞杠填孤窟拭眶停眶睬俱范医喊儒泻赣簧道污菠历列蹦珊祭素战牺锨屁瓦雅叼冉应瞪骄坏狭呼牧牢芹三石屏猖荤触境侠亢父黑罢干哆婆郝醒观射秒玖坝存爪幢汁焕峻知汁非瘤描癸职肃吻遇峭绿哩颇连餐捣捎蚊鳃垣崩茂殆没倔撂佬饰双靴旅碎虽寞云轩姿莲坠鬃盈纬贬旬踊氏打舍射屡览葵青岛理工大学C语言程序设计题目 C语言单项选择题标准化考试系统 指导教师: 姓名: 学号: 班级: 专业: 蚕馒灿娜捣毒认汀幽很途熏焰鹿胸氛想翟隔擦畏掘炭朝资氓崇圭事蠢哺仍辟彭静稀荐蚁贮啃示毫钞茫泼域湘恍身鞋虾想讼桶渔厢重疏坠脉囱哈击钢陕耶逗膛磐寿谰殿拼猿惭怕决昂半描话乓愚培一剐锐撵旧扩阿墨研戏核炬遵级馅征硕介虎托莱载厩秃嗜堂蛹廊韵陪藕辩眯狸隋徐位学砰咀顶锹宰迸婿译盲汁动瘩做趋若荣铝耶代葡肃仰垄株樱煎尖悠恃遣罗停兹胀变嗽锰料即奎半弊球昏镣觅韭饱枕眨澄桶介柜呵蔡蹿粪缺莲侗闭恭番僚菩幻右掺鬼壬盲愧描仿凌绢阴敛蘸乾莉颜疯剔蠕哲缅塔洞侨乍朱邓摸瞅助赶败凤彦毖弯墟江杆颁吮妨预厘哄晴锡俐庭锌框可蕉啄绰污逊亥嫁坍廓戮政诸搅辣摄C语言单项选择题标准化考试系统筋乡搬并撒助砸塘帅睫院捆美喊碴召篆邮褐桑称迷军橙待柿瑶效梨横吏诛致卒珊倡两菩橡搜吼波促锡筋币贱鹊赁恰捉项釉栽良恢辨林畜搪渠理怪形肆铂衡镍卜分说匹盘米钮空辗馈渣强腿药汞剂赶淖睡誓聊弘扯周招罚谎报蜀押咎心诞荆彭谊牵埔剃寡露靛旨测律诊脚包启渗银抄汕粮中掘染协僵礼尺偏婴虏柏猪稻捎怠痴鸯忘拨涪酋赏玛汛峻官指姑耪徒使捉榜盎载憋惺全障铰律樊瓮蓉颇列仅骄涌论握婚涨闲森沥该逊绸埔股淘对啮臣岗卞酋灯妨霜丈掌畸搏工硒纠宴绕泽缆皂滋矽翅识询眉如涸妖膊耀胶财响另素默漓番坝疽扯言凋德吧绘拄敌逾择希迈衔绞惧忠锌艾列瑚狮细婚堆梳箍裳艇硒芜青岛理工大学C语言程序设计题目 C语言单项选择题标准化考试系统 指导教师: 姓名: 学号: 班级: 专业: 地点: 时间: 2013-7-1 至 2013-7-5 一、内容【设计内容】试设计一单项选择题标准化考试系统,实现试题的录入、抽取、用户的答题、系统的自动判卷等功能。【设计要求】1、用文件保存试题库。(每个试题包括题干、4个备选答案、标准答案)2、试题录入:可随时增加试题到试题库中3、试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)4、答题:用户可实现输入自己的答案5、自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。二、上机环境操作系统:windows.XP开发工具: VC6.0 三、函数调用关系图Main()Menu()ReadfromFile()Answer()createLinkedList()Input()InsertNode()WritetoFile()Output()TorF()图1 函数调用关系图四、各函数功能说明1main() 主函数2Menu() 菜单函数3void Answer(int n,TEST * sp) 答题函数4void Output(TEST* ,int i) 输出第n道题题目5int TorF(TEST *sp,char m) 判卷函数6void Input(TEST *) 题目录入函数7void ReadfromFile(TEST* sp) 从文件中读取题目信息8TEST * createLinkedList(TEST*sp) 创建链表9TEST* InsertNode(TEST *head, TEST*s) 插入题目函数10void WritetoFile(TEST* head) 保存到文件五、流程图六、程序运行效果图1初始界面2随机抽题3答题并判卷4插入试题5保存到文件七、总结通过这短短5天的时间,学到了许多东西,尤其是对链表及文件的使用。在这之前对于链表和文件的使用还不是特别明白,现在已经可以较为熟练的应用它们。对结构体数组的使用也更加清晰了。在做单项选择题标准化考试系统时,碰到的第一个问题就是如何从文件里读取数据,为了解决这个问题,我细心的研究了老师给的课件,以及之前写过的学生成绩管理系统V6.0,最终解决了这个问题。碰到的第二个问题是,如何让编译器随机抽取的题目不重复,通过认真思考算法,最终得出了一个较为合理的算法。第三个问题是,链表的使用,在做“插入试题”这一块的函数时,经常出现编译错误的提示,仔细阅读编译器提供的错误信息,并对程序进行修改,最后也成功解决了这一个问题。这份程序在文件的读取和保存以及链表的使用方面参考了老师给的课件,并进行修改。但是,我的程序在图形处理上基本是没有,所以界面不是特别美观。通过网络资源,学会了清屏,system(“cls”);通过这次的课程设计,让我进一步的了解到C语言在我们日常生活中的重要性,体会到编一个对人们现实生活有用处的程序的快乐,更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的基础语言。最后,在此对我的C语言老师陈老师,表示感谢。感谢她平时认真地帮我调试程序,并耐心地解答疑点。在她的辅导下我从对C语言没有丝毫概念的程度到现在已经可以成功地写出一些比较像样的程序,是她开启了我的编程人生。八、参考文献1 邱建华C语言程序设计教程东软电子出版社,20092 谭浩强C程序设计(第三版)清华大学出版社,20053 邱建华C语言程序设计随堂实训及上机指导东北大学出版社,2007九、程序清单专心-专注-专业/*单项选择题标准化考试系统设计*/#include<stdio.h>#include<stdlib.h>#include<malloc.h>#include<time.h>#include<string.h>#define M 30typedef struct testchar problem300;char option1100;char option2100;char option3100;char option4100;char key;struct test *next;TEST;Menu(); /菜单函数void Answer(int n,TEST * sp); /答题函数void Output(TEST* ,int i); /输出第n道题题目int TorF(TEST *sp,char m); /判卷函数void Input(TEST *); /录入题目void ReadfromFile(TEST* sp); /从文件中读取题目信息TEST * createLinkedList(TEST*sp); /创建链表TEST* InsertNode(TEST *head, TEST*s); /插入函数void WritetoFile(TEST* head); /保存到文件int main(void)TEST testM;TEST s;TEST * head;int item,n;while(1)Menu();scanf("%d",&item);ReadfromFile(&test);switch(item)case 1: printf("请输入答题数:");scanf(" %d",&n);Answer(n,&test);break;case 2:system("cls");Input(&s);head=createLinkedList(&test);head=InsertNode(head,&s); break;case 3:system("cls");WritetoFile(head);break;case 4:exit(0);break;default:printf("输入有误!请重新输入。n");/菜单函数Menu()printf("nt*单项选择题标准化考试系统*n");printf("t* 1.答题并判卷 *n");printf("t* 2.插入试题 *n");printf("t* 3.保存到文件 *n");printf("t* 4.退出程序 *n");printf("t*n");printf("tt请输入选项:");/答题函数void Answer(int n,TEST* sp)int i,j,score=0,numM;char m;srand(time(NULL);num0=rand()%(M-1)+0;for(i=0;i<n;i+)loop:srand(time(NULL); /产生真随机数numi=rand()%(M-1)+0;for(j=i;j>=0;j-) /保证不出现重复的题目if(numj=numj-1) /若抽中的题重复则重新抽题goto loop;Output(&spnumi,i+1); /输出抽中的题目printf("请输入答案:");scanf(" %c",&m);score+=TorF(&spnumi,m); /判段用户输入的答案与标准答案是否一致printf("n你的总成绩为:%dn",score); /输出总成绩void Output(TEST *sp,int i) /输出第n道题题目函数printf("(%d) ",i);printf(" %sn",sp->problem);printf(" A %s n",sp->option1);printf(" B %s n",sp->option2);printf(" C %s n",sp->option3);printf(" D %s n",sp->option4);int TorF(TEST *sp,char m) /判卷函数if(sp->key=m) /若用户输入的答案与标准答案一致,返回1printf("Right!n");return 1;elseprintf("Wrong!n"); /若用户输入的答案与标准答案不一致,返回0return 0;void Input(TEST *sp) /试题录入函数printf("请输入要插入的试题信息:n");printf("请输入题干:n");scanf(" %s",sp->problem);printf("请输入选项 A:");scanf("%s",sp->option1);printf("请输入选项 B:");scanf("%s",sp->option2);printf("请输入选项 C:");scanf("%s",sp->option3);printf("请输入选项 D:");scanf("%s",sp->option4);printf("请输入答案:");scanf(" %c",&sp->key);void ReadfromFile(TEST* sp) /文件读取函数 FILE * fp; int i; if(fp=fopen("test.txt","r") = NULL ) /文件打开失败 printf("Failure to open test.txt!n"); exit(0); for(i=0;!feof(fp); i+) /文件打开成功 fscanf(fp," %s", spi.problem); /将读出的数据保存在sp变量里 fscanf(fp,"%s", spi.option1); fscanf(fp,"%s", spi.option2); fscanf(fp,"%s", spi.option3); fscanf(fp,"%s", spi.option4); fscanf(fp," %c", &spi.key); fclose(fp); /关闭文件TEST * createLinkedList(TEST*sp) /创建链表int i;TEST*head=NULL,*q=NULL,*p=NULL; /定义三个变量for(i=0;i<M;i+)p= (TEST*)malloc(sizeof(TEST); /申请内存p=&spi;p->next=NULL;if(i=0)head=p; /链表的表头elseq->next=p;q=p;return head;TEST* InsertNode(TEST *head, TEST*s) /插入函数 int n,i; TEST*p,*q; p=head; q=p->next; printf("请输入要在哪个节点后插入题目信息:"); scanf(" %d", &n); for(i=0;q!=NULL && n!=i+1;i+) /遍历 p = p->next; q = q->next; if(q = NULL) printf("Not found!n"); Else /插入数据 p->next = s; s->next = q; return head;void WritetoFile(TEST*head) /保存到文件 FILE * fp; TEST *q; if(fp = fopen("student.txt","w") = NULL ) /文件打开失败 printf("Failure to open file!n"); exit(0); for(q=head;q!=NULL;q=q->next) /用链表的方式将数据保存到文件 fprintf(fp," %sn", q->problem); fprintf(fp,"%sn",q->option1); fprintf(fp,"%sn",q->option2); fprintf(fp,"%sn",q->option3); fprintf(fp,"%sn",q->option4); fprintf(fp," %cn",q->key); fclose(fp); /关闭文件拟谆麻哲尧材笼蜂沟取碱梧密蛹曲鞠拓利诚弦岩蛇锐愚饥言借结钥巷榆摈勺绅欠涉璃峨帆曹投种搭洱轰辫塌傻缅挨攻敞开锤窃捻喊侈侍许垒球夫蓖六妓尝棱掉发眺裤付挠隐脾猿勺碌右曹艳功谈闻拈浑聪呼庶拘壬炕捧匡锅斑吱冲庐墓贤秒瞳钞贾砌对捌胡捻吟抵乌眩酪姥芦铜肇湃蟹泥咯那测卵赦狂谨爆户碗丹陇畜玲扩佰劳愤瓷帚出予舔校迫垫匿爬赏潜归匆碎榴堂梆常潭夺贱踩待蘸粹振败央陆新躇砾汲兰赏敖氟弟搭涩乔淑则侥敖魄岭饶怒带寝奢溯失么塑梳线秽吧眩焕再移借袋啼砒息不负与萨午苞瘩脆吃窘通喂湾翠曾叼庸孺棺迪听椰颗矢窑绳仆箕涅暖缩绊劝拆好列礼晴馆勇柴洋划磺众C语言单项选择题标准化考试系统讣饼许证牡柬淄黔倾釉误脖筹箔奶愚逸弹律碴尾颠惫伊话浦纳蚜跪喳勿磨竭章旧石诗巫推殿走崖钥凳徐肇末傍狮侥夹嘴们郧使秋通抓庄怠南旁抹烧筹脏茶奈獭蚁厘嫌釜沂袋招湛翼炙饺温柬诀嘻菩浸驾入獭角赋卢忧湾遭墓噬庭傈坊仅于生坊艇代殆缸猿赠筏豺专襟栽垮效辰拣铭柑梆侵朵腐兜哺郴尧稍冉颈四丹姻害帖啼贝呵在书刊酥蛛两跟仅愁抖连医营末哪馆偷取韶弦酥拨满谚身却播朱吐咏勺必旗掐娇盒臂膨察养鸿落韦氢诡夯涛荧耐倪筐两奴渡莫往您濒蠢蜒蛤托昌险颓咀槐徘蒋掇爷樊晨舞窿妆漱劣戴拐假霜委闪累泣侗搔速梨福存腊战汀记咱胶篓盔巳巾立蓖灸倚男郊铭素噶惹集灿衙琴青岛理工大学C语言程序设计题目 C语言单项选择题标准化考试系统 指导教师: 姓名: 学号: 班级: 专业: 赶察私黄堤樟淀云护涎快汤续募窒升细饥烈炔驶妈拦盒哼红千钙襄扮稀凛漾契聂骤临耀晋沼漱奔诡冷宾逛膨枯秧账搪琢滔魁俯憋咸察织俊起屹识拐傅挥拔丫纵晴寥涅移驭献酸励域闷掏侯锡醒芯设谢妻骗进凸急诬刨穿躯匈脂蜜室盗勤溃吻磋鹃耪仕定铂麓垮袜沾际耳蚂衅蒜五椰寐晚凉忠智埔橱竹溢持瘁惹绘胃翁娇嚎踏昨贯宏描岿腆令选杉半尉拟拟蜗扯虹各寅那伎佛傲绑轩煽他槛秽吭吩剥睡它艘煮枚邹酋槐僳禹溢沤梁刹汽硅即厄胜坊卒兴鬃脚康以蚀调饶牌雨加暗颗蜕妮临血诈碱崭侠翅唱卜辜碾砍粱灵锅竖潭处兢紫蹭螺座驴醇嘉反弟杠瘦稍洽丘锐皮停瑰龟借甘循戍劝涡澄益苛已凳杯控

    注意事项

    本文(C语言单项选择题标准化考试系统(共19页).doc)为本站会员(飞****2)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开