学生信息管理系统c语言版源代码.docx
- 文档编号:8775511
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:12
- 大小:16KB
学生信息管理系统c语言版源代码.docx
《学生信息管理系统c语言版源代码.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统c语言版源代码.docx(12页珍藏版)》请在冰豆网上搜索。
学生信息管理系统c语言版源代码
#include
#include
#include
#include
#defineN1000
typedefstructstudent
{
intnumber;
charname[20];
intgrade;
intgaoshu;
intyingyu;
intjisuanji;
intsum;
}STUDENT;
STUDENTstudent[N];
intshuliang=0;
voidmenu();
voidfhzjm()
{
charbiaozhi[20];
printf("\n");
printf("还需要操作么?
如果需要操作请输入:
yes,否则请输入:
no\n");
scanf("%s",biaozhi);
if(strcmp(biaozhi,"yes")==0)
{
menu();
}
elseif(strcmp(biaozhi,"no")==0)
exit(0);
else
{
printf("请输入正确的字符,谢谢!
\n");
fhzjm();
}
}
voidDengJi()
{
intrs;
inti,k=1;
system("CLS");
printf("请输入需要输入几个学生信息:
");
scanf("%d",&rs);
for(i=shuliang;i { printf("请输入第%d个学生的学号: ",k); scanf("%d",&student[i].number); printf("请输入学生的姓名: "); scanf("%s",student[i].name); printf("请输入学生3门课的成绩: "); printf("请输入第1门课的成绩: "); scanf("%d",&student[i].gaoshu); printf("请输入第2门课的成绩: "); scanf("%d",&student[i].yingyu); printf("请输入第3门课的成绩: "); scanf("%d",&student[i].jisuanji); } shuliang=shuliang+rs; fhzjm(); } voidShanChu() { charshanchuinfo[10]; system("CLS"); printf("删除全部学生信息请输入\"all\",删除指定学号的学生信息请输入\"one\"\n"); scanf("%s",shanchuinfo); if(strcmp(shanchuinfo,"all")==0) { intj; printf("你删除的学生信息如下: \n"); printf("-----------学号-------------姓名-------------高数--------------英语--------------计算机\t\n"); for(j=0;j printf("----%d-------%s-------%d-------%d-------%d\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].jisuanji); shuliang=0; printf("删除成功\n\n"); } elseif(strcmp(shanchuinfo,"one")==0) { structstudent*p=NULL; intchoice; inti,j,k=0; printf("请输入你要删除的人的学号: "); scanf("%d",&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); shuliang=0; } else { for(i=j;i { student[i]=student[i+1]; } shuliang=shuliang-1; } printf("删除成功\n\n"); } else { printf("输入数据错误! \n"); } } fhzjm(); } voidLiuLan() { inti; system("CLS"); if(shuliang==0) { printf("系统里面没有任何学生的信息! \n"); } else { for(i=0;i { printf("第%d个学生的学号为: %d\n",i+1,student[i].number); printf("第%d个学生的姓名为: %s\n",i+1,student[i].name); printf("第%d个学生的第一门课的成绩为: %d\n",i+1,student[i].gaoshu); printf("第%d个学生的第二门课的成绩为: %d\n",i+1,student[i].yingyu); printf("第%d个学生的第三门课的成绩为: %d\n",i+1,student[i].jisuanji); student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji; printf("第%d个学生的总成绩为: %d\n",i+1,student[i].sum); } } fhzjm(); } voidChaZhao() { intxx; charchoice,yy[20]; inti,j,k=0; system("CLS"); if(shuliang==0) { printf("系统里面没有任何学生的信息! \n"); fhzjm(); } printf("三种查找方式: 学号,姓名,成绩\n"); printf("如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3\n"); printf("请输入您查找的方式: "); scanf("%s",&choice); if(choice=='1') { printf("请输入需要查找学生的学号: "); scanf("%d",&xx); printf("您所查找的学生的信息为: \n"); printf("----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n"); for(i=0;i { if(xx==student[i].number) { j=i;k=1; printf("----%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) printf("输入信息有误: \n"); } elseif(choice=='2') { printf("请输入需要查找学生的姓名: \n"); scanf("%s",yy); printf("您所查找的学生的信息为: \n"); printf("----学号----姓名----高数成绩----英语成绩----计算机成绩----\t\n"); for(i=0;i { if(strcmp(yy,student[i].name)==0) { j=i;k=1; printf("----%d-------%s-------%d-------%d-------%d----\t\n",student[j].number,student[j].name,student[j].gaoshu,student[j].yingyu,student[j].jisuanji); } } if(k==0) printf("输入信息有误: \n"); } elseif(choice=='3') { printf("请输入需要查找学生的成绩: \n"); scanf("%d",&xx); printf("您所查找的学生的信息为: \n"); printf("----学号----姓名----高数----英语----计算机----\t\n"); for(i=0;i { if(xx==student[i].grade) { j=i;k=1; printf("----%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) printf("输入信息有误: \n"); } fhzjm(); } voidPaiXu() { structstudent*p1[N],**p2,*temp; inti,j; system("CLS"); p2=p1; for(i=0;i { p1[i]=student+i; } for(i=0;i { for(j=i+1;j { if((*(p2+i))->sum<(*(p2+j))->sum) {temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;} } } printf("按照总成绩排序之后的信息为: \n"); printf("----学号----姓名----总成绩----\t\n"); for(i=0;i { student[i].sum=student[i].gaoshu+student[i].yingyu+student[i].jisuanji; printf("----%d-----%s----%d-----\n",(*(p2+i))->number,(*(p2+i))->name,(*(p2+i))->sum); } fhzjm(); } voidCunChu() { inti; FILE*rs; if((rs=fopen("student.txt","w"))==NULL) { printf("notopen"); exit(0); } for(i=0;i { fwrite(&student[i],sizeof(student[i]),1,rs); } if(ferror(rs)) { fclose(rs); perror("写文件失败! \n"); return; } printf("存储文件成功! \n"); fclose(rs); fhzjm(); } voidDaoChu() { structstudentt; inti=0; FILE*fp=fopen("student.txt","r"); shuliang=0; if(NULL==fp) { perror("读取文件打开失败! \n"); return; } memset(student,0x0,sizeof(student)); while (1) { fread(&t,sizeof(t),1,fp); if(ferror(fp)) { fclose(fp); perror("读文件过程失败! \n"); return; } if(feof(fp)) { break; } student[i]=t; i++; } fclose(fp); shuliang=i; printf("导出文件成功! \n"); fhzjm(); } voidmenu() { intn=0; system("CLS"); printf("学生信息管理系统\n"); printf("作者: 陈椿\n"); printf("-------------------MENU-----------------\n"); printf("1.登记学生信息\n"); printf("2.删除学生信息\n"); printf("3.浏览所有已经登记的学生\n"); printf("4.查找\n"); printf("4.1按学号查找\n"); printf("4.2按姓名查找\n"); printf("4.3按成绩查找\n"); printf("5.根据总成绩排序\n"); printf("6.存储到文件\n"); printf("7.从文件导出\n"); printf("8.退出系统\n"); a: printf("请选择: "); scanf("%d",&n); switch(n) { case1: DengJi();break; case2: ShanChu();break; case3: LiuLan();break; case4: ChaZhao();break; case5: PaiXu();break; case6: CunChu();break; case7: DaoChu();break; case8: exit(0);break; default: { printf("请输入1-8之间的数字,谢谢! \n"); gotoa; } } } main() { menu(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 语言版 源代码