学生证管理系统.docx

上传人:b****6 文档编号:6270797 上传时间:2023-01-05 格式:DOCX 页数:15 大小:17.14KB
下载 相关 举报
学生证管理系统.docx_第1页
第1页 / 共15页
学生证管理系统.docx_第2页
第2页 / 共15页
学生证管理系统.docx_第3页
第3页 / 共15页
学生证管理系统.docx_第4页
第4页 / 共15页
学生证管理系统.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

学生证管理系统.docx

《学生证管理系统.docx》由会员分享,可在线阅读,更多相关《学生证管理系统.docx(15页珍藏版)》请在冰豆网上搜索。

学生证管理系统.docx

学生证管理系统

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

#defineJ30

inti;

structdate

{intyear;

intmonth;//出生年月日

intday;

};

structclass1

{chargrade[10];//班级

charcollege[40];//学院

charmajor[40];//专业

};

structstudent//学生信息

{charnum[20];//学号

charname[40];//姓名

charsex[2];//性别

structdatebirthday;//出生日期

structclass1classroom;//

charclass_num[20];//班级序号

charnation[10];

charnative[40];//家庭住址

intave;

}st[100];

voidsave();/*功能保存函数*/

voidscanf_stu();//输入模块

intload();/*调用加载文件函数*/

voidinput(inti);/*调用确认学号不重复函数*/

voidsearch();//查询模块

voidsearch_num();/*按学号查询函数*/

voidsearch_class();/*按班号查询函数*/

voidprintf_face();

voidprintf_one(inti);

voidrevise();//修改模块

intqueren();/*确认修改或删除函数*/

voidrevise_one(inti);/*修改一个学生信息函数*/

voiddelete_stu();//删除模块

voidstat();//统计模块

voidstat_class();/*按班号统计函数*/

voidstat_sex();/*按性别统计函数*/

voidstat_nation();/*按民族统计函数*/

voidstat_native();/*按籍贯统计函数*/

voidstat_born();/*按出生年份统计*/

voidmenu();

voidprintf_back();

voidsave(intn)

