c语言标准化考试系统课程设计解读

合集下载

c考试系统课程设计

c考试系统课程设计

c 考试系统课程设计一、教学目标本课程的教学目标是使学生掌握C考试系统的基本知识,包括考试的类型、流程、评分标准等;培养学生运用C考试系统进行考试的能力,提高学生的应试技巧和考试通过率;培养学生对考试和学习的积极态度,提高学生的自主学习能力和综合素质。

具体来说,知识目标包括:了解C考试系统的基本概念、类型和流程;掌握C考试系统的评分标准和方法;了解C考试系统的应用领域和发展趋势。

技能目标包括:能够熟练操作C考试系统,进行模拟考试和评分;能够运用C考试系统进行考试分析和应试策略的制定;能够运用C考试系统进行考试培训和教学辅导。

情感态度价值观目标包括:培养学生对考试和学习的积极态度,提高学生的自主学习能力和综合素质;培养学生对考试公平、诚信和责任的认识,提高学生的道德素养和社会责任感。

二、教学内容根据课程目标,本课程的教学内容主要包括C考试系统的基本知识、操作技巧和应用实践。

具体安排如下:1.C考试系统的基本知识:介绍C考试系统的概念、类型和流程,包括笔试、面试、机试等各种考试形式;讲解C考试系统的评分标准和方法,如客观题评分、主观题评分等。

2.C考试系统的操作技巧:讲解如何登录C考试系统,进行模拟考试和评分;介绍C考试系统的功能和界面,如题库管理、考试安排、成绩查询等;教授如何运用C考试系统进行考试分析和应试策略的制定。

3.C考试系统的应用实践:介绍C考试系统在各个领域的应用案例,如教育、企业、公务员考试等;分析C考试系统的优势和不足,探讨C考试系统的未来发展。

三、教学方法为了达到课程目标,本课程将采用多种教学方法,包括讲授法、操作演示法、案例分析法、小组讨论法等。

具体方法如下:1.讲授法:通过讲解C考试系统的基本知识和操作技巧,使学生掌握相关概念和原理。

2.操作演示法:通过实际操作C考试系统,使学生熟悉系统的功能和界面,掌握操作方法。

3.案例分析法:通过分析实际应用案例,使学生了解C考试系统的应用领域和优势。

c语言单项选择题标准化考试系统设计

c语言单项选择题标准化考试系统设计

c语言单项选择题标准化考试系统设计课程设计任务书学院、系:专业:学生姓名: 学号: 设计题目: 单项选择题标准化考试系统设计起迄日期:指导教师:1.设计目的设计单项选择题标准化考试系统。

