




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、题目: 班级档案管理系统一、设计任务与目标对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。(2)本系统显示这样的菜单:请选择系统功能项:a 学生基本信息录入b 学生基本信息显示c 学生基本信息保存d 学生基本信息删除e 学生基本信息修改(要求先输入密码)f 学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g. 退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生基本信息保存到文件
2、中。(5)进入系统之前要先输入密码。二、方案设计与论证主要采用结构体数组,通过scanf函数从键盘输入学生各种信息,每当修改学生信息时需要调用密码验证函数。定义了一个文件指针,密码验证函数中,通过fopen打开已有文本文件,然后通过fgetc逐个读取该文件中的字符来实现。退出系统时向学生信息文件中写入数据并关闭文件就实现了保存文件的功能。三、程序框图或流程图,程序清单与调用关系显示信息输出“修改信息,输入学号”输出“该生不存在”输入密码分别查询显示修改后的学生信息进行删除输入“5”输入学号?结束输出“密码错误”输入密码 N Y输出“请选择”输入“7”输出“信息录入(1)退出系统(7)“结束输出
3、“请选择”输入“1”输出“显示(2)保存(3)删除(4)修改(5)查询(6)”输入“4”输入“6”输出“通过学号姓名性别年龄进行查询” N输出“该生不存在” N Y输出“请选择”输入“2”进行修改输出“请选择”输入“2”四、全部源程序清单#include <stdio.h> #include <stdlib.h> #include <string.h>#include <conio.h> #define N 3struct student char name10; char no10; char sex; int age; char bnote1
4、00;void print(bool menu)/打印基本信息 if (!menu) printf("学生基本信息录入 ,press 1n"); else printf("学生基本信息显示 ,press 2n"); printf("学生基本信息保存 ,press 3n"); printf("学生基本信息删除 ,press 4n"); printf("学生基本信息修改 ,press 5n"); printf("学生基本信息查询 ,press 6n"); printf("
5、;退出学生信息系统 ,press 7n"); bool Check(char pas6)/密码验证 FILE *fp;/定义一个文件指针fp,建立一个字符文件 char ch; char a7=" " int i = 0; if (fp=fopen("c:密码.txt","r")=NULL)/打开密码.txt printf("文件打开失败!n"); exit(0); ch=fgetc(fp); while (ch!=EOF&&i<6) ai = ch; ch=fgetc(fp); i
6、+; a6 = '0' if (!strcmp(pas,a) return true; else printf("密码错误n"); return false; fclose(fp);void GetInformation(struct student *arr,int n)/学生基本信息录入 for (int i = 0;i<n;i+) printf("输入学生的基本信息:name no sex age bnoten");scanf("%s %s %c %d %s",,arri.no,&
7、arri.sex,&arri.age,arri.bnote); void Display(struct student* arr,int n)/学生基本信息显示 printf("学生信息: name nO sex age noten"); for (int i = 0;i<n;i+) printf("%5s%5s%5c%5d%5sn",,arri.no,arri.sex,arri.age,arri.bnote); void Save(struct student* arr,int n)/学生基本信息保存,保存在c:stud
8、ent.txt FILE * fp; fp= fopen("c:student.txt","w+"); if (fp = NULL) printf("文件不存在!n"); exit(0); fwrite(arr,sizeof(struct student)*n,n,fp); fclose(fp);void Modfiy(struct student* arr,int n)/学生基本信息修改 char number10; bool flag=false; char pass6; printf("请输入密码:n");
9、scanf("%s",pass); if (Check(pass) printf("修改学生信息:n"); printf("请输入学号:n"); scanf("%s",number); for (int i =0;i<n;i+) if (!strcmp(number,arri.no) printf("学生信息:name no sex age noten"); printf("%10s%10s%10c%10d%10sn",,arri.no, arri.s
10、ex,arri.age,arri.bnote); printf("请输入学生信息:n"); scanf("%s %s %c %d %s",,arri.no,&arri.sex,&arri.age,arri.bnote); Save(arr,n); flag = true; if (flag = false) printf("该学生不存在!n"); void Delete(struct student* arr,int n)/学生基本信息删除 char number10; bool flag=false
11、; printf("删除学生信息:n"); printf("请输入学号:n"); scanf("%s",number); for (int i =0;i<n;i+) if (!strcmp(number,arri.no) strcpy(," "); strcpy(arri.no," "); strcpy(arri.bnote," "); arri.sex = ' ' arri.age = 0; Save(arr,n); flag = t
12、rue; if (flag = true) printf("该学生不存在!:n"); void Search(struct student* arr,int n)/学生基本信息查询 int temp,i; bool flag=false; printf("-通过学号查询,press 1-n"); printf("-通过姓名查询,press 2-n"); printf("-通过性别查询,press 3-n"); printf("-通过年龄查询,press 4-n"); printf("-
13、退出,press 5 -n"); scanf("%d",&temp); switch (temp) case 1:/按照学号查询 char num10; printf("请输入学号:n"); scanf("%s",num); for ( i =0;i<n;i+) if (!strcmp(num,arri.no) printf("%10s%10s%10c%10d%10sn",,arri.no, arri.sex,arri.age,arri.bnote); flag = tru
14、e; if (!flag) printf("该学生不存在.n"); break; case 2:/按照姓名查询 char num10; printf("请输入姓名:n"); scanf("%s",num); for ( i =0;i<n;i+) if (!strcmp(num,) printf("%10s%10s%10c%10d%10s",,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) pri
15、ntf("该学生不存在.n"); break; case 3:/按照性别查询 char ch; printf("请输入性别:n"); /scanf("%c",&ch); ch = getch(); for ( i =0;i<n;i+) if (ch = arri.sex) printf("%10s%10s%10c%10d%10sn",,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf(&quo
16、t;该学生不存在.n"); break; case 4:/按照年龄查询 char num_age; printf("请输入年龄:n"); scanf("%d",&num_age); for ( i =0;i<n;i+) if (num_age = arri.age) printf("%10s%10s%10c%10d%10sn",,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf("该学生不存在
17、.n"); break; default: break; void main() struct student arrN; char ps6; bool flag =false; printf("请输入密码:n"); scanf("%s",ps); flag = Check(ps); if (flag) int select; print(false); scanf("%d",&select); while (0<select && select <7 ) switch (select)
18、case 1: GetInformation(arr,N); print(true); break; case 2: Display(arr,N); print(true); break; case 3: Save(arr,N); print(true); break; case 4: Delete(arr,N); print(true); break; case 5: Modfiy(arr,N); print(true); break; case 6: Search(arr,N); print(true); break; default: break; printf("请选择:n"); scanf("%d",&select); 五、程序运行的测试与分析六、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CAS 840-2024电动汽车公共充电站运营管理服务导则
- T/CAQI 34-2017新风净化机颗粒物净化性能分级
- java分组面试题及答案
- 中教美育java面试题及答案
- 餐饮技师考试题及答案
- 阜阳美术面试题及答案
- 教育教学考试题及答案
- 学生布置作业管理制度
- 充电桩合伙人合同范本
- 地皮委托买卖合同范本
- 2024年《13464电脑动画》自考复习题库(含答案)
- 【核心素养目标】9.3 一元一次不等式组 教案七年级数学下册(人教版)
- 保证断绝关系的保证书
- 选拔卷-:2024年小升初数学模拟卷三(北师大版)A3版
- 快递云仓合同范本
- 2024年高考语文作文第一轮复习:掌握常用的写作结构
- DZ∕T 0339-2020 矿床工业指标论证技术要求(正式版)
- MOOC 市场营销学-西南财经大学 中国大学慕课答案
- 颌下感染的护理查房
- 高考英语考纲重点短语词组(英汉版)
- 糖尿病膳食指南2024
评论
0/150
提交评论