版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
25/25题目:班级档案治理系统一、设计任务与目标对一个有N个学生的班级,通过该系统实现对该班级学生的差不多信息进行录入、显示、修改、删除、保存等操作的治理。功能要求:(1)本系统采纳一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性不、年龄、备注。(2)本系统显示如此的菜单:请选择系统功能项:a学生差不多信息录入b学生差不多信息显示c学生差不多信息保存d学生差不多信息删除e学生差不多信息修改(要求先输入密码)f学生差不多信息查询(1)按学号查询(2)按姓名查询(3)按性不查询(4)按年龄查询g.退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生差不多信息保存到文件中。(5)进入系统之前要先输入密码。二、方案设计与论证要紧采纳结构体数组,通过scanf函数从键盘输入学生各种信息,每当修改学生信息时需要调用密码验证函数。定义了一个文件指针,密码验证函数中,通过fopen打开已有文本文件,然后通过fgetc逐个读取该文件中的字符来实现。退出系统时向学生信息文件中写入数据并关闭文件就实现了保存文件的功能。三、程序框图或流程图,程序清单与调用关系显示信息输出“修改信息,输入学号”输出“该生不存在”输入密码分不查询显示修改后的学生信息进行删除输入“5”输入学号?结束输出“密码错误”输入密码NY显示信息输出“修改信息,输入学号”输出“该生不存在”输入密码分不查询显示修改后的学生信息进行删除输入“5”输入学号?结束输出“密码错误”输入密码输出“输出“请选择”输入“7”输出“信息录入(1)退出系统(7)“结束结束输出输出“请选择”输入“1”输出输出“显示(2)保存(3)删除(4)修改(5)查询(6)”输入“输入“4”输入“6”输出输出“通过学号姓名性不年龄进行查询”N输出“输出“该生不存在”输出输出“请选择”输入“2”进行修改进行修改输出输出“请选择”输入“2”四、全部源程序清单#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#defineN3structstudent{charname[10];charno[10];charsex;intage;charbnote[100];};voidprint(boolmenu)//打印差不多信息{if(!menu){printf("学生差不多信息录入,press1\n");}else{printf("学生差不多信息显示,press2\n");printf("学生差不多信息保存,press3\n");printf("学生差不多信息删除,press4\n");printf("学生差不多信息修改,press5\n");printf("学生差不多信息查询,press6\n");}printf("退出学生信息系统,press7\n");}boolCheck(charpas[6])//密码验证{FILE*fp;//定义一个文件指针fp,建立一个字符文件charch;chara[7]={""};inti=0;if((fp=fopen("c:\\密码.txt","r"))==NULL)//打开密码.txt{printf("文件打开失败!\n");exit(0);}ch=fgetc(fp);while(ch!=EOF&&i<6){a[i]=ch;ch=fgetc(fp);i++;}a[6]='\0';if(!strcmp(pas,a)){returntrue;}else{printf("密码错误\n");returnfalse;}fclose(fp);}voidGetInformation(structstudent*arr,intn)//学生差不多信息录入{for(inti=0;i<n;i++){printf("输入学生的差不多信息:namenosexagebnote\n");scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);}}voidDisplay(structstudent*arr,intn)//学生差不多信息显示{printf("学生信息:namenOsexagenote\n");for(inti=0;i<n;i++){printf("%5s%5s%5c%5d%5s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);}}voidSave(structstudent*arr,intn)//学生差不多信息保存,保存在c:\\student.txt{FILE*fp;fp=fopen("c:\\student.txt","w+");if(fp==NULL){printf("文件不存在!\n");exit(0);}fwrite(arr,sizeof(structstudent)*n,n,fp);fclose(fp);}voidModfiy(structstudent*arr,intn)//学生差不多信息修改{charnumber[10];boolflag=false;charpass[6];printf("请输入密码:\n");scanf("%s",pass);if(Check(pass)){printf("修改学生信息:\n");printf("请输入学号:\n");scanf("%s",number);for(inti=0;i<n;i++){if(!strcmp(number,arr[i].no)){printf("学生信息:namenosexagenote\n");printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);printf("请输入学生信息:\n");scanf("%s%s%c%d%s",arr[i].name,arr[i].no,&arr[i].sex,&arr[i].age,arr[i].bnote);Save(arr,n);flag=true;}}if(flag==false){printf("该学生不存在!\n");}}}voidDelete(structstudent*arr,intn)//学生差不多信息删除{charnumber[10];boolflag=false;printf("删除学生信息:\n");printf("请输入学号:\n");scanf("%s",number);for(inti=0;i<n;i++){if(!strcmp(number,arr[i].no)){strcpy(arr[i].name,"");strcpy(arr[i].no,"");strcpy(arr[i].bnote,"");arr[i].sex='';arr[i].age=0;Save(arr,n);flag=true;}}if(flag==true){printf("该学生不存在!:\n");}}voidSearch(structstudent*arr,intn)//学生差不多信息查询{inttemp,i;boolflag=false;printf("通过学号查询,press1\n");printf("通过姓名查询,press2\n");printf("通过性不查询,press3\n");printf("通过年龄查询,press4\n");printf("退出,press5\n");scanf("%d",&temp);switch(temp){case1://按照学号查询{charnum[10];printf("请输入学号:\n");scanf("%s",num);for(i=0;i<n;i++){if(!strcmp(num,arr[i].no)){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("该学生不存在.\n");}}break;case2://按照姓名查询{charnum[10];printf("请输入姓名:\n");scanf("%s",num);for(i=0;i<n;i++){if(!strcmp(num,arr[i].name)){printf("%10s%10s%10c%10d%10s",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("该学生不存在.\n");}}break;case3://按照性不查询{charch;printf("请输入性不:\n");//scanf("%c",&ch);ch=getch();for(i=0;i<n;i++){if(ch==arr[i].sex){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("该学生不存在.\n");}}break;case4://按照年龄查询{charnum_age;printf("请输入年龄:\n");scanf("%d",&num_age);for(i=0;i<n;i++){if(num_age==arr[i].age){printf("%10s%10s%10c%10d%10s\n",arr[i].name,arr[i].no,arr[i].sex,arr[i].age,arr[i].bnote);flag=true;}}if(!flag){printf("该学生不存在.\n");}}break;default:break;}}voidmain(){structstudentarr[N];charps[6];boolflag=false;printf("请输入密码:\n");scanf("%s",ps);flag=Check(ps);if(flag){intselect;print(false);scanf("%d",&select);while(0<select&&select<7){switch(select){case1:GetInformation(arr,N);print(true);break;case2:Display(arr,N);print(true);break;case3:Save(arr,N);print(true);break;case4:Delete(arr,N);print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广东省珠海市部分学校2025-2026学年高一下学期期末检测物理试卷(B)(含答案)
- 14.1 内能及其改变 课件(内嵌视频)2026-2027学年物理沪科版九年级全一册
- 三弦制作工岗位技艺考试试卷及答案
- 室内篮球场租赁合同
- 工艺泼染工操作技能测试考核试卷含答案
- 颗粒剂工安全技能水平考核试卷含答案
- 水解物料中和工安全技能测试知识考核试卷含答案
- 栓剂工岗前实操知识水平考核试卷含答案
- 铁合金高炉冶炼工安全操作水平考核试卷含答案
- 网络与信息安全管理员安全强化水平考核试卷含答案
- 2026年全国高中数学联合竞赛一试(A卷)试卷及参考答案
- 2026年广东省公务员考试(行政执法专业和申论)综合练习题及答案
- JL树木伐移项目监理规划
- 2026年护理安全警示教育培训课件
- 气体灭火系统安装规范
- 2026年社会医学与卫生事业管理题库(含参考答案)
- 初中数学九年级上册《利用相似三角形原理测量高度》跨学科项目式教学设计
- 人教版数学一年级上册 10的认识 课件
- 世界青少年奥林匹克数学YMO历届真题集(六年级决赛)(含答案)
- DB61∕T 5136-2025 岩棉外墙外保温系统应用技术规程
- 锅炉规范使用管理制度
评论
0/150
提交评论