2 任务概述(1)用文件保存试题库(每个试题包括题干、4个备选答案、标准答案). (2)试题录入:可随时在试题库中增加试题.(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入). (4)答题:用户可以输入自己的答案.(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩. 3 模块划分单项选择体标准化考试系统判退添显答卷出加示题系试试统题题到库试题库4主要函数说明及N-S图(1)菜单Menu():用来给用户提供选项;输出菜单界面输入选项输入1 N Y添加Add 输入2 N Y ()函数添加Put输入3 N Y ()函数添加输入4 N Y Ask()函数exit(0)break break break(2)Read()函数:用于打开文件; FILE *fp ,int i=0 breakfp=fopen("单项选择题标准化考试系统设计.txt","r+")Y if(fp==NULL) Nprintf("文件打开失败");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 *fpint i=0if((fp=fopen(“单项选择题标准化考试系统设计.txt”))==Null)Y Nprintf(“文件打开失败~”)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,nn=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()函数:用于添加试题(5)Adi FILE *fp int i,a,n . sruct question quen=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()函数:用于答题并判卷。

c答题系统课程设计

c答题系统课程设计

c 答题系统课程设计一、教学目标本课程的教学目标是让学生掌握C编程语言的基本语法、数据类型、控制结构、函数等基础知识,培养学生编写简单程序的能力,提高学生的逻辑思维和问题解决能力。

具体分为以下三个部分:1.知识目标:学生能够理解并掌握C编程语言的基本语法、数据类型、控制结构、函数等基础知识,了解编程的基本概念和原理。

2.技能目标:学生能够运用所学知识编写简单的C程序,具备一定的编程实践能力,能够独立解决一些简单的编程问题。

3.情感态度价值观目标:通过学习C编程语言,培养学生对计算机科学的兴趣和热情,提高学生自主学习、合作交流的能力,培养学生面对困难的勇气和解决问题的决心。

二、教学内容本课程的教学内容主要包括C编程语言的基本语法、数据类型、控制结构、函数等基础知识。

具体安排如下:1.第一章:C编程语言概述,介绍C编程语言的发展历程、特点和应用领域。

2.第二章:数据类型和变量,讲解整型、浮点型、字符型等基本数据类型,以及变量的声明和使用。

3.第三章:运算符和表达式,介绍算术运算符、关系运算符、逻辑运算符等,以及表达式的编写和运算规则。

4.第四章:控制结构,讲解顺序结构、分支结构(if-else)、循环结构(for、while)等。

5.第五章:函数,介绍函数的定义、声明和调用,讲解函数的参数传递、返回值等概念。

6.第六章:数组和字符串,讲解一维数组、多维数组、字符串的基本操作和应用。

7.第七章:指针,介绍指针的概念、运算和应用,讲解指针与数组、函数的关系。

8.第八章:结构体和联合体,讲解结构体、联合体的定义和使用,以及它们在编程中的应用。

9.第九章:文件操作,介绍文件的概念、文件打开与关闭、文件的读写操作等。

三、教学方法为了提高教学效果,本课程将采用以下教学方法:1.讲授法:教师通过讲解、示范等方式,向学生传授C编程语言的基本知识和技能。

2.讨论法:教师学生进行小组讨论,引导学生主动思考、交流,提高学生的合作能力。

考试系统c语言课程设计

考试系统c语言课程设计

考试系统c语言课程设计一、课程目标知识目标:1. 理解C语言在考试系统开发中的应用,掌握基本的C语言编程语法和结构;2. 学习并运用数组、函数、指针等C语言特性,实现对考试题目的存储、展示和评分功能;3. 掌握文件操作,能够将题目和成绩保存到文件中,实现数据的持久化存储。

技能目标:1. 培养学生运用C语言解决实际问题的能力,能独立完成一个简单的考试系统设计与实现;2. 提高学生的代码编写和调试技巧,培养良好的编程习惯;3. 增强学生的团队协作能力,学会与他人共同分析问题、讨论解决方案。

情感态度价值观目标:1. 激发学生对计算机编程的兴趣,提高学习积极性;2. 培养学生勇于面对问题,敢于挑战的精神,增强解决问题的自信心;3. 引导学生认识到编程对于解决现实问题的重要性,提高社会责任感。

本课程针对高年级学生,具有较强的实践性和应用性。

结合学生已掌握的C语言基础知识,通过本课程的学习,旨在提高学生的编程实践能力,培养具备实际项目开发经验的计算机人才。

课程目标具体、明确,便于学生和教师在教学过程中进行评估和调整。

二、教学内容1. C语言基础回顾:数据类型、运算符、表达式、控制语句(章节1-3);2. 函数与数组:函数定义、调用、数组的使用和操作(章节4-6);3. 指针:指针的概念、指针的运算、指针与数组、指针与函数(章节7-8);4. 文件操作:文件的打开、关闭、读写操作,以及文件存储结构(章节9);5. 考试系统设计:需求分析、功能设计、模块划分、界面设计(章节10);6. 编程实践:实现考试系统的各个功能模块,如题目管理、考试管理、成绩管理等;7. 调试与优化:代码调试技巧,性能优化策略。

教学内容安排和进度:第一周:C语言基础回顾,函数与数组;第二周:指针,文件操作;第三周:考试系统设计,模块划分;第四周:编程实践,功能实现;第五周:代码调试与优化,项目总结。

教学内容紧密围绕课程目标,结合教材章节,系统性地组织与安排。

c语言课程设计报告单项选择题标准化考试系统设计

c语言课程设计报告单项选择题标准化考试系统设计
2.1系统总框图
2.2主要结构组与函数
题目,选项ABCD答案:
typedef struct Exam
{
char question[1024];
char A[100];
char B[100];
char C[100];
char D[100];
char correct; //正确答案选项
}Exam;
void load_question();
计算机程序设计基础(C语言)
课程设计说明书
设计题目:单项选择题标准化考试系统设计
班级:
姓名:
学号:
2021年7月
填写格式及说明
1、系统概述
本系统是对学生测试的单项选择题标准化系统设计,顾名思义就是用于对学生的测试考量,方便进行学生的测试,同时也简化了老师的试题录入和判卷,是一个简单实用的考试系统。
2、数据结构设计
printf("1.导入试卷\n");
printf("2.试题录入\n");
printf("3.测试答题\n");
printf("4.浏览试题\n");
printf("5.保存退出\n");
printf("请选择:");
scanf("%d",&i);
fflush(stdin);
return i;
}
int main()
p = strtok(NULL, "\t");
questions[count].correct = p[0];
count++;
}
}

