c语言设计!求解!
设计题目
《 单项选择题考试 系统》
基本要求
试设计一个单项选择题考试系统,使之能提供以下功能:
(1)系统以菜单方式工作
(2)试题信息录入功能(试题信息用文件保存)——输入
(3)试题信息浏览功能——输出
(4)试题信息追加功能——追加
(5)试题信息抽取功能——组题
(6)回答所抽取的题目——答题
功能描述
1---------试题录入
2---------试题浏览
3---------试题追加
4---------试题抽取
5---------答 题
系统说明
1、试题信息包括试题号、题干、4个备选答案、标准答案等;
2、录入的试题信息要求用文件形式保存,并可以对其进行浏览、追加、抽取等基本操作;
3、试题信息的显示要求有一定的规范格式;
4、抽取的试题不能重复;
5、可根据情况增加试题查询、试题修改、试题删除等功能;
6、所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理。
追问:这个能执行么?帮我执行一次 在C++ 条件下。。。
答案:工作量太大,见谅!你可以把这个程序稍作修改!希望对你有帮助!望采纳!#include "insert_delete.h"ncompare(){ char s[100]; char key[100]="haha"; while(1) { printf("请输入密码进行验证:");there: scanf("%s",s); if(strcmp(s,key)==0) { printf("密码验证正确,进入答题系统........\n"); break; } else { printf("密码错误,请重新输入:"); goto there; } } }//菜单menu_list(){ int c; printf(" *******************主菜单**********************\n"); printf(" 1 进入答题\n"); printf(" 2 录入新的试题\n"); printf(" 3 删除记录试题\n"); printf(" 4 插入试题到指定位置\n"); printf(" 5 保存试题到文本\n"); printf(" 6 判断试题,查看成绩\n"); printf(" 7 输出例题以及答案\n"); printf(" 8 载入试题库\n"); printf(" 9 退出答题系统\n"); printf(" ***********************************************\n"); printf(" 请选择你想要的操作(1-9):"); scanf("%d",&c); if(c<1||c>9) { printf("操作数据错误!请重新输入选项:\n"); return 0; } else return c;}//答题系统test_test(struct test *p,int n){ int j; int num; int i; int th=0; int tem[100]; if(n==0) printf("目前题库中还没有题目,请载入题库后在进行操作\n"); else { printf("首先请输入你希望测试的题目个数,系统会随机分配你输入个数的题目(目前总题目个数为%d)\n请输入要测试的题目个数:",n); scanf("%d",&num); for(i=0;i<num;i++) { here: th=rand()%n; tem[i]=th; for(j=0;j<i;j++) if(tem[j]==tem[i]) { goto here; } printf(" =============================================\n"); printf(" 题目:%s\n",p[th].tm); for(j=0;j<4;j++) { printf(" 选项:%s\n",p[th].xx[j]); } printf(" 请输入你的答案(注意是大小写,大小写错误记零分):"); scanf("%s",p[th].as); printf(" =============================================\n"); } }}//试题录入test_in(struct test *p,int n){ int i,j=0; char sign='y'; while(sign=='Y'||sign=='y') { printf("===========请按提示输入数据===========\n"); printf("请输入题目:"); getchar();aa: gets(p[n+j].tm); for(i=0;i<n+j;i++) if(p[n+j].tm[0]==p[i].tm[0]) { printf("已有题号,请重新输入!\n题号:"); goto aa; } for(i=1;i<=4;i++) { printf("请输入第%d个选项:",i); gets(p[n+j].xx[i-1]); } printf("请输入正确答案:"); scanf("%s",p[n+j].da); printf("====>提示是否继续录入试题(Y or y继续,任意键退出):\n"); getchar(); scanf("%c",&sign); j++; } printf(" ===============转到主菜单==================\n"); return n+j;}//文件保存void save(struct test *ts,int n){ FILE *fp; int i=0; char filename[50]; printf("请输入导出文件夹,列如:G:\\f1\\score.txt\n"); scanf("%s",filename); if((fp=fopen(filename,"w+"))==NULL) { printf("文件保存失败!"); exit(1); } while(i<n) { fwrite(&ts[i],sizeof(struct test),1,fp); i++; } fclose(fp); printf("------记录已保存到文件中-------\n");}//评分系统test_compare(struct test *p,int n){ int i; int temp=0; int count=0; if(n==0) { printf("目前题库中还没有题目,请载入题库后在进行操作\n"); return 0; } else { for(i=0;i<n;i++) { if(!strcmp(p[i].da,p[i].as)) { count++; } } printf("你答对的总题数是%d\n",count); return n; }}//例题以及答案test_out(struct test *p,int n){ int i=0,j=0; if(n==0) { printf("很抱歉,试题库中暂时没有任何试题!\n"); printf(" ===============转到主菜单==================\n"); } else while(i<n) { printf(" =============================================\n"); printf(" 题目:%s\n",p[i].tm); for(j=0;j<4;j++) { printf(" 选项:%s\n",p[i].xx[j]); } printf(" 正确答案:%s\n",p[i].da); printf(" =============================================\n"); i++; }}//试题库载入test_under(struct test *p){ int i; FILE *fp; char filename[20]; printf("请输入你要导入的文件名及路径:"); scanf("%s",filename); if((fp=fopen(filename,"rb"))==NULL) { printf("文件打开失败!\n"); return 0; } i=0; while(!feof(fp)) { if(1!=fread(&p[i],sizeof(struct test),1,fp)) break; i++; } fclose(fp); printf("已经成功从文件%s导入数据!\n",filename); return i;}//主函数main(){ int n=0; struct test ts[100]; system("color 1f"); ncompare(); while(1) { switch(menu_list()) { case 1: test_test(ts,n);break; case 2: n=test_in(ts,n);break; case 3: n=delete1(ts,n);break; case 4: n=insert(ts,n);break; case 5: save(ts,n);break; case 6: test_compare(ts,n);break; case 7: test_out(ts,n);break; case 8: n=test_under(ts);break; case 9: exit(0); } }}这个99%的可能性 不会有人回答的,
1.这个题目网络上肯定找不到答案,有答案的话 也肯定是别人看过你的题目后做出来的,
你说别人会为了你100分的问问积分 花上大把时间去做一个吗? 除非你花钱,或者你自己用工点做吧
上一个:c语言是什么?
下一个:C语言编程问题