1、完整word版学生信息管理系统c语言版源代码#include #include #include #include #define N 1000typedef struct studentint number;char name20;int grade;int gaoshu;int yingyu;int jisuanji;int sum;STUDENT;STUDENT studentN;int shuliang=0;void menu();void fhzjm()char biaozhi20;printf(n);printf(还需要操作么?如果需要操作请输入:yes,否则请输入:non);sc
2、anf(%s,biaozhi);if(strcmp(biaozhi,yes)=0)menu();else if(strcmp(biaozhi,no)=0)exit(0);elseprintf(请输入正确的字符,谢谢!n);fhzjm();void DengJi()int rs;int i,k=1;system(CLS);printf(请输入需要输入几个学生信息:);scanf(%d,&rs);for(i=shuliang;ishuliang+rs;i+,k+)printf(请输入第%d个学生的学号:,k);scanf(%d,&studenti.number);printf(请输入学生的姓名:)
3、;scanf(%s,studenti.name);printf(请输入学生3门课的成绩:);printf(请输入第1门课的成绩:);scanf(%d,&studenti.gaoshu);printf(请输入第2门课的成绩:);scanf(%d,&studenti.yingyu);printf(请输入第3门课的成绩:);scanf(%d,&studenti.jisuanji);shuliang=shuliang+rs;fhzjm();void ShanChu()char shanchuinfo10;system(CLS);printf(删除全部学生信息请输入all,删除指定学号的学生信息请输入o
4、nen);scanf(%s,shanchuinfo);if(strcmp(shanchuinfo,all)=0)int j;printf(你删除的学生信息如下:n);printf(-学号-姓名-高数-英语-计算机tn);for(j=0;jshuliang;j+)printf(-%d-%s-%d-%d-%dtn,studentj.number,studentj.name,studentj.gaoshu,studentj.jisuanji);shuliang=0;printf(删除成功nn);else if(strcmp(shanchuinfo,one)=0)struct student *p=N
5、ULL;int choice;int i,j,k=0;printf(请输入你要删除的人的学号:);scanf(%d,&choice);for(i=0;ishuliang;i+)if(choice=studenti.number)k=1;j=i;break;if(k)if(shuliang=1)p=&student0;free(p);shuliang=0;elsefor(i=j;ishuliang;i+)studenti=studenti+1;shuliang=shuliang-1;printf(删除成功nn);elseprintf(输入数据错误!n);fhzjm();void LiuLan()
6、int i;system(CLS);if(shuliang=0)printf(系统里面没有任何学生的信息!n);elsefor(i=0;ishuliang;i+)printf(第%d个学生的学号为:%dn,i+1,studenti.number);printf(第%d个学生的姓名为:%sn,i+1,studenti.name);printf(第%d个学生的第一门课的成绩为:%dn,i+1,studenti.gaoshu);printf(第%d个学生的第二门课的成绩为:%dn,i+1,studenti.yingyu);printf(第%d个学生的第三门课的成绩为:%dn,i+1,studenti
7、.jisuanji);studenti.sum=studenti.gaoshu+studenti.yingyu+studenti.jisuanji;printf(第%d个学生的总成绩为:%dn,i+1,studenti.sum);fhzjm();void ChaZhao()int xx;char choice,yy20;int i,j,k=0;system(CLS);if(shuliang=0)printf(系统里面没有任何学生的信息!n);fhzjm();printf(三种查找方式:学号,姓名,成绩n);printf(如果按学号查找请输1,如果按姓名查找请输2,如果按成绩查找请输3n);pr
8、intf(请输入您查找的方式:);scanf(%s,&choice);if(choice=1)printf(请输入需要查找学生的学号:);scanf(%d,&xx);printf(您所查找的学生的信息为:n);printf(-学号-姓名-高数成绩-英语成绩-计算机成绩-tn);for(i=0;ishuliang;i+)if(xx=studenti.number)j=i;k=1;printf(-%d-%s-%d-%d-%d-tn,studentj.number,studentj.name,studentj.gaoshu,studentj.yingyu,studenti.jisuanji);if(
9、k=0)printf(输入信息有误:n);else if(choice=2)printf(请输入需要查找学生的姓名:n);scanf(%s,yy);printf(您所查找的学生的信息为:n);printf(-学号-姓名-高数成绩-英语成绩-计算机成绩-tn);for(i=0;ishuliang;i+)if(strcmp(yy,studenti.name)=0)j=i;k=1;printf(-%d-%s-%d-%d-%d-tn,studentj.number,studentj.name,studentj.gaoshu,studentj.yingyu,studentj.jisuanji);if(k
10、=0)printf(输入信息有误:n);else if(choice=3)printf(请输入需要查找学生的成绩:n);scanf(%d,&xx);printf(您所查找的学生的信息为:n);printf(-学号-姓名-高数-英语-计算机-tn);for(i=0;ishuliang;i+)if(xx=studenti.grade)j=i;k=1;printf(-%d-%s-%d-%d-%d-tn,studentj.number,studentj.name,studentj.gaoshu,studentj.yingyu,studenti.jisuanji);if(k=0)printf(输入信息有
11、误:n);fhzjm();void PaiXu()struct student *p1N,*p2,*temp;int i,j;system(CLS);p2=p1;for( i=0;ishuliang;i+)p1i=student+i;for( i=0;ishuliang;i+)for( j=i+1;jsumsum)temp=*(p2+i);*(p2+i)=*(p2+j);*(p2+j)=temp;printf(按照总成绩排序之后的信息为:n);printf(-学号-姓名-总成绩-tn);for( i=0;inumber,(*(p2+i)-name,(*(p2+i)-sum);fhzjm();v
12、oid CunChu()int i;FILE *rs;if(rs=fopen(student.txt,w)=NULL)printf(not open);exit(0);for(i=0;ishuliang;i+)fwrite(&studenti, sizeof(studenti), 1, rs);if(ferror(rs)fclose(rs);perror(写文件失败!n);return;printf(存储文件成功!n);fclose(rs);fhzjm();void DaoChu()struct student t;int i=0;FILE* fp = fopen(student.txt, r
13、);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;studenti=t;i+;fclose(fp);shuliang=i;printf(导出文件成功!n);fhzjm();void menu()int n=0;system(CLS);printf( 学生信息管理系统n);print
14、f( 作者:陈椿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)case 1:DengJi();break;case 2:ShanChu();break;case 3:LiuLan();break;case 4:ChaZhao();break;case 5:PaiXu();break;case 6:CunChu();break;case 7:DaoChu();break;case 8:exit(0);break;default:printf(请输入1-8之间的数字,谢谢!n);goto a;main()menu();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1