学生信息管理系统C语言版Word文档下载推荐.docx
- 文档编号:18869064
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:26
- 大小:25.30KB
学生信息管理系统C语言版Word文档下载推荐.docx
《学生信息管理系统C语言版Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统C语言版Word文档下载推荐.docx(26页珍藏版)》请在冰豆网上搜索。
voidshanchuquanbu(structstudentstu[],int*num1);
voidtianjiayi(structstudentstu[],inti);
//添加一记录;
voidtianjia(structstudentstu[],int*num1);
//添加记录;
voidxiugai(structstudentstu[],intn);
//修改一条记录;
voidoutput(structstudentstu[],intn,intx);
//打印信息;
voidpaixu(structstudentstu[],intn);
//排序;
intjianchaxuehao(structstudentstu[],char*num);
//检查学号的合法性;
intjianchachengji(doublenum);
//检查成绩的合法性;
voidoutputone(structstudent*stu,inti,intx);
//输出一条信息
voidcaidan();
intmain()
intq;
jiazai(stu,&
n);
caidan();
scanf("
%d"
&
q);
while(q>
6)
{
printf("
输入错误请重新输入\n请输入0-6的数字\n"
);
}
Sleep(300);
system("
cls"
switch(q)
case1:
tianjia(stu,&
break;
case2:
xiugai(stu,n);
case3:
paixu(stu,n);
case4:
find(stu,n);
case5:
shanchu(stu,&
case6:
output(stu,n,0);
case0:
exit(0);
return0;
}
voidcaidan()
┌────────────────────────┐\n"
├───────欢迎进入学生信息管理系统─────┤\n"
├────────────────────────┤\n"
│1添加学生成绩│\n"
│2修改学生成绩│\n"
│3排序│\n"
│4查找│\n"
│5删除│\n"
│6输出│\n"
│0退出│\n"
└────────────────────────┘\n"
请输入选择:
\n"
voidjiazai(structstudentstu[],int*num1)
FILE*fp;
inti;
if((fp=fopen("
d:
\\student.dat"
"
r"
))==NULL)
*num1=0;
return;
for(i=0;
fread(&
stu[i],sizeof(structstudent),1,fp)!
=0;
i++)
*num1=i;
fclose(fp);
voidpaixu(structstudentstu[],intn)
intxuehao(constvoid*a,constvoid*b);
intyuwen(constvoid*a,constvoid*b);
intshuxue(constvoid*a,constvoid*b);
intyingyu(constvoid*a,constvoid*b);
intzongchengji(constvoid*a,constvoid*b);
int(*cmp[])(constvoid*a,constvoid*b)={xuehao,yuwen,shuxue,yingyu,zongchengji};
inta;
┌───────────────────────┐\n"
│欢迎进入学生信息排序页面│\n"
└───────────────────────┘\n"
│0:
按学号降序排序│\n"
├───────────────────────┤\n"
│1:
按语文成绩降序排序│\n"
│2:
按数学成绩降序排序│\n"
│3:
按英语成绩降序排序│\n"
│4:
安总成绩降序排序│\n"
a);
qsort(stu,n,sizeof(stu[0]),cmp[a]);
intxuehao(constvoid*a,constvoid*b)
if(strcmp(((structstudent*)a)->
num,((structstudent*)b)->
num)>
0)
return-1;
else
return1;
intyuwen(constvoid*a,constvoid*b)
return((structstudent*)a)->
yuwen<
((structstudent*)b)->
yuwen?
1:
-1;
intshuxue(constvoid*a,constvoid*b)
shuxue<
shuxue?
intyingyu(constvoid*a,constvoid*b)
yingyu<
yingyu?
intzongchengji(constvoid*a,constvoid*b)
zong<
zong?
voidshanchuyi(structstudentstu[],int*num1)
inti,in,c;
chary[20];
charstr[20];
│欢迎进入学生信息删除页面│\n"
请输入需要删除的学号\n"
%s"
str);
c=jianchaxuehao(stu,str);
while(c==0)
输入的学号不合法请重新输入\n"
in=findnum(stu,*num1,str);
while(in<
该学生的信息不存在\n"
重新输入(yes--y)返回主菜单(no--n)\n"
y);
while(strcmp(y,"
y"
)&
&
strcmp(y,"
n"
))
请输入y或n\n"
if(!
main();
for(i=in;
i<
*num1-1;
stu[i]=stu[i+1];
(*num1)--;
w"
打开失败\n"
删除成功\n"
baocun(stu,*num1);
继续删除(yes--y)返回上主菜单(no--n)\n"
getchar();
shanchuyi(stu,num1);
voidshanchuquanbu(structstudentstu[],int*num1)
chary[20],a[20];
是否全部删除?
(yes--y)返回主菜单(no--n)\n"
fp=fopen("
删除完成\n"
返回主菜单(yes--y)结束(no--n)\n"
a);
while(strcmp(a,"
strcmp(a,"
voidshanchu(structstudentstu[],int*num1)
┌─────────────────┐\n"
├───────删除────────┤\n"
├─────────────────┤\n"
├─────1:
删除指定信息─────┤\n"
├─────2:
删除全部信息─────┤\n"
└─────────────────┘\n"
case1:
shanchuquanbu(stu,num1);
intfindnum(structstudentstu[],intn,char*num)
n;
if(strcmp(stu[i].num,num)==0)
returni;
voidbaocun(structstudentstu[],intn)
fwrite(stu,(n+1)*sizeof(stu[0]),1,fp);
voidoutput(structstudentstu[],intn,intx)
if(n>
┌─────┬───┬───┬───┬───┬───┬───┐\n"
│%-10s│%-6s│%-6s│%-6s│%-6s│%-6s│%-6s"
学号"
姓名"
语文"
数学"
英语"
平均"
总成绩\n"
//printf("
└────┘┴\n"
outputone(&
stu[i],n,x);
└─────┴───┴───┴───┴───┴───┴───┘\n"
if(x)
charq[10];
返回主菜单(yes-y)返回上级菜单(no-n)\n"
q);
while(strcmp(q,"
strcmp(q,"
while(!
没有任何记录,请先添加信息\n"
voidoutputone(structstudent*stu,intn,intx)
x)
├─────┼───┼───┼───┼───┼───┼───┤\n"
│%-10s│%-6s│%-6.2lf│%-6.2lf│%-6.2lf│%-6.2lf│%-6.2lf│\n"
stu->
num,stu->
name,stu->
yuwen,stu->
shuxue,stu->
yingyu,stu->
pingjun,stu->
zong);
┌────┬───┬───┬───┬───┬───┬───┐\n"
│%-8s│%-6s│%-6s│%-6s│%-6s│%-6s│%-6s"
├────┼───┼───┼───┼───┼───┼───┤\n"
│%-8s│%-6s│%-6.1lf│%-6.1lf│%-6.1lf│%-6.1lf│%-6.1lf│\n"
└────┴───┴───┴───┴───┴───┴───┘\n"
voidtianjiayi(structstudentstu[],inti)
inta,b;
请输入学生学号\n"
stu[i].num);
a=jianchaxuehao(stu,stu[i].num);
while(a==0||a==2)
if(a==0)
if(a==2)
输入的学号与已有的重复请重新输入\n"
│欢迎进入学生信息添加页面│\n"
请输入该学生姓名\n"
stu[i].name);
请输入语文成绩\n"
%lf"
stu[i].yuwen);
b=jianchachengji(stu[i].yuwen);
while(b==0)
输入错误请重新输入\n"
请输入数学成绩\n"
stu[i].shuxue);
b=jianchachengji(stu[i].shuxue);
b=j
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 语言版