班级档案管理系统.docx
- 文档编号:285232
- 上传时间:2022-10-08
- 格式:DOCX
- 页数:11
- 大小:16.05KB
班级档案管理系统.docx
《班级档案管理系统.docx》由会员分享,可在线阅读,更多相关《班级档案管理系统.docx(11页珍藏版)》请在冰豆网上搜索。
班级档案管理系统
班级档案管理系统
C语言程序设计--班级档案管理系统
设计课题二:
班级档案管理系统
一、问题描述:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修
改、删除、保存等操作的管理。
二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
学号、姓名、
性别、年龄、备注。
2、本系统显示这样的菜单:
请选择系统功能项:
a.学生基本信息录入
b.学生基本信息显示
c.学生基本信息保存
d.学生基本信息删除
e.学生基本信息修改(要求先输入密码)f.学生基本信息查询
(1)按学号查询
(2)按姓名查询
(3)按性别查询
(4)按年龄查询
g.退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
5、进入系统之前要先输入密码。
三、算法提示:
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
姓名学号性别年龄备注
charcharcharintchar
四、测试数据:
学生人数N=10
最佳答案:
#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;
charch;
chara[7]={""};
inti=0;
if((fp=fopen("c:
\\1.txt","r"))==NULL)
{
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);
}
voidGetInfo(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("%15s%15s%15c%15d%15s\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("infor: namenosexagenote\n"); printf("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote); printf("pleaseinputinformation: \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("Deleteinformation: \n"); printf("pleaseinputtheno: \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("%12s%12s%12c%12d%12s\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("pleaseinputname: \n"); scanf("%s",num); for(i=0;i { if(! strcmp(num,arr[i].name)) { printf("%12s%12s%12c%12d%12s",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("%12s%12s%12c%12d%12s\n",arr[i].name,arr[i].no, arr[i].sex,arr[i].age,arr[i].bnote); flag=true; } } if(! flag) { printf("t该学生不存在.\n"); } } break; case4: //按照年龄查询 { charnum_age; printf("请输入年龄: \n"); scanf("%d",&num_age); for(i=0;i { if(num_age==arr[i].age) { printf("%12s%12s%12c%12d%12s\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()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 班级 档案管理系统