档案管理班级档案管理系统报告文档.docx
- 文档编号:26471535
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:17
- 大小:160.14KB
档案管理班级档案管理系统报告文档.docx
《档案管理班级档案管理系统报告文档.docx》由会员分享,可在线阅读,更多相关《档案管理班级档案管理系统报告文档.docx(17页珍藏版)》请在冰豆网上搜索。
档案管理班级档案管理系统报告文档
题目:
班级档案管理系统
一、设计任务与目标
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
功能要求:
(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
学号、姓名、性别、年龄、备注。
(2)本系统显示这样的菜单:
请选择系统功能项:
a学生基本信息录入
b学生基本信息显示
c学生基本信息保存
d学生基本信息删除
e学生基本信息修改(要求先输入密码)
f学生基本信息查询
(1)按学号查询
(2)按姓名查询
(3)按性别查询
(4)按年龄查询
g.退出系统
(3)执行一个具体的功能之后,程序将重新显示菜单。
(4)将学生基本信息保存到文件中。
(5)进入系统之前要先输入密码。
二、方案设计与论证
主要采用结构体数组,通过scanf函数从键盘输入学生各种信息,每当修改学生信息时需要调用密码验证函数。
定义了一个文件指针,密码验证函数中,通过fopen打开已有文本文件,然后通过fgetc逐个读取该文件中的字符来实现。
退出系统时向学生信息文件中写入数据并关闭文件就实现了保存文件的功能。
三、程序框图或流程图,程序清单与调用关系
NY
N
NY
四、全部源程序清单
#include
#include
#include
#include
#defineN3
structstudent
{
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 { 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 { 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 { 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 { 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 { 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 { 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 { 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 { 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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 档案 管理 班级 档案管理系统 报告 文档