版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z仲恺农业工程学院课程设计报告单项选择题标准化考试系统课程名称C语言程序设计姓名院〔系〕信息科学与技术学院专业班级学号指导教师目录1目的插入试题模块:确定插入题目数,选择需要插入的题目类型,翻开文件,插入题目,关闭文件.删除试题模块:确定删除题号,选择需要删除的题目类型,读出文件,删除题目,并创立一个新的文件覆盖原文件,把剩下的试题读入文件.3系统设计3.1主要构造体题目,选项A,B,C,D,答案structTest{ charquestion[200];charoption1[100]; charoption2[100]; charoption3[100]; charoption4[100];charkey;}3.2主要功能函数intaddtest()//增加试题voidanswerq()//答题voidchangeface()//选择试题类型界面intchangeopenfile()//选择翻开文件intpare(chara,charb)//答案对照voidreadfile(inti,Testp)//显示题目voidshowtest(intn,intm)//展示题目或删除构造体元素voidstartinterface()//开场界面
4系统调试(1)操作界面(2)选择界面:(3)答题:(4)插入试题:(5)显示题库试题(6)删除题目:(7)退出系统总结经过这两个星期的C语言课程设计的训练,我学到了很多,最主要的一点是怎样去自学一种东西,怎样去找到你所需要的资料,并在短时间把它学会,运用到你所需要的方面。这个过程是很困难的,要花费很多的时间和精力,但是,在事情过后,自己就会发现自己已经在这个过程中学到了自己想要的东西,这种获得是更深刻的。在做这个C语言课程设计的时候,我原先也是知之甚少,什么是构造体数据,什么是定义类型,怎样在一个main函数中调用别的定义函数,等等,可以说是一无所知。然而,在这门课程设计中,这些方面却是特别重要的,可以说,掌握了这个,你就完全可以完成自己的任务。这就要求我们要自己去学,自己去探索。当然,跑图书馆是必不可少的,还有,身边有非常丰富的网络资源给我们好好利用,百度就是个很不错的地方。这样就从另一方面锻炼了我们检索知识获取信息的能力,在这个过程中,可以学到的是一种提升自我的能力。当然,由于个人能力所限,这份课程设计有一些别的方面还是要参考人家的的资料,在读懂别人材料的同时,自己取人所长,补己之短,经过屡次的调试,总结,最后交出一份自己比拟满意的答卷。通过这次的课程设计,让我进一步的了解到C语言在我们日常生活中的重要性,而且,也更进一步的激发了我学习这门语言的兴趣.经过这次的训练,我相信自己以后会用更多的时间来把这门语言学好,掌握好这门必修的根底语言。源程序清单*include<stdio.h>*include<stdlib.h>*include<time.h>*include<conio.h>*defineMA*50typedefstructTest{charquestion[200];charoption1[100];charoption2[100];charoption3[100];charoption4[100];charkey;}Test;FILE*fp;voidchangeface()//选择试题类型界面{printf("\n\n\n\n\n");printf("\t\t\n");printf("\t\t|选择试题类型|\n");printf("\t\t||\n");printf("\t\t|1.数据构造|\n");printf("\t\t||\n");printf("\t\t|2.c/c++|\n");printf("\t\t||\n");printf("\t\t\n");}intaddtest()//增加试题{inti,num;Testtitle[MA*]={"\0"};FILE*fp;changeface();do{scanf("%d",&i);fflush(stdin);switch(i){case1:fp=fopen("questionbank1.t*t","a+");break;case2:fp=fopen("questionbank2.t*t","a+");break;default:printf("你输入的指令不正确,请重新输入\n");}}while(i!=1&&i!=2);system("cls");while(1){printf("请输入要插入的题目数(<=50)\n");scanf("%d",&num);fflush(stdin);if(num<=MA*&&num>0)break;elseprintf("输入有误,请重新输入题目数\n");}for(i=0;i<num;i++){printf("请输入第%d道题题目,选项和答案:\n",i+1);//输入构造体元素容printf("请输入题目\n");gets(title[i].question);printf("请输入选项A:");gets(title[i].option1);printf("\n请输入选项B:");gets(title[i].option2);printf("\n请输入选项C:");gets(title[i].option3);printf("\n请输入选项D:");gets(title[i].option4);fflush(stdin);printf("\n请输入答案:\n");scanf("%1c",&title[i].key);fflush(stdin);system("cls");}for(i=0;i<num;i++){printf("%d.%s\n%s\t%s\t",i+1,title[i].question,title[i].option1,title[i].option2);printf("%s\t%s\n答案:%c\n",title[i].option3,title[i].option4,title[i].key);}if(fp==NULL)return0;else{for(i=0;i<num;i++)fprintf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",title[i].question,title[i].key,title[i].option1,title[i].option2,title[i].option3,title[i].option4);fclose(fp);}return1;}voidstartinterface()//开场界面{printf("\n\n\n\n\n");printf("\t\t\n");printf("\t\t|单项选择题标准化考试系统|\n");printf("\t\t||\n");printf("\t\t|1.答题|\n");printf("\t\t||\n");printf("\t\t|2.试题插入|\n");printf("\t\t||\n");printf("\t\t|3.显示题库题目|\n");printf("\t\t||\n");printf("\t\t|4.删除试题|\n");printf("\t\t||\n");printf("\t\t|5.退出系统|\n");printf("\t\t\n");}intchangeopenfile()//选择翻开文件{inti;do{scanf("%d",&i);fflush(stdin);switch(i){case1:fp=fopen("questionbank1.t*t","r+");break;case2:fp=fopen("questionbank2.t*t","r+");printf("rrrrrrrrr\n");break;default:printf("你输入的指令不正确,请重新输入\n");}}while(i!=1&&i!=2);system("cls");returni;}intpare(chara,charb)//答案对照{if(a==b||(a-32)==b){printf("答对了\n");return1;}else{printf("答错了\n正确答案是%c\n",b);return0;}}voidreadfile(inti,Testp)//显示题目{printf("%d.%s\n",i+1,p.question);printf("A.%s\t",p.option1);printf("B.%s\n",p.option2);printf("C.%s\t",p.option3);printf("D.%s\n",p.option4);}voidanswerq()//答题{Testtitle[MA*];intn,i,j,k,num[MA*],score,sum=0;charh;if(fp==NULL){printf("\n不能翻开questionbank.dat文件,按任何键退出程序!\n");getch();e*it(-1);}for(j=0;!feof(fp);j++)//统计文件中的构造体项数{fscanf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",&title[j].question,&title[j].key,&title[j].option1,&title[j].option2,&title[j].option3,&title[j].option4);}fclose(fp);while(1){printf("请输入需要答题的题目数\n");scanf("%d",&n);//n必须小于jfflush(stdin);if(n>j)printf("输入的题目数大于题库的题目数,请重新输入\n");elsebreak;}for(i=0;i<n;i++)//产生n个不同的随机数{srand(time(NULL));num[i]=rand()%j;while(1){for(k=0;k<i;k++)//排除一样随机数if(num[k]==num[i])break;if(k==i)break;num[i]=rand()%j;}readfile(i,title[num[i]]);printf("输入答案:");scanf("%c",&h);fflush(stdin);score=pare(h,title[num[i]].key);sum+=score;}printf("答对%d题\n",sum);printf("按任意键返回主界面\n");getch();}voidshowtest(intn,intm)//展示题目或删除构造体元素{inti,j,k;Testtitle[MA*];if(fp==NULL){printf("\n不能翻开questionbank.dat文件,按任何键退出程序!\n");getch();e*it(-1);}for(j=0;!feof(fp);j++)//统计文件中的构造体项数{fscanf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",&title[j].question,&title[j].key,&title[j].option1,&title[j].option2,&title[j].option3,&title[j].option4);}fclose(fp);for(i=0;i<j;i++)readfile(i,title[i]);if(n==1){printf("按任意键返回主界面\n");getch();system("cls");}else{printf("输入需要删除的题号:\n");scanf("%d",&k);switch(m){case1:fp=fopen("questionbank1.t*t","w+");break;case2:fp=fopen("questionbank2.t*t","w+");break;}for(i=0;i<j;i++){if(k-1==i)continue;fprintf(fp,"%s\t%c\n%s\t%s\t%s\t%s\n",title[i].question,title[i].key,title[i].option1,title[i].option2,title[i].option3,title[i].option4);}fclose
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年崇左市殡葬管理服务系统事业单位人员招聘考试备考试题及答案详解
- 2026年大兴安岭市国家电网系统事业单位人员招聘考试备考试题及答案详解
- 2026年北京市普仁医院医护人员招聘笔试模拟试题及答案解析
- 攀枝花市卫生健康委员会攀枝花市妇幼保健院2026年春季引才考核笔试模拟试题及答案解析
- 2026 增肌期糍粑课件
- 2026年福建泉州东园镇中心卫生院招聘工作人员考试模拟试题及答案解析
- 2026 增肌期烤鱼课件
- 2026年本溪市社区工作者招聘考试备考试题及答案详解
- 医院感染防控预案
- 2026年安阳市劳动保障监查系统事业单位人员招聘考试备考试题及答案详解
- 第四章 《金瓶梅》
- 传感器技术与应用-说课
- GB/T 3452.4-2020液压气动用O形橡胶密封圈第4部分:抗挤压环(挡环)
- GB/T 13816-1992焊接接头脉动拉伸疲劳试验方法
- 2022年养老护理员理论考试题库(600题)
- 碳捕集、利用与封存技术课件
- 翰威特-绩效管理理论与操作实务
- 新生儿听力筛查(共29张)课件
- 《消防安全技术实务》课本完整版
- (精心整理)数学史知识点及答案
- 王家岭煤矿初设说明书201204
评论
0/150
提交评论