c语言课程设计带解析

c语言课程设计带解析

c语言课程设计带解析一、教学目标本课程旨在通过C语言的学习,使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生具备基本的编程能力,能够编写简单的C语言程序。

同时,通过编程实践,培养学生的逻辑思维能力、问题解决能力和创新意识。

此外,通过课程的学习,使学生了解计算机编程的基本原理和方法,培养学生对计算机科学的兴趣和热情。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。

具体包括以下几个方面:1.C语言的基本语法和规则,如变量声明、数据类型、运算符、表达式等。

2.控制结构,如条件语句、循环语句等。

3.函数的定义和调用,包括主函数、用户自定义函数等。

4.基本的数据结构,如数组、字符串等。

5.指针的概念和应用。

6.结构体和文件操作等高级内容。

三、教学方法本课程采用讲授法、实践法、讨论法等多种教学方法相结合。

在教学过程中,教师将理论知识与实际编程案例相结合,通过生动的讲解和示例,帮助学生理解和掌握C语言的基本语法和编程方法。

同时,通过上机实践和编程作业,使学生能够将所学的知识应用于实际编程中,提高编程能力。

此外,鼓励学生之间的讨论和合作,培养学生的团队协作能力和问题解决能力。

四、教学资源为了保证本课程的顺利进行,需要准备以下教学资源:1.教材:《C程序设计语言》(K&R)或《C语言 Primer》等。

2.参考书籍:提供一些相关的参考书籍,如《C专家编程》、《C陷阱与缺陷》等,供学生自主学习参考。

3.在线资源:提供一些在线编程平台和资源,如LeetCode、Codeforces等,供学生进行编程练习和挑战。

4.实验设备:提供计算机实验室,让学生能够进行上机实践和编程实验。

以上是对本课程的教学目标、教学内容、教学方法和教学资源的详细设计。

希望通过这些设计,能够帮助学生更好地学习和掌握C语言,培养学生的编程能力和计算机科学素养。

标准化考试测试系统 C语言程序

标准化考试测试系统   C语言程序

标准化考试测试系统1.题目及任务要求 (3)2.系统分析 (3)3.模块分析 (3)4.模块设计 (3)5.运行结果 (6)6.设计总结 (8)7.心得体会 (8)8.源程序 (8)【题目及任务要求】标准化考试测试系统(B)1.用文件保存试题库(每个试题包括题干,4个备选答案和标准答案)2.试题录入:可随时增加试题到试题库中3.试题抽取:每次从试题库中可以随时抽出N道题(N由键盘输入)4.答题:用户可实现输入自己的答案5.自动判卷:系统可根据用户答案与标准答案对比实现判卷并给出成绩【系统分析】该系统由主程序和录入模块、抽取答题模块组成。

其中主程序提供用户进入该系统、选择功能和退出系统;录入模块可以让用户自行录入题目;抽取答题模块可以从试题库中抽取出用户规定的题目数并且供用户答题和自动评卷。

【模块分析】录入模块:用户从主界面选择‚1.录入题目‛后进入录入模块。

在本模块中,用户可以录入题目以及对应该题的答案。

单题录入完成后,该模块提示是否继续录入或返回主界面。

本模块使用指针开启关闭文件,使用do...while循环语句实现反复录入功能。

抽取答题模块:用户从主界面选择‚2.抽取答题‛后进入该模块。

在本模块中,用户可以自行抽取题目并答题,系统自动在打完每道题后给出答案并记录分数,最后公布分数。

本模块使用随机数函数random来随机抽取试题库中的题目;使用指针开启读入试题及答案文件;使用循环结构(for,while和do...while)实现连续答题和功能循环。

