用C语言写的学生信息管理系统+自己写的_学生信息管理系统c
用C语言写的学生信息管理系统+自己写的由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“学生信息管理系统c”。
#include
#include
struct student
{
int num;
char name[20];
int y;
int s;
int d;
int z;
int bz;
};
struct student stu[1000];
int n=0;
void red();
void f1();
void f2();
void f3();
void f4();
void sav();
void main()
{
FILE *fp;
if((fp=fopen(“student”,“r”))==NULL)
{
fclose(fp);
FILE *fp;
fp=fopen(“student”,“w”);
fclose(fp);
}
red();
int i;
loop1:printf(“************************************************n1查询每科最高分的学生n2查询所有学生n3删除信息
n4添加信息n其它退出保存
n************************************************n”);
scanf(“%d”,&i);
switch(i)
{
case 1:
f1();
gotoloop1;
case 2:
f2();
gotoloop1;
sav();
case 3:
f3();
gotoloop1;
case 4:
f4();
gotoloop1;
default:
sav();
}
printf(“操作已保存n”);
}
void red()
{
int i;
FILE *fp;
fp=fopen(“student”,“r”);
for(i=0;!feof(fp);i++)
{
fread(&stu[i],sizeof(struct student),1,fp);
n=i+1;
}
fclose(fp);
}
void f1()
{
int i;
printf(“************************************************n1 语文n2 数学n3 代数
n************************************************n”);
scanf(“%d”,&i);
switch(i)
{
case 1:
{
int j;
struct student st;
st.y=0;
for(j=0;j
if(stu[j].bz)
if(stu[j].y>st.y)st=stu[j];
printf(“语文最高分的学生:n”);
if(stu[i].bz)
{
printf(“学号姓名语文数学代数总分n”);
printf(“%8d%10s%8d%8d%8d%8dn”,st.num,st.name,st.y,st.s,st.d,st.z);
}
break;
}
case 2:
{
int j;
struct student st;
st.s=0;
for(j=0;j
if(stu[j].bz)
if(stu[j].s>st.s)st=stu[j];
printf(“数学最高分的学生:n”);
if(stu[i].bz)
{
printf(“学号姓名语文数学代数总分n”);
printf(“%8d%10s%8d%8d%8d%8dn”,st.num,st.name,st.y,st.s,st.d,st.z);
}
break;
}
case 3:
{
int j;
struct student st;
st.d=0;
for(j=0;j
if(stu[j].bz)
if(stu[j].d>st.d)st=stu[j];
printf(“代数最高分的学生:n”);
if(stu[i].bz)
{
printf(“学号姓名语文数学代
数总分n”);
printf(“%8d%10s%8d%8d%8d%8dn”,st.num,st.name,st.y,st.s,st.d,st.z);
}
break;
}
default:;
}
}
void f2()
{
printf(“所有信息:n”);
int i,j;
struct student t;
for(j=0;j
for(i=0;i
if(stu[i].z
{ t=stu[i];stu[i]=stu[i+1];stu[i+1]=t;}
for(i=0;i
if(stu[i].bz)
{
printf(“学号姓名语文数学代数总分n”);
printf(“%8d%10s%8d%8d%8d%8dn”,stu[i].num,stu[i].name,stu[i].y,stu[i].s,stu[i].d,stu[i].z);
}
}
void f3()
{
if(n==0)
printf(“要删除信息不存在n”);
int i=0,j,t=1;
printf(“输入要删除信息的学号n”);
scanf(“%d”,&j);
while(i
{
if(stu[i].bz&&(stu[i].num==j))
{ stu[i].bz=0;
t=0;}
i++;
}
if(t)
printf(“要删除信息不存在n”);
}
void f4()
{
int t,j=0;
loop2:printf(“输入学号n”);
t=0;
scanf(“%d”,&stu[n].num);
while(j
{
if((stu[n].num==stu[j].num)&&stu[j].bz)t=1;j++;
}
if(t){printf(“输入学号已存在n”);goto loop2;}printf(“输入姓名n”);
scanf(“%s”,&stu[n].name);
printf(“输入语文n”);
scanf(“%d”,&stu[n].y);
printf(“输入数学n”);
scanf(“%d”,&stu[n].s);
printf(“输入代数n”);
scanf(“%d”,&stu[n].d);
stu[n].z=stu[n].y+stu[n].s+stu[n].d;
stu[n].bz=1;
n++;
}
void sav()
{
int i;
FILE *fp;
fp=fopen(“student”,“w”);
for(i=0;i
{
if(stu[i].bz)
fwrite(&stu[i],sizeof(struct student),1,fp);}
fclose(fp);
}