班级档案管理系统报告文档.doc

上传人:小飞机 文档编号:1887471 上传时间:2022-12-24 格式:DOC 页数:13 大小:191KB
返回 下载 相关 举报
班级档案管理系统报告文档.doc_第1页
第1页 / 共13页
班级档案管理系统报告文档.doc_第2页
第2页 / 共13页
班级档案管理系统报告文档.doc_第3页
第3页 / 共13页
班级档案管理系统报告文档.doc_第4页
第4页 / 共13页
班级档案管理系统报告文档.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《班级档案管理系统报告文档.doc》由会员分享,可在线阅读,更多相关《班级档案管理系统报告文档.doc(13页珍藏版)》请在三一办公上搜索。

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 #include #include #include #define N 3struct student char name10; char no10; char sex; int age; char bnote100;void print(bool menu)/打印基本信息 if (!menu) printf(学生基本信息录入 ,press

4、 1n); else printf(学生基本信息显示 ,press 2n); printf(学生基本信息保存 ,press 3n); printf(学生基本信息删除 ,press 4n); printf(学生基本信息修改 ,press 5n); printf(学生基本信息查询 ,press 6n); printf(退出学生信息系统 ,press 7n); bool Check(char pas6)/密码验证 FILE *fp;/定义一个文件指针fp,建立一个字符文件 char ch; char a7= ; int i = 0; if (fp=fopen(c:密码.txt,r)=NULL)/打开

5、密码.txt printf(文件打开失败!n); exit(0); ch=fgetc(fp); while (ch!=EOF&i6) ai = ch; ch=fgetc(fp); i+; 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;in;i+) printf(输入学生的基本信息:name no sex age bnoten);sc

6、anf(%s %s %c %d %s,arri.name,arri.no,&arri.sex,&arri.age,arri.bnote); void Display(struct student* arr,int n)/学生基本信息显示 printf(学生信息: name nO sex age noten); for (int i = 0;in;i+) printf(%5s%5s%5c%5d%5sn,arri.name,arri.no,arri.sex,arri.age,arri.bnote); void Save(struct student* arr,int n)/学生基本信息保存,保存在

7、c:student.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); scanf(%s,pass); if (Check(pass) printf(修改学

8、生信息:n); printf(请输入学号:n); scanf(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no) printf(学生信息:name no sex age noten); printf(%10s%10s%10c%10d%10sn,arri.name,arri.no, arri.sex,arri.age,arri.bnote); printf(请输入学生信息:n); scanf(%s %s %c %d %s,arri.name,arri.no,&arri.sex,&arri.age,arri.bnote); Sa

9、ve(arr,n); flag = true; if (flag = false) printf(该学生不存在!n); void Delete(struct student* arr,int n)/学生基本信息删除 char number10; bool flag=false; printf(删除学生信息:n); printf(请输入学号:n); scanf(%s,number); for (int i =0;in;i+) if (!strcmp(number,arri.no) strcpy(arri.name, ); strcpy(arri.no, ); strcpy(arri.bnote,

10、 ); arri.sex = ; arri.age = 0; Save(arr,n); flag = true; 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(-退出,press 5 -n)

11、; scanf(%d,&temp); switch (temp) case 1:/按照学号查询 char num10; printf(请输入学号:n); scanf(%s,num); for ( i =0;in;i+) if (!strcmp(num,arri.no) printf(%10s%10s%10c%10d%10sn,arri.name,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf(该学生不存在.n); break; case 2:/按照姓名查询 char num10; printf(请输入

12、姓名:n); scanf(%s,num); for ( i =0;in;i+) if (!strcmp(num,arri.name) printf(%10s%10s%10c%10d%10s,arri.name,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf(该学生不存在.n); break; case 3:/按照性别查询 char ch; printf(请输入性别:n); /scanf(%c,&ch); ch = getch(); for ( i =0;in;i+) if (ch = arri.sex

13、) printf(%10s%10s%10c%10d%10sn,arri.name,arri.no, arri.sex,arri.age,arri.bnote); flag = true; if (!flag) printf(该学生不存在.n); break; case 4:/按照年龄查询 char num_age; printf(请输入年龄:n); scanf(%d,&num_age); for ( i =0;in;i+) if (num_age = arri.age) printf(%10s%10s%10c%10d%10sn,arri.name,arri.no, arri.sex,arri.

14、age,arri.bnote); flag = true; if (!flag) printf(该学生不存在.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 (0select & select 7 ) switch (select) case 1: G

15、etInformation(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,&sel

16、ect); 五、程序运行的测试与分析六、结论与心得无论什么只有自己真的懂了,才能说出来个所以然。整个过程充满了纠结,不过从各种资料中慢慢发现那是很容易的,思路也清楚了很多,最后做起来也挺容易。七、参考资料C语言课程设计(第三版) 谭浩强 著xbaike.baidux/view/209670.htm?fr=ala0_1_1 八、致谢谢谢,谢谢谭浩强老师。谢谢百度老师课程设计成绩评定表对课程设计工作过程的简短介绍和自我评价 学生签名:2010年 月 日(以下由评定小组教师填写)质量评价指标(在相应栏目打)评 价 项 目评 价 质 量优秀良好一般及格不及格工作量和态度实验、计算可靠性文字和图表质量总体评价评定成绩(百分制)评定小组成员签名2010年 月 日制定人:王钲璇,苗雨 审定人: 陈守孔

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号