【模块设计】抽取答题模块流程图:完整流程图:【运行结果】开始界面:录入功能界面:抽取答题功能界面:退出界面:【设计总结】在设计并且编程的过程中,我遇到了很多难点,有几个已经超出了我的水平范围,在周遭同学和发达的网络帮助下我得以解决它们。

以下是这个标准化考试测试系统编程过程中遇到的难题:1,文件的读入读出因为当时学习的过程中,文件这一块内容比较简单的带过,因此我对文件读取这一方面的掌握并不是十分好。

c语言课程设计编写考试系统

c语言课程设计编写考试系统

c语言课程设计编写考试系统一、教学目标本课程的目标是使学生掌握C语言的基本语法,能够运用C语言编写简单的程序,并通过编写考试系统,培养学生的实际编程能力和问题解决能力。

具体的教学目标包括:1.知识目标:学生能够理解并掌握C语言的基本数据类型、运算符、控制结构、函数等基本概念。

2.技能目标:学生能够熟练使用C语言编写程序,解决实际问题,如编写考试系统。

3.情感态度价值观目标:学生通过完成考试系统的编写,培养编程的兴趣,增强自信心,提高自我学习能力。

二、教学内容教学内容主要包括C语言的基本语法和编程技巧,具体包括以下内容:1.C语言的基本数据类型和运算符。

2.控制结构,如条件语句、循环语句等。

3.函数的定义和调用。

4.指针和数组。

5.结构体和文件操作等。

6.编程技巧,如代码规范、注释、调试等。

三、教学方法为了激发学生的学习兴趣和主动性,我们将采用多种教学方法,包括:1.讲授法:讲解C语言的基本概念和语法。

2.案例分析法:通过分析典型的编程案例,让学生理解并掌握编程技巧。

3.实验法:学生通过编写考试系统,实践并巩固所学的编程知识。

4.讨论法:学生之间相互讨论,共同解决问题,提高解决问题的能力。

四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的C语言教材。

2.参考书:提供丰富的参考书籍,供学生深入学习。

3.多媒体资料:制作精美的PPT,直观地展示C语言的语法和编程技巧。

4.实验设备:提供充足的计算机设备,让学生进行编程实践。

5.在线资源:推荐权威的在线教程和编程,方便学生随时查阅和学习。

五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的积极性等。

2.作业:布置适量的作业,评估学生的编程能力和对知识的理解程度。

3.考试:定期进行考试,测试学生的编程能力和对知识的掌握程度。

4.项目:让学生参与编写考试系统的项目,评估学生的实际编程能力和问题解决能力。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程报告课程名称:标准化考试系统专业班级:学生姓名:学号:任课教师:学期:课程报告任务书成绩评定教师:1 需求分析设计一个标准化考试系统,让学生和老师都能登录。

老师可以输入试题、修改试题,学生可以答题、查分,实现不同功能。

