学生信息管理系统c语言版源代码Word文档下载推荐.docx
《学生信息管理系统c语言版源代码Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统c语言版源代码Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
还需要操作么?
如果需要操作请输入:
yes,否则请输入:
no\n"
scanf("
%s"
biaozhi);
if(strcmp(biaozhi,"
yes"
)==0)
menu();
}
elseif(strcmp(biaozhi,"
no"
exit(0);
else
请输入正确的字符,谢谢!
fhzjm();
voidDengJi()
intrs;
inti,k=1;
system("
CLS"
请输入需要输入几个学生信息:
"
%d"
&
rs);
for(i=shuliang;
i<
shuliang+rs;
i++,k++)
请输入第%d个学生的学号:
k);
student[i].number);
请输入学生的姓名:
student[i].name);
请输入学生3门课的成绩:
请输入第1门课的成绩:
student[i].gaoshu);
请输入第2门课的成绩:
student[i].yingyu);
请输入第3门课的成绩:
student[i].jisuanji);
shuliang=shuliang+rs;
voidShanChu()
charshanchuinfo[10];
删除全部学生信息请输入\"
all\"
,删除指定学号的学生信息请输入\"
one\"
shanchuinfo);
if(strcmp(shanchuinfo,"
all"
intj;
你删除的学生信息如下:
-----------学号-------------姓名-------------高数--------------英语--------------计算机\t\n"
for(j=0;
j<
shuliang;
j++)
----%d-------%s-------%d-------%d-------%d\t\n"
student[j].number,student[j].name,student[j].gaoshu,student[j].jisuanji);
shuliang=0;
删除成功\n\n"
elseif(strcmp(shanchuinfo,"
one"
structstudent*p=NULL;
intchoice;
inti,j,k=0;
请输入你要删除的人的学号:
choice);
for(i=0;
i++)
if(choice==student[i].number)
k=1;
j=i;
break;
if(k)
if(shuliang==1)
p=&
student[0];
free(p);
for(i=j;
student[i]=student[i+1];
shuliang=shuliang-1;
输入数据错误!
voidLiuLan()
inti;
if(shuliang==0)
系统里面没有任何学生的信息!
第%d个学生的学号为:
%d\n"
i+1,student[i].number);
第%d个学生的姓名为:
%s\n"
i+1,student[i].name);
第%d个学生的第一门课的成绩为:
i+1,student[i].gaoshu);
第%d个学生的第二门课的成绩为:
i+1,student[i].yingyu);
第%d个学生的第三门课的成绩为:
i+1,student[i].jisuanji);
student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji;
第%d个学生的总成绩为:
i+1,student[i].sum);
voidChaZhao()
intxx;
charchoice,yy[20];
三种查找方式:
学号,姓名,成绩\n"
如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3\n"
请输入您查找的方式:
if(choice=='
1'
)
请输入需要查找学生的学号:
xx);
您所查找的学生的信息为:
----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n"
if(xx==student[i].number)
----%d-------%s-------%d-------%d-------%d----\t\n"
student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[i].jisuanji);
if(k==0)
输入信息有误:
elseif(choice=='
2'
请输入需要查找学生的姓名:
yy);
if(strcmp(yy,student[i].name)==0)
student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].jisuanji);
3'
请输入需要查找学生的成绩:
----学号----姓名----高数----英语----计算机----\t\n"
if(xx==student[i].grade)
voidPaiXu()
structstudent*p1[N],**p2,*temp;
inti,j;
p2=p1;
for(i=0;
p1[i]=student+i;
for(j=i+1;
if((*(p2+i))->
sum<
(*(p2+j))->
sum)
{temp=*(p2+i);
*(p2+i)=*(p2+j);
*(p2+j)=temp;
按照总成绩排序之后的信息为:
----学号----姓名----总成绩----\t\n"
----%d-----%s----%d-----\n"
(*(p2+i))->
number,(*(p2+i))->
name,(*(p2+i))->
sum);
voidCunChu()
FILE*rs;
if((rs=fopen("
student.txt"
"
w"
))==NULL)
notopen"
fwrite(&
student[i],sizeof(student[i]),1,rs);
if(ferror(rs))
fclose(rs);
perror("
写文件失败!
return;
存储文件成功!
voidDaoChu()
structstudentt;
inti=0;
FILE*fp=fopen("
"
r"
if(NULL==fp)
读取文件打开失败!
memset(student,0x0,sizeof(student));
while
(1)
fread(&
t,sizeof(t),1,fp);
if(ferror(fp))
fclose(fp);
读文件过程失败!
if(feof(fp))
student[i]=t;
i++;
shuliang=i;
导出文件成功!
voidmenu()
intn=0;
学生信息管理系统\n"
作者:
陈椿\n"
-------------------MENU-----------------\n"
1.登记学生信息\n"
2.删除学生信息\n"
3.浏览所有已经登记的学生\n"
4.查找\n"
4.1按学号查找\n"
4.2按姓名查找\n"
4.3按成绩查找\n"
5.根据总成绩排序\n"
6.存储到文件\n"
7.从文件导出\n"
8.退出系统\n"
a:
printf("
请选择:
n);
switch(n)
case1:
DengJi();
case2:
ShanChu();
case3:
LiuLan();
case4:
ChaZhao();
case5:
PaiXu();
case6:
CunChu();
case7:
DaoChu();
case8:
default:
请输入1-8之间的数字,谢谢!
gotoa;
main()