{

FILE*fp;

inti;

if((fp=fopen("E:

\\学生证管理信息.txt","w"))==NULL)

{

printf("\nCannotopenfile\n");

exit(0);

}

for(i=0;i

if(st[i].ave!

=0)

fprintf(fp,"%s%s%s%s%s%s%s%s%s%d%d%d%d",st[i].num,st[i].class_num,st[i].classroom.grade,st[i].classroom.college,st[i].classroom.major,st[i].name,st[i].sex,st[i].nation,st[i].native,st[i].birthday.year,st[i].birthday.month,st[i].birthday.day,st[i].ave);

fclose(fp);

}

voidprintf_back()

{

inta;

printf("\n输入1回主菜单,0退出程序:

");

scanf("%d",&a);

if(a==0)

exit(0);

else

menu();

}

voidscanf_stu()//输入模块

{

intn,m,i;

n=load();/*调用加载文件函数*/

printf("需要添加新用户的个数:

");

scanf("%d",&m);

printf("\n");

for(i=0;i

input(i);/*调用添加记录函数*/

save(n+m);/*调用保存函数*/

printf_back();/*调用选择返回或结束函数*/

}

intload()/*加载文件记录并计算学生个数函数*/

{

FILE*fp;

inti;

if((fp=fopen("E:

\\学生证管理信息.txt","r"))==NULL)

{

printf("\nCannotopenfile\n");

returnNULL;

}

for(i=0;!

feof(fp);i++)

fscanf(fp,"%s%s%s%s%s%s%s%s%s%d%d%d%d",st[i].num,st[i].class_num,st[i].classroom.grade,st[i].classroom.college,st[i].classroom.major,st[i].name,st[i].sex,st[i].nation,st[i].native,&st[i].birthday.year,&st[i].birthday.month,&st[i].birthday.day,&st[i].ave);

fclose(fp);

return(i);

}

voidinput(inti)

{

printf("\n学号:

");

scanf("%s",st[i].num);

printf("\n班级序号:

");

scanf("%s",st[i].class_num);

printf("\n班级:

");

scanf("%s",st[i].classroom.grade);

printf("\n学院:

");

scanf("%s",st[i].classroom.college);

printf("\n专业:

");

scanf("%s",st[i].classroom.major);

printf("\n姓名:

");

scanf("%s",st[i].name);

printf("\n性别:

");

scanf("%s",st[i].sex);

printf("\n民族:

");

scanf("%s",st[i].nation);

printf("\n籍贯:

");

scanf("%s",st[i].native);

printf("\n出生年月:

");

scanf("%d%d%d",&st[i].birthday.year,&st[i].birthday.month,&st[i].birthday.day);

st[i].ave=1;

}

voidsearch()//查询模块

{

intn,q;

do

{

printf("\t\t***********************MENU*************************\n\n");

printf("\t\t\t\t1.按学号查询\n");

printf("\t\t\t\t2.按班号查询\n");

printf("\t\t\t\t3.返回\n");

printf("\n\t\t****************************************************\n");

printf("请选择你需要做什么(1-3):

[]\b\b");

scanf("%d",&n);

if(n<1||n>3)

{

q=1;

getchar();

}

elseq=0;

}

while(q==1);

switch(n)

{

case1:

search_num();break;/*调用按学号查询函数*/

case2:

search_class();break;/*调用按班号查询函数*/

case3:

menu();/*调用主菜单函数*/

}

}

voidsearch_num()/*按学号查询函数*/

{

intn,i;

n=load();

printf("\n请输入要查询学生的学号:

");

scanf("%s",st[n+1].num);

for(i=0;i

if(strcmp(st[n+1].num,st[i].num)==0)

break;

if(i==n+1)

printf("没有找到你输入的学号的学生!

!

请确认无误后重新输入!

");

else

{printf_face();/*调用显示数据结构项目函数*/

printf_one(i);/*输出该学生信息*/

}

printf_back();

}

voidprintf_face()

{

printf("\n学号班级序号班号学院专业姓名性别民族籍贯出生年份\n");

}

voidprintf_one(inti)

{

printf("%s%s%s%s%s%s%s%s%s%d%d%d\n",st[i].num,st[i].class_num,st[i].classroom.grade,st[i].classroom.college,st[i].classroom.major,st[i].name,st[i].sex,st[i].nation,st[i].native,st[i].birthday.year,st[i].birthday.month,st[i].birthday.day);

}

voidsearch_class()/*按班号查询函数*/

{

intn,i,k=0;

n=load();

printf("\n请输入要查询学生的班号:

");

scanf("%s",st[n+1].classroom.grade);

for(i=0;i

if(strcmp(st[n+1].classroom.grade,st[i].classroom.grade)==0)

break;

if(i==n+1)

printf("没有找到你输入的班号的学生!

!

请确认无误后重新输入!

");

else

{printf_face();/*调用显示数据结构项目函数*/

printf_one(i);/*输出该学生信息*/

}

printf("\n共查找到该班学生%d个",k);

printf_back();

}

voidrevise()//修改模块

{

intn,m;

n=load();/*调用加载文件函数*/

m=queren();/*调用确认修改函数*/

printf("\n学号:

");

scanf("%s",st[i].num);

printf("\n班级序号:

");

scanf("%s",st[i].class_num);

printf("\n班级:

");

scanf("%s",st[i].classroom.grade);

printf("\n学院:

");

scanf("%s",st[i].classroom.college);

printf("\n专业:

");

scanf("%s",st[i].classroom.major);

printf("\n姓名:

");

scanf("%s",st[i].name);

printf("\n性别:

");

scanf("%s",st[i].sex);

printf("\n民族:

");

scanf("%s",st[i].nation);

printf("\n籍贯:

");

scanf("%s",st[i].native);

printf("\n出生年月:

");

scanf("%d%d%d",&st[i].birthday.year,&st[i].birthday.month,&st[i].birthday.day);/*调用修改一个学生信息函数*/

save(n);/*调用保存函数*/

printf_back();

}

intqueren()/*确认修改或删除函数*/

{

inti,n,c;

n=load();

printf("\n请输入要修改或删除学生的学号:

");

scanf("%s",st[n+1].num);

for(i=0;i

if(strcmp(st[n+1].num,st[i].num)==0)

break;

if(i==n+1)

printf("没有找到你输入的学号的学生!

!

请确认无误后重新输入!

");

else

{printf_face();/*调用显示数据结构项目函数*/

printf_one(i);/*输出该学生信息*/

}

printf("输入1确认修改或删除\n输入0返回主菜单:

");

/*确认修改*/

scanf("%d",&c);

if(c==1)

return(i);

else

printf_back();}

voiddelete_stu()

{

intm,n;

n=load();

m=queren();

st[m].ave=0;/*表示该记录要删除*/

save(n);

printf_back();

}

voidstat()

{intn,q;

do

{

printf("\t\t***********************MENU*************************\n\n");

printf("\t\t\t\t1.按班号统计\n");

printf("\t\t\t\t2.按性别统计\n");

printf("\t\t\t\t3.按民族统计\n");

printf("\t\t\t\t4.按籍贯统计\n");

printf("\t\t\t\t5.按出生时间\n");

printf("\t\t\t\t6.返回\n");

printf("\n\t\t****************************************************\n");

printf("请选择你需要做什么(1-6):

[]\b\b");

scanf("%d",&n);

if(n<1||n>6)

{

q=1;

getchar();

}

elseq=0;

}

while(q==1);

switch(n)

{

case1:

stat_class();break;

case2:

stat_sex();break;

case3:

stat_nation();break;

case4:

stat_native();break;

case5:

stat_born();break;

case6:

menu();

}

}

voidstat_class()/*按班号统计函数*/

{

inti,n,j=0,b,d[J];

n=load();

printf("\n请输入要统计的班号:

");

scanf("%s",st[n+1].classroom.grade);

for(i=0;i

if(strcmp(st[n+1].classroom.grade,st[i].classroom.grade)==0)

d[j++]=i;

printf("共查找到%d位符合要求的学生\n",j);

printf("输入1查看详细信息\n输入0返回主菜单:

");

scanf("%d",&b);

if(b==1)

{

printf_face();

for(i=0;i

printf_one(d[i]);

}

printf_back();

}

voidstat_sex()/*按性别统计函数*/

{

inti,n,j=0,b,d[J];

n=load();

printf("\n请输入要统计的性别:

");

scanf("%s",st[n+1].sex);

for(i=0;i

if(strcmp(st[n+1].sex,st[i].sex)==0)

d[j++]=i;

printf("共查找到%d位符合要求的学生\n",j);

printf("输入1查看详细信息\n输入0返回主菜单:

");

scanf("%d",&b);

if(b==1)

{

printf_face();

for(i=0;i

printf_one(d[i]);

}

printf_back();

}

voidstat_nation()/*按民族统计函数*/

{

inti,n,j=0,b,d[J];

n=load();

printf("\n请输入要统计的民族:

");

scanf("%s",st[n+1].nation);

for(i=0;i

if(strcmp(st[n+1].nation,st[i].nation)==0)

d[j++]=i;

printf("共查找到%d位符合要求的学生\n",j);

printf("输入1查看详细信息\n输入0返回主菜单:

");

scanf("%d",&b);

if(b==1)

{

printf_face();

for(i=0;i

printf_one(d[i]);

}

printf_back();

}

voidstat_native()/*按籍贯统计函数*/

{

inti,n,j=0,b,d[J];

n=load();

printf("\n请输入要统计的籍贯:

");

scanf("%s",st[n+1].native);

for(i=0;i

if(strcmp(st[n+1].native,st[i].native)==0)

d[j++]=i;

printf("共查找到%d位符合要求的学生\n",j);

printf("输入1查看详细信息\n输入0返回主菜单:

");

scanf("%d",&b);

if(b==1)

{

printf_face();

for(i=0;i

printf_one(d[i]);

}

printf_back();

}

voidstat_born()/*按出生年份统计*/

{

inti,n,j=0,b,d[J];

n=load();

printf("\n请输入要统计的出生年份:

");

scanf("%d",&st[n+1].birthday.year);

for(i=0;i

if(st[n+1].birthday.year==st[i].birthday.year)

d[j++]=i;

printf("共查找到%d位符合要求的学生\n",j);

printf("输入1查看详细信息\n输入0返回主菜单:

");

scanf("%d",&b);

if(b==1)

{

printf_face();

for(i=0;i

printf_one(d[i]);

}

printf_back();

}

voidmain()//主函数

{

FILE*fp;

fp=fopen("E:

\\学生证管理信息.txt","a");//以添加的方式打开文件

fclose(fp);

menu();

}

voidmenu()//主菜单函数

{

intn,q;

do

{

printf("************************亲,欢迎您的光临************************\n\n");

printf("***************************O(∩_∩)O****************************\n\n");

printf("1.录入\n");

printf("2.查询\n");

printf("3.修改\n");

printf("4.删除\n");

printf("5.统计\n");

printf("6.退出\n");

printf("\n***************************************************************\n");

printf("请根据您的需要选择(1-6):

[]\b\b");

scanf("%d",&n);

if(n<1||n>6)

{

q=1;

getchar();

}

elseq=0;

}

while(q==1);

switch(n)

{

case1:

scanf_stu();break;

case2:

search();break;

case3:

revise();break;

case4:

delete_stu();break;

case5:

stat();break;

case6:

exit(0);

}

}

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

当前位置:首页 > 求职职场 > 笔试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1