学生档案信息课程设计Word下载.docx
- 文档编号:20846013
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:15
- 大小:17.45KB
学生档案信息课程设计Word下载.docx
《学生档案信息课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《学生档案信息课程设计Word下载.docx(15页珍藏版)》请在冰豆网上搜索。
//某地学生人数统计
voidc_dts(void);
//党团员学生人数统计
structData
{
intyear;
intmounth;
intday;
};
structstudent
charnum[15];
//学号
charname[20];
//姓名
charsex[5];
//性别
intage;
//年龄
charzzmm[20];
//政治面貌
floatscore;
//成绩
structDatadata;
//出生日期
charaddress[50];
//地址
intopen(structstudentstu[Max]);
//打开文件
voidbaocun(intnumber,structstudentstu[Max]);
//保存文件
intmain(void)
Main_meau();
return1;
}
voidMain_meau(void)//主菜单
intm=0,n;
while(m==0)
{
printf("
\n\n\n"
);
*****************************************\n"
*学*生*档*案*管*理*系*统*\n"
*欢迎使用*\n\n\n"
1---输入学生信息\n"
2---查询学生信息\n"
3---修改学生信息\n"
4---统计学生信息\n"
5---显示学生信息\n"
6---退出系统\n"
\n\n\n请输入选项:
"
scanf("
%d"
&
n);
switch(n)
{
case1:
input();
break;
case2:
serch();
case3:
amend();
case4:
census();
case5:
show();
case6:
m=1;
default:
printf("
输入错误,请重新输入.\n"
}
}
voidinput(void)//输入学生信息
intnumber,i,k;
structstudentstu[Max];
k=open(stu);
printf("
请输入要增加的学生人数:
\n"
scanf("
number);
for(i=k+1;
i<
=k+number;
i++)
学号:
"
scanf("
%s"
stu[i].num);
姓名:
stu[i].name);
性别:
stu[i].sex);
年龄:
stu[i].age);
政治面貌:
stu[i].zzmm);
成绩:
%f"
stu[i].score);
出生日期(按此格式写入:
1990/07/28):
%d/%d/%d"
stu[i].data.year,&
stu[i].data.mounth,&
stu[i].data.day);
地址:
stu[i].address);
baocun(k+number,stu);
voidserch(void)//查询学生信息
inti;
*学生档案管理*\n\n"
1.学号查询\n\n"
2.姓名查询\n\n"
3.返回主菜单\n\n"
\n\n请选择(1——3):
i);
printf("
\n\n"
switch(i)
case1:
sch_num();
break;
case2:
sch_name();
case3:
return;
default:
voidamend(void)//修改学生信息
inti,m=0;
\t\t*学生档案管理*\n\n"
\t\t1.添加学生信息\n\n"
\t\t2.删除学生信息\n\n"
\t\t3.修改学生信息\n\n"
\t\t4.返回主菜单\n\n"
\n\n请选择(1——4):
switch(i)
add();
del();
change();
voidcensus(void)//统计学生信息
\t\t1.平均分统计\n\n"
\t\t2.男女生人数统计\n\n"
\t\t3.某年以前出生人数统计\n\n"
\t\t4.某地学生人数统计\n\n"
\t\t5.党团员学生人数统计\n\n"
\t\t6.返回主菜单\n\n"
请选择(1——6):
c_pjf();
c_nv();
c_yc();
c_ds();
c_dts();
voidc_pjf(void)//平均分统计
inti,k;
floatvs=0;
for(i=1;
=k;
vs=vs+stu[i].score;
入学时的平均分为:
%.2f\n"
vs/k);
voidc_nv(void)//男女生人数统计
inti,k,man=0,gilr=0;
if(strcmp(stu[i].sex,"
男"
)==0)
man++;
else
gilr++;
\n\n男生总人数为:
%d\n"
man);
女生总人数为:
gilr);
voidc_yc(void)//某年以前出生人数统计
inti,k,Year,number=0;
请输入要统计的年份:
Year);
if(Year>
stu[i].data.year)
number++;
%d年以前出生的人数为:
Year,number);
voidc_ds(void)//某地学生人数统计
inti,k,number=0;
chardb[30];
请输入地名:
db);
if(strcmp(stu[i].address,db)==0)
%s学生人数为:
db,number);
voidc_dts(void)//党团员学生人数统计
inti,k,da=0,tu=0;
if(strcmp(stu[i].zzmm,"
团员"
tu++;
党员"
da++;
团员有:
%d个\n"
tu);
党员有:
da);
voidshow(void)//显示学生信息
if(k==0)
return;
else
文件中总共有%d个学生信息:
k);
\n\n学号\t\t姓名\t性别\t年龄\t政治面貌\t成绩\t出生日期\t地址\n"
%s\t%s\t%s\t%d\t%s\t%6.2f"
stu[i].num,stu[i].name,stu[i].sex,stu[i].age,stu[i].zzmm,stu[i].score);
%d\%d\%d\t\t%s"
stu[i].data.year,stu[i].data.mounth,stu[i].data.day,stu[i].address);
voidadd(void)//添加学生信息
voiddel(void)//删除学生信息
inti,k,j;
FILE*fp;
请输入要删除学生的学号或姓名:
if(strcmp(db,stu[i].name)==0||strcmp(db,stu[i].num)==0)
break;
if(i<
=k)
找到要删除的学生信息,删除中……\n"
if((fp=fopen("
学生档案信息.txt"
"
w"
))==NULL)
printf("
打开文件失败!
exit(0);
fprintf(fp,"
%d\n"
k-1);
for(j=1;
j<
j++)
if(j==i)
continue;
fprintf(fp,"
%s\n%s\n%s\n%d\n%s\n%.2f\n"
stu[j].num,stu[j].name,stu[j].sex,stu[j].age,stu[j].zzmm,stu[j].score);
%d/%d/%d\n"
stu[j].data.year,stu[j].data.mounth,stu[j].data.day);
%s\n"
stu[j].address);
fclose(fp);
OK!
未找到对应的学生信息\n"
voidchange(void)//修改学生信息
请输入要修改的学生的学号或姓名:
if(strcmp(db,stu[i].num)==0||strcmp(db,stu[i].name)==0)
找到要修改的学生的信息,请重设该学生所有的信息.\n"
stu[Max-1].num);
strcpy(stu[i].num,stu[Max-1].num);
stu[Max-1].name);
strcpy(stu[i].name,stu[Max-1].name);
stu[Max-1].sex);
strcpy(stu[i].sex,stu[Max-1].sex);
stu[Max-1].age);
stu[i].age=stu[Max-1].age;
stu[Max-1].zzmm);
strcpy(stu[i].zzmm,stu[Max-1].zzmm);
stu[Max-1].score);
stu[i].score=stu[Max-1].score;
出生日期:
stu[Max-1].data.year,&
stu[Max-1].data.mounth,&
stu[Max-1].data.day);
stu[i].data.day=stu[Max-1].data.day;
stu[i].data.mounth=stu[Max-1].data.mounth;
stu[i].data.year=stu[Max-1].data.year;
stu[Max-1].address);
strcpy(stu[i].address,stu[Max-1].address);
baocun(k,stu);
voidsch_num(void)//按学号查询学生信息
inti,number;
chardb[15];
number=open(stu);
\n请输入要查询的学号:
=number;
if(strcmp(db,stu[i].num)==0)
=number)
未找到此学号对应的学生信息\n"
voidsch_name(void)//按姓名查询学生信息
\n请输入要查询的姓名:
if(strcmp(db,stu[i].name)==0)
未找到此姓名对应的学生信息\n"
intopen(structstudentstu[Max])//打开文件
intnumber=0,i;
if((fp=fopen("
r"
printf("
exit(0);
if((fscanf(fp,"
number))==EOF)
number=0;
for(i=1;
fscanf(fp,"
%s%s%s%d%s%f"
stu[i].num,stu[i].name,stu[i].sex,&
stu[i].age,stu[i].zzmm,&
fclose(fp);
if(number==0)
文件中无数据,请添加.\n"
returnnumber;
voidbaocun(intnumber,structstudentstu[Max])//保存文件
fprintf(fp,"
number);
stu[i].data.year,stu[i].data.mounth,stu[
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生档案 信息 课程设计