2 概要设计int main()Int jiao_deng(struct jiaoshi su) /*教师登录验证*/void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/ void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/ void jiao_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/ void jiao_zeng(struct tiku tm) /*在原有文件基础上,进行新增题目*/ Voidxiu_gai(struct tiku tm,int n) /*修改函数*/int xue_deng(struct xuesheng sb) /*学生登录验证*/void xue_xin(struct xuesheng sb) /*将学生的用户信息存入文件*/3 详细设计#include<stdio.h> #include<stdlib.h> #include<string.h> int count=0;struct jiaoshi{ //教师用户信息结构体 char username[20]; //用户名 char password[12]; //用户密码 }su;struct xuesheng{ //学生用户信息结构体 char username1[20]; //用户名 char password1[12]; //用户密码}sb;struct tiku{ //题库结构体 int nb; //题号 char tigan[100]; //题目内容 char option1[80]; //选项 char option2[80]; char option3[80]; char option4[80];char daan[10]; //答案 }tm;struct chaxun{ int num;char name[20];int chengji;}ch;void jiao_xin(struct jiaoshi su);void xue_xin(struct xuesheng su);void jiao_cha(struct tiku tm);void jiao_zeng(struct tiku tm);void xue_kaoshi(struct tiku tm);void xue_cha(struct chaxun ch,int chengji);void xue_chax(struct chaxun ch);void xue_hao(struct chaxun ch);void xing_ming(struct chaxun ch);void cheng_ji(struct chaxun ch);int xue_deng(struct xuesheng sb);int jiao_deng(struct jiaoshi su);void jiao_xun(struct tiku tm);void cha_tihao(struct tiku tm);void xiu_gai(struct tiku tm,int n);int main(){int choice,choice1,choice2;printf("\t\t\t欢迎进入标准化考试系统\n");printf("\t\t\t选择1:以学生身份登录\n");printf("\t\t\t选择2:以教师身份登录\n");printf("\t\t提示:如果你是第一次使用该系统,请先注册你的基本信息!\n");while(1){printf("\t\t\t请输入你的选择项:");scanf("%d",&choice);getchar();if(choice==1||choice==2)break;elseprintf("\t\t\t对不起,输入有误,请重新输入!\n");}if(choice==1)while(1){{printf("\n");printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~\n");printf("\t\t\t选择1:注册!\n");printf("\t\t\t选择2:开始考试!\n");printf("\t\t\t选择3:成绩查询!\n");printf("\t\t\t选择0:退出\n");printf("\n");printf("\t\t\t请输入你的选择:");scanf("%d",&choice1);switch(choice1){case 1: xue_xin(sb); break; //调用文件,录入用户信息case 2: xue_kaoshi(tm); break; //调用函数,开始考试case 3: xue_chax(ch); break; //调用文件,查询信息case 0: return;}}}if(choice==2)while(1){{printf("\n");printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~\n");printf("\t\t\t选择1:注册!\n");printf("\t\t\t选择2:查看题库中的题目\n");printf("\t\t\t选择3:向题库中增加题目\n");printf("\t\t\t选择4:对题库题目进行修改\n");printf("\t\t\t选择0:退出\n");printf("\t\t\t请输入你的选择:");scanf("%d",&choice2);switch(choice2){case 1:jiao_xin(su); break; //调用文件,录入用户信case 2:jiao_cha(tm); break; //调用文件开始录入题目case 3:jiao_zeng(tm); break; //调用文件,增加题目case 4:jiao_xun(tm); break; //调用文件,对题库进行修改case 0: return;}}}}void jiao_xin(struct jiaoshi su) /*将教师的用户信息存入文件*/{FILE *fp;int i;if((fp=fopen("g:\\标准化考试.txt","a"))==NULL){printf("文件打开有误!\n");exit(0);}for(i=1;i<=1;i++){printf("请输入第%d个用户的姓名和密码:",i);scanf("%s%s",ername,su.password);fprintf(fp,"%s %s\n",ername,su.password);}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void xue_xin(struct xuesheng sb) /*将学生的用户信息存入文件*/{FILE *fp;int i;if((fp=fopen("g:\\标准化考试.txt","a"))==NULL){printf("文件打开有误!\n");exit(0);}for(i=1;i<=1;i++){printf("请输入第%d个用户的姓名和密码:",i);scanf("%s%s",ername1,sb.password1);fprintf(fp,"%s %s\n",ername1,sb.password1);}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void jiao_cha(struct tiku tm) /*查看题库中的题目*/{FILE *fp;while(1){if(jiao_deng(su)==0){printf("\t\t对不起,用户名或密码错误!请重新输入!\n");}else{printf("\t\t*登录成功,现在可以查看试题了!*\n");break;}}if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}while(!feof(fp)){printf("\n");fscanf(fp,"%d %s %s %s %s %s %s",&tm.nb,tm.tigan,tm.option1,tm.opti on2,tm.option3,tm.option4,tm.daan);printf("%d%s\n",tm.nb,tm.tigan);printf("%s\n",tm.option1);printf("%s\n",tm.option2);printf("%s\n",tm.option3);printf("%s\n",tm.option4);printf("\n");printf("\t\t\t答案:%s\n",tm.daan);}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void jiao_zeng(struct tiku tm) /*在原有文件基础上,进行新增题目*/{FILE *fp;int i;int n;while(1){if(jiao_deng(su)==0){printf("\t\t对不起,用户名或密码错误!请重新输入!\n");}else{printf("\t\t*登录成功,欢迎使用*\n");break;}}printf("请输入本次要添加的题目个数n:");scanf("%d",&n);if((fp=fopen("g:\\标准化考试.txt","a"))==NULL){printf("文件打开有误!\n");exit(0);}for(i=1;i<=n;i++){printf("请输入题号:");scanf("%d",&tm.nb );printf("请输入第%d个题目的题干:\n",tm.nb);scanf("%s",tm.tigan );printf("请输入答案:\n");printf("A:");scanf("%s",tm.option1 );printf("B:");scanf("%s",tm.option2 );printf("C:");scanf("%s",tm.option3 );printf("D:");scanf("%s",tm.option4 );printf("请输入第%d个题目的答案:",tm.nb);scanf("%s",tm.daan );fprintf(fp,"%d %s %s %s %s %s %s\n",tm.nb,tm.tigan,tm.option1,tm.op tion2,tm.option3,tm.option4,tm.daan);}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void xue_kaoshi(struct tiku tm) /*读出文件,学生开始答题,并将成绩存入文件*/{FILE *fp;int i;int j,k;char s[10];int chengji=0;while(1){if(xue_deng(sb)==0){printf("\t\t对不起,用户名或密码错误!请重新输入!\n");}else{printf("\t恭喜你登陆成功,现在可以开始考试了!\n");break;}}if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}printf("\t\t##共有三种难度系数1-2-3##");printf("请选择难度系数:");scanf("%d",&j);if(j==1){k=10;}if(j==2){k=20;}if(j==3){k=30;}for(i=1;i<=k;i=i+j){printf("\n");fscanf(fp,"%d %s %s %s %s %s %s",&tm.nb,tm.tigan,tm.option1,tm.opti on2,tm.option3,tm.option4,tm.daan);printf("%d%s\n",tm.nb,tm.tigan);printf("%s\n",tm.option1);printf("%s\n",tm.option2);printf("%s\n",tm.option3);printf("%s\n",tm.option4);printf("\n");//printf("%s\n",tm.daan);printf("请输入你的选项:");scanf("%s",s);if(strcmp(tm.daan,s)==0)chengji=chengji+10;}printf("你的成绩是:%d\n",chengji);printf("\t\t为方便你以后查询成绩,请再次输入你的信息:\n");xue_cha(ch,chengji);if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void xue_cha(struct chaxun ch,int chengji) /*考试结束,将成绩录入文件*/{FILE *fp;int i;if((fp=fopen("g:\\标准化考试.txt","a"))==NULL){printf("文件打开有误!\n");exit(0);}/*printf("请输入你的学号和姓名:");scanf("%d %s ",&ch.num,);printf("请输入你本次考试的成绩:");*/printf("请输入你本次考试的成绩:");while(1){scanf("%d",&i);if(i==chengji)printf("请输入你的学号和姓名和成绩:");scanf("%d %s ",&ch.num,,&ch.chengji );fprintf(fp,"%d %s %d\n",ch.num,,chengji);break;}else{printf("\t\t对不起,你输入的成绩与本次考试成绩有误,请重新输入!");}}//fprintf(fp,"%d %s\n",ch.num,);if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void xue_chax(struct chaxun ch) /*成绩查询函数1.按学号2.按姓名3.按成绩*/{int choice;printf("\t\t\t选择1,按学号查询成绩\n");printf("\t\t\t选择2,按姓名查询成绩\n");printf("\t\t\t选择3,按成绩信息\n");printf("请输入你的选择:");scanf("%d",&choice);switch(choice){case 1:xue_hao(ch); break;case 2:xing_ming(ch); break;case 3:cheng_ji(ch); break;}}void xue_hao(struct chaxun ch) /*按学号查询成绩*/{FILE *fp;//int i;int num;int flag=0;if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}printf("请输入你的学号:");scanf("%d",&num);while(!feof(fp)){fscanf(fp,"%d%s%d",&ch.num,,&ch.chengji);if(num==ch.num){printf("学号:%d\t姓名:%s\t成绩:%d\n",ch.num,,ch.chengji);flag=1;break;}}if(flag==0){printf("对不起,没有找到,请检查你的输入是否正确!");}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void xing_ming(struct chaxun ch) /*按姓名查询成绩*/{FILE *fp;char name[20];int flag=0;if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}printf("请输入你的姓名:");scanf("%s",name);while(!feof(fp))fscanf(fp,"%d%s%d",&ch.num,,&ch.chengji);if(strcmp(name,)==0){printf("学号:%d\t姓名:%s\t成绩:%d\n",ch.num,,ch.chengji);flag=1;break;}}if(flag==0){printf("对不起,没有找到,请检查你的输入是否正确!");}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void cheng_ji(struct chaxun ch) /*按成绩查询信息*/{FILE *fp;int chengji;int flag=0;if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}printf("请输入你的成绩:");scanf("%d",&chengji);while(!feof(fp)){fscanf(fp,"%d%s%d",&ch.num,,&ch.chengji);if(chengji==ch.chengji){printf("学号:%d\t姓名:%s\t成绩:%d\n",ch.num,,ch.chengji);flag=1;}if(flag==0){printf("对不起,没有找到,请检查你的输入是否正确!");}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}int xue_deng(struct xuesheng sb) /*学生登录验证*/{FILE *fp;int flag=0;char name[20];char password[12];printf("\n");printf("\t\t>>>>>请先登录该系统<<<<<\n\n");printf("\t\t>>>>>请输入你的登录名和密码:");scanf("%s%s",name,password);if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}while(!feof(fp)){fscanf(fp,"%s%s",ername1,sb.password1);if(strcmp(name,ername1)==0&&strcmp(password,sb.password1)==0) {flag=1;break;}}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}return flag;}int jiao_deng(struct jiaoshi su) /*教师登录验证*/{FILE *fp;int flag=0;char name[20];char password[12];printf("\n");printf("\t\t>>>>>请先登录该系统<<<<<\n\n");printf("\t\t>>>>>请输入你的登录名和密码:");scanf("%s%s",name,password);if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}while(!feof(fp)){fscanf(fp,"%s%s",ername,su.password);if(strcmp(name,ername)==0&&strcmp(password,su.password)==0) {flag=1;break;}}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}return flag;}void jiao_xun(struct tiku tm) /*教师验证通过后,可对题目进行修改*/{int choice;while(1){if(jiao_deng(su)==0){printf("\t\t对不起,用户名或密码错误!请重新输入!\n");}else{printf("\t\t*登录成功,欢迎使用*\n");break;}}while(1){printf("\n");printf("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~\n");printf("\t\t请选择按何种方式进行修改!\n");printf("\t\t选择1:按题号查找,并修改!\n");printf("\t\t选择2:输入部分题目内容查找并进行修改!\n");printf("\n");printf("\t\t\t请输入你的选择:");scanf("%d",&choice);switch(choice){case 1: cha_tihao(tm); break; //按题号查找,并修改case 2: return; //输入部分题目内容查找并进行修改!}}}void cha_tihao(struct tiku tm) /*先查询出题目,然后调用函数进行修改*/{int n;FILE *fp;int flag=0;printf("请输入你要修改的题目的题号:");scanf("%d",&n);if((fp=fopen("g:\\标准化考试.txt","r"))==NULL){printf("文件打开有误!\n");exit(0);}while(!feof(fp)){printf("\n");fscanf(fp,"%d %s %s %s %s %s %s",&tm.nb,tm.tigan,tm.option1,tm.option2,tm.option3,tm.option4,tm.daan);if(n==tm.nb){printf("%d%s\n",tm.nb,tm.tigan);printf("%s\n",tm.option1);printf("%s\n",tm.option2);printf("%s\n",tm.option3);printf("%s\n",tm.option4);printf("\t\t\t答案:%s\n",tm.daan);printf("\n");printf("%d",ftell(fp));flag=1;break;}}if(flag==0){printf("对不起,没有找到,请检查你的输入是否正确!");}if(flag==1)xiu_gai(tm,n);if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}void xiu_gai(struct tiku tm,int n) /*修改函数*/{FILE *fp;int i;if((fp=fopen("g:\\标准化考试.txt","a"))==NULL){printf("文件打开有误!\n");exit(0);}for(i=1;i<=1;i++){printf("请输入改后题目的题号:");scanf("%d",&tm.nb );printf("请输入改后题目的题干:\n");scanf("%s",tm.tigan );printf("A:\n");scanf("%s",tm.option1 );printf("B:\n");scanf("%s",tm.option2 );printf("C:\n");scanf("%s",tm.option3 );printf("D:\n");scanf("%s",tm.option4 );printf("请输入改后第题的答案:");scanf("%s",tm.daan );fprintf(fp,"%d %s %s %s %s %s %s\n",tm.nb,tm.tigan,tm.option1,tm.op tion2,tm.option3,tm.option4,tm.daan);}if(fclose(fp)){printf("无法关闭此文件!\n");exit(0);}}4 调试分析登录时,解决账号密码错误问题,修改试题后存入的问题。

相关文档
最新文档