求c语言 单项选择题标准化考试系统设计代码 不要c 的
#include #include #include #defineTRUE?1 #defineERROR?0 #defineMAX?30 typedefint?Status; typedefstruct{ charoption1[30],option2[30],option3[30],option4[30],subject[150]; char?result; }TestNode; TestNodeTestquestions[MAX]; StatusSaveNode(int?N)?//把结构体数组保存到文件"cheng"中,如成功保存返回TRUE,否则返回ERROR {?int?i; F...全部
#include #include #include #defineTRUE?1 #defineERROR?0 #defineMAX?30 typedefint?Status; typedefstruct{ charoption1[30],option2[30],option3[30],option4[30],subject[150]; char?result; }TestNode; TestNodeTestquestions[MAX]; StatusSaveNode(int?N)?//把结构体数组保存到文件"cheng"中,如成功保存返回TRUE,否则返回ERROR {?int?i; FILE?*fp; if((fp=fopen("cheng","wb"))==NULL)return?ERROR; for(i=0;iMAX)?return?ERROR; printf("请输入所要插入题题目、题干和选项:
"); printf("请输入题目:"); gets(Testquestions[N]。
subject); printf("请输入选项A:"); gets(Testquestions[N]。option1); printf("请输入选项B:"); gets(Testquestions[N]。
option2); printf("请输入选项C:"); gets(Testquestions[N]。option3); printf("请输入选项D:"); gets(Testquestions[N]。
option4); printf("请输入答案:"); scanf("%c",&Testquestions[N]。result);getchar(); N ;?//N表示结构体数组长度,通过加&号使其值能返回 return?TRUE; } StatusDeleteNode(int?n)//删除数组中的第n个元素 {? return?TRUE; } voidprintNode(TestNode?p,int?n)//输出第n道题题目 {? printf("(%d)?",n); printf("%s
",p。
subject); printf("?A?%s?",p。option1); printf("?B?%s?
",p。option2); printf("?C?%s?",p。option3); printf("?D?%s?",p。
option4); } Status?Match(TestNode?p,char?m)//判断m是否为p题目的答案,若是返回TRUE,否则返回ERROR {? if(m==p。
result)?return?TRUE; else?return?ERROR; } voidanswer(int?sum)//进行答题 { int?i,score=0,Num; char?r; for(i=1;i{?Num=rand()%sum;?//随机函数,以随机选定何题进行解答 printNode(Testquestions[Num],Num 1); printf("
请输入答案:"); scanf("%c",&r);getchar(); if(?Match(Testquestions[Num],r))?//调用函数IsMatch判断所输入的答案与标准答案是否相同 {?printf("
答案正确!
"); score ; } else?printf("
答案错误!
"); } printf("
你的总成绩为:%d
",score); } voidmain() {?char?flag='N'; int?N=0,i,?sum,score=0,chose; /*printf("输入想建立的题目文件题目数:"); scanf("%d",&N);getchar(); InputTitle(N);*/ ReadNode(N); while(flag=='N'||flag=='n') {?printf(" 单项选择题标准化考试系统
"); printf("
"); printf("? 1?进行答题并判卷
"); printf("? 2?显示整张试卷内容
"); printf("? 3?插入试题
"); printf("? 4?保存到文件
"); printf("? 5?退出系统
"); printf("? ?请选择:"); scanf("%d",&chose);getchar(); switch(chose) {case1:system("cls"); printf("请输入你想要的答题数目:"); scanf("%d",&sum);getchar(); answer(sum); break; case?2:system("cls"); for(i=1;i{?printNode(Testquestions[i-1],i); printf("
"); }? break; case?3:system("cls");InsertNode(N);break; case?4:system("cls"); if(SaveNode(N))?printf("保存成功!
"); else?printf("保存失败!
");break; case?5:printf("你将退出系统(Y?or?N)?"); scanf("%c",&flag);getchar(); if(flag=='Y'||flag=='y')?exit(0); system("cls");break; default:printf("请输入正确选择!
"); } } }。收起