收藏 分销(赏)

c语言单项选择题统一标准化考试专业系统设计.doc

上传人:人****来 文档编号:2804924 上传时间:2024-06-06 格式:DOC 页数:14 大小:211.54KB 下载积分:8 金币
下载 相关 举报
c语言单项选择题统一标准化考试专业系统设计.doc_第1页
第1页 / 共14页
c语言单项选择题统一标准化考试专业系统设计.doc_第2页
第2页 / 共14页


点击查看更多>>
资源描述
课程设计任务书 学 院、系: 专 业: 学 生 姓 名: 学 号: 设 计 题 目: 单项选择题标准化考试系统设计 起 迄 日 期: 指 导 教 师: 1.设计目标 设计单项选择题标准化考试系统。 2 任务概述 (1)用文件保留试题库(每个试题包含题干、4个备选答案、标准答案). (2)试题录入:可随时在试题库中增加试题. (3)试题抽取:每次从试题库中能够随机抽出N道题(N由键盘输入). (4)答题:用户能够输入自己答案. (5)自动判卷:系统可依据用户答案和标准答案对比实现判卷并给出成绩. 3 模块划分 单项选择体标准化考试系统 添加试题到试题库 显示试题库 答题 判卷 退 出 系 统 4关键函数说明及N-S图 (1) 菜单Menu():用来给用户提供选项; 输出菜单界面 输入选项 N 输入1 Y 输入2 N 添加Add()函数 输入3 添加Put()函数 Y N Y 输入4 N Y 添加Ask()函数 exit(0) break break break break (2) Read()函数:用于打开文件; FILE *fp ,int i=0 fp=fopen("单项选择题标准化考试系统设计.txt","r+") Y if(fp==NULL) N printf("文件打开失败"); return 0; for(i=0;!feof(fp);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) return i (3) Save()函数:用于添加试题后保留试题; FILE *fp int i=0 if((fp=fopen(“单项选择题标准化考试系统设计.txt”))==Null) Y N printf(“文件打开失败!”) 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”) (4) Put()函数:用于显示试题; int i,n n=Read(que) 打印表头 i=0;i<n;i++ fprintf(fp,”%s %s %s %s %s\n,que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4”) getch() (5)Add()函数:用于添加试题 FILE *fp int i,a,n (5)A di sruct question que . n=Read(que) printf(“请输入增加试题数目”) scanf(“%d“,&a); i=0;i<n; i++ scanf(”%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”) 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) (5) Ask()函数:用于答题并判卷。 sruct question que[N] int m,score=0;char r; fp=fopen("单项选择题标准化考试系统设计.txt","r+"); printf(“请输入要答得题目数:”) Scanf(”%d”,&m); for(i=0;i<n;i++) if(strcmp(number,stu[i].num)==0);break; 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) N Y printf("\n答案错误!\n"); score=score; printf("\n答案正确!\n"); score++; 图4-6 修改函数(cor) printf("\n你总成绩为:%d\n",score); getchar(); getchar(); 5. 程序运行数据及其结果 6 课程设计心得 经过这次实训,感觉到自己还是差很多,自己学到还是远远不够,练习太少了,好多知识点全部记得不牢,还需要大量练习。又因为一个学期没看了,好多东西全部忘了,所以好多知识点全部是在看得时候重新捡起来。这次实训给我教训就是平时要多多练习部分题型,时不时复习以前知识点,让自己愈加熟练掌握更多编程技巧,更多思绪。 还有一点就是没有思绪时候千万不要放弃,要学会思索,学会独立有耐心完成部分事情,等到做完成功以后,便会收获很多信心和欣慰。总而言之就是要有耐心,坚持多做练习,不会多请教她人,一切困难全部会迎刃而解。 附录: #include<stdio.h> #include<stdlib.h> //串操作及内存操作函数 #include<string.h> //调用系统函数 #include<malloc.h>//动态内存 #include<conio.h> #define N 100 void Menu1(); int Read(); void save(); void Put(); void Add(); void Ask(); struct question { char topic[100]; char a1[100]; char a2[100]; char a3[100]; char a4[100]; char real; }; void Menu1()//主菜单 { system("cls"); puts("\t\t-----欢迎进入单项选择题标准化考试系统设计-----"); puts("\t\t 1----添加试题到试题库中"); puts("\t\t 2----显示试题库"); puts("\t\t 3----答题并判卷"); puts("\t\t 4----退出"); puts("\t\t 请选择……"); int choice1,choice2; while(12) { scanf("%d",&choice1); switch(choice1) { //调用子函数。 case 1:system("cls");Add();Menu1();break; case 2:system("cls");Put();Menu1();break; case 3:system("cls");Ask();Menu1();break; case 4:puts("欢迎下次使用 ");exit(0); } } } int Read(struct question que[N])//打开文件 { FILE *fp; int i=0; fp=fopen("单项选择题标准化考试系统设计.txt","r+"); //以读形式打开文件information.txt if(fp==NULL) { printf("文件打开失败"); return 0; } for(i=0;!feof(fp);i++) { fscanf(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); return i; } void save(struct question que[N],int n) // 考试系统改变后更新并保留文件 { FILE *fp; int i=0; if((fp=fopen("单项选择题标准化考试系统设计.txt","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()//显示试题信息 { struct question que[N]; int i,n; n=Read(que); printf("*********************全部试题信息以下**********************\n\n"); for(i=0;i<n;i++) printf("%s\n%s\n%s\n%s\n%s\n\n",que[i].topic,que[i].a1,que[i].a2,que[i].a3,que[i].a4); getch(); } void Add()//添加试题 { FILE *fp; int a,i; struct question que[N]; fp=fopen("单项选择题标准化考试系统设计.txt","a+"); //以添加形式打开文件 if(fp==NULL) { printf("文件打开失败"); return; } printf("请输入增加试题数目\n"); scanf("%d",&a); for(i=1;i<=a;i++) { printf("\n请输入第%d个试题题目,第一个选项,第二个选项,第三个选项,第四个选项,正确答案,并按回车键确定:\n",i); scanf("%s\n%s\n%s\n%s\n%s\n%c",&que[i].topic,&que[i].a1,&que[i].a2,&que[i].a3,&que[i].a4,&que[i].real); 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()//答题并判卷 { FILE *fp; struct question que[N]; int m,score=0; char r; fp=fopen("单项选择题标准化考试系统设计.txt","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(); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 品牌综合 > 行业标准/行业规范

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服