C语言学生信息管理系统附源码Word文件下载.docx
《C语言学生信息管理系统附源码Word文件下载.docx》由会员分享,可在线阅读,更多相关《C语言学生信息管理系统附源码Word文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
intchcode();
/***********主函数****************/
intmain()
intn;
intlogin=chcode();
if(!
login)
{
printf("
登录失败!
\n"
);
return0;
}
printf("
登录成功!
menu();
scanf("
%d"
&
n);
while(n)
switch(n)
{
case0:
exit(0);
case1:
input();
break;
case2:
search();
case3:
del();
case4:
modify();
case5:
insert();
case6:
order();
case7:
total();
case8:
show();
default:
printf("
输入有误,请重新输入:
"
}
getch();
menu();
scanf("
return0;
}
/*******自定义函数实现菜单功能******/
voidmenu()
system("
cls"
\t\t|-------------学生信息系统----------|\n"
\t\t||\n"
\t\t|0.退出系统\t\t\t|\n"
\t\t|1.输入记录\t\t\t|\n"
\t\t|2.查找记录\t\t\t|\n"
\t\t|3.删除记录\t\t\t|\n"
\t\t|4.修改记录\t\t\t|\n"
\t\t|5.插入记录\t\t\t|\n"
\t\t|6.记录排序\t\t\t|\n"
\t\t|7.记录个数\t\t\t|\n"
\t\t|8.显示记录\t\t\t|\n"
\t\t|-----------------------------------|\n\n"
\t\t请输入你的操作(0-8):
/*****录入学生信息**/
voidinput()
inti,m=0;
charch[2];
FILE*fp;
/*定义指针文件*/
if((fp=fopen("
stuData.tet"
"
a+"
))==NULL)
打开文件失败\n"
return;
while(!
feof(fp))
if(fread(&
stu[m],LEN,1,fp)==1)
m++;
fclose(fp);
if(m==0)
没有数据!
else
system("
show();
stuData.txt"
wb"
for(i=0;
i<
m;
i++)
fwrite(&
stu[i],LEN,1,fp);
请确认(y/n):
%s"
ch);
while(strcmp(ch,"
Y"
)==0||strcmp(ch,"
y"
)==0)
学号:
stu[m].num);
for(i=0;
if(stu[i].num==stu[m].num)
{
printf("
此学号已存在!
getch();
fclose(fp);
return;
}
printf("
姓名:
scanf("
stu[m].name);
语文成绩:
%f"
stu[m].chinese);
数学成绩:
stu[m].math);
英语成绩:
stu[m].english);
stu[m].sum=stu[m].chinese+stu[m].math+stu[m].english;
if(fwrite(&
stu[m],LEN,1,fp)!
=1)
保存失败!
else
%s已保存!
m++;
是否继续?
(y/n):
操作成功!
/******自定义查找*/
voidsearch()
intsnum,i,m=0;
rb"
文件无记录!
请输入需要查找的学生学号:
snum);
if(snum==stu[i].num)
学生数据已找到,确认显示?
(y/n)"
if(strcmp(ch,"
学号姓名语文数学英语总分\t\n"
printf(FORMAT,DATA);
break;
if(i==m)
查找失败!
}
/*****自定义删除***/
voiddel()
FILE*fp;
intsnum,i,j,m=0;
r+"
return;
文件无记录!
请输入需要删除的学生学号:
数据已经找到,是否确认删除?
for(j=i;
j<
j++)
stu[j]=stu[i];
m--;
if((fp=fopen("
{
printf("
return;
}
for(j=0;
if(fwrite(&
stu[j],LEN,1,fp)!
{
printf("
对不起,保存失败!
getch();
}
fclose(fp);
删除成功!
取消删除!
没有找到要删除的信息!
/*******自定义修改函数***/
voidmodify()
inti,j,m=0,snum;
fclose(fp);
请输入你要修改的的学生学号\n"
学号是:
if(snum==stu[i].sum)
学生数据已找到,请修改!
name"
stu[i].name);
chinese"
stu[i].chinese);
math:
english:
stu[i].english);
modifysuccessful!
stu[i].sum=stu[i].chinese+stu[i].math+stu[i].english;
if((fp=fopen("
fclose(fp);
return;
没有找到匹配信息"
/********自定义插入函数****/
voidinsert()
inti,j,k,m=0,snum;
stu[m],LEN,1,fp)==1)m++;
请输入数据插入的位置:
break;
for(j=m-1;
j>
i;
j--)
stu[j+i]=stu[j];
请输入待插入数据信息.\n"
学号"
stu[i+1].num);
for(k=0;
k<
k++)
if(stu[k].num==stu[m].num)
getch();
姓名"
stu[i+1].name);
stu[i+1].chinese);
stu[i+1].math);
stu[i+1].english);
stu[i+1].sum=stu[i+1].chinese+stu[i+1].math+stu[i+1].english;
if((fp=fopen("
for(k=0;
=m;
stu[k],LEN,1,fp)!
getch();
插入函数成功!
//************自定义排序函数****///
voidorder()
structstudentt;
inti=0,j=0,m=0;
打开文件失败!
无记录!
m-1;
if(fwrite(&
stu[i],LEN,1,fp)!
%s保存失败!
操作成功\n"
/*******显示学生总人数*******/
voidtotal()
intm=0;
学生总数为%d位!
m);
/*******显示学生信息*****/
voidshow()
fp=fopen("
printf(FORMAT,DATA);
intchcode(){
charpw[50],ch;
char*syspw="
1234"
;
//原始密码
inti,m=0;
请输入密码:
while(m<
3){
i=0;
while((ch=_getch())!
='
\r'
){
if(ch=='
\b'
&
&
i>
0){
\b\b"
--i;
elseif(ch!
pw[i++]=ch;
*"
pw[i]='
\0'
if(strcmp(pw,syspw)!
=0){
密码错误,请重新输入!
else{
密码正确!
system("
pause"
return1;
连续3次输入错误,退出!