您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 学生信息管理系统c语言版源代码
#includestdio.h#includestring.h#includestdlib.h#includeconio.h#defineN1000typedefstructstudent{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;ishuliang+rs;i++,k++){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;jshuliang;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;ishuliang;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;ishuliang;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;ishuliang;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;ishuliang;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;ishuliang;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;ishuliang;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;ishuliang;i++){p1[i]=student+i;}for(i=0;ishuliang;i++){for(j=i+1;jshuliang;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;ishuliang;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;ishuliang;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
本文标题:学生信息管理系统c语言版源代码
链接地址:https://www.777doc.com/doc-4516212 .html