c语言学生成绩管理系统代码.doc
. .#include<stdio.h>#include<string.h>#include<stdlib.h>#define MAXN 100 /一个班最多的人数#define MAXM 2 /成绩的课程门数int R;void input(); /1.学生成绩新建void sort(); /2.学生成绩插入void load(); /3.学生成绩修改void print(); /4.学生成绩删除void total(); /5.学生成绩统计void search(); /6.学生成绩查询void save(); /7.学生成绩保存void end(); /8.完毕struct studentchar name20; /保存全班XXchar num12; /保存全班学号float scoreMAXM; /保存全班所有课程成绩float sum; /保存全班每个人的总成绩float avg; /保存每个人的平均成绩;struct student sMAXN;struct char subject20; /保存全班所有课程;struct cMAXM;void main() /欢迎首界面int select,l;system("color fC");printf("n");printf("n");printf("n");printf("n");printf(" ¥n");printf(" * *n");printf(" * *n");printf(" * 欢迎进入终极一班学生管理系统 *n");printf(" * *n");printf(" * 一 cf . *n");printf(" * 甘总管的多塔生活 *n");printf(" * *n");printf(" * 凸-凸凸-凸凸-凸凸-凸凸-凸凸-凸凸-凸 *n");printf(" ¥n");printf(" v '''n");printf(" ( o )( : )n");printf(" () : ()() v ()n");printf(" n");printf("n");printf("n");printf(" 请按任意键进入下一界面n");printf("-n");system("pause");system("color f2");system("color f1");system("color f3");system("color fE");system("color fB");system("color f5");system("color f9");system("color f6");system("color f1");system("color f3");system("color fE");system("color fB");system("color f5");system("color f9");system("color f6");system("color f1");system("color f3");system("color f5");system("color f9");system("color f6");system("color fD");system("pause");system("color fC");system("cls"); /上面是第一个界面while(1)system("cls");printf(" *欢迎进入终极一班学生管理系统*n");printf(" *n");printf(" * 1.学生成绩新建 囧rz 欢 *n");printf(" * :=>> 2.学生成绩插入 迎 *n");printf(" * 3.学生成绩修改 来 *n");printf(" * 4.学生成绩删除 到 *n");printf(" * 5.学生成绩统计 英 *n");printf(" * 6.学生成绩查询 雄 *n");printf(" * 7.学生成绩保存 联 *n");printf(" * 8.退出/撒拉嘿 盟 *n");printf(" * ()()()()()() *n");printf(" *n");printf("n"); printf("n 请输入您的选择编号,回车键继续:n");printf(" -n");scanf("%d",&select); do if(select<1|select>8) printf(" 您输入有误,请重新输入,谢谢!n");scanf("%d",&select); l=select; while(l<1|l>8);switch(select)case 1:input();break; /1.学生成绩新建case 2:sort(); break; /2.学生成绩插入case 3:load(); break; /3.学生成绩修改case 4:print(); break; /4.学生成绩删除case 5:total();break; /5.学生成绩统计 case 6:search();break; /6.学生成绩查询 case 7:save();break; /7.学生成绩保存case 8: end();break; /8.完毕default:printf(" 请按相应数学选择系统功能:");void input() /1学生成绩输入成绩模块int i,j,b;float a=0;printf(" 请输入该班同学的人数:n");printf(" 班同学的人数在1%d之间:n",MAXN);scanf("%d",&R); do if(R<1|R>100) printf(" 您输入有误,请重新输入,谢谢!n");scanf("%d",&R); b=R; while(b<1|b>100);for(i=0;i<MAXM;i+) printf(" 请输入该班同学的第%d门课程名称为:n",(i+1);scanf("%s", &ci.subject);for(i=0;i<R;i+) printf(" 请输入第%d个同学的XX:n",(i+1);scanf("%s",&si.name); printf(" 请输入第%d个同学的学号:n",(i+1); scanf("%s",&si.num); printf(" 请依次输入%d门学科的成绩:n",MAXM);for(j=0;j<MAXM;j+) printf(" 请输入课程%s的成绩为:n",cj.subject); scanf("%f",&si.scorej); a=a+si.scorej; si.sum=a;si.avg=si.sum/MAXM;a=0;void sort() /2学生成绩插入成绩模块int i,j,k,b;float a=0;printf(" 请输入要插入的学生的位置1%d号:n",R);printf(" 第几个学生的位置之后:n");scanf("%d",&k);doif(k<1|k>R) printf(" 您输入有误,请重新输入,谢谢!n");scanf("%d",&k);b=k;while(b<1|b>R);R=R+1;for(i=R;i>k;i-)strcpy(si.name,si-1.name);strcpy(si.num,si-1.num);si.sum=si-1.sum;si.avg=si-1.avg;for(j=0;j<MAXM;j+) si.scorej=si-1.scorej;printf(" 请输入第%d个同学的XX:n",(k+1);scanf("%s",&sk.name); printf(" 请输入第%d个同学的学号:n",(k+1); scanf("%s",&sk.num); printf(" 请依次输入%d门学科的成绩:n",MAXM);for(j=0;j<MAXM;j+) printf(" 请输入课程%s的成绩为:n",&cj.subject); scanf("%f", &sk.scorej); a=a+sk.scorej; sk.sum=a;sk.avg=sk.sum/MAXM;void load() /3学生成绩修改float a=0,hMAXM; int i,j,b;printf(" 请输入修改学生的位置1%d 号: n",R);scanf("%d",&i);doif(i<1|i>R) printf(" 您输入有误,请重新输入,谢谢!n");scanf("%d",&i);b=i;while(b<1|b>R);printf(" 请输入%d号的新学号: n",i);scanf("%s",&si-1.name); printf(" 请输入%d号的新XX: n",i);scanf("%s",&si-1.num);for(j=0;j<MAXM;j+) printf(" 请输入课程%s的成绩为:n",&cj.subject); scanf("%f",&hj);si-1.scorej =hj; a=a+si-1.scorej; si-1.sum=a;si-1.avg=si-1.sum/MAXM;void print() /4学生成绩删除int i,j,k,b;printf(" 请输入删除学生的位置1%d 号:n",R);scanf("%d",&k); do if(k<1|k>R) printf(" 您输入有误,请重新输入,谢谢!n");scanf("%d",&k); b=k; while(b<1|b>R);i=k-1;for(i;i<R;i+)strcpy(si.name,si+1.name);strcpy(si.num,si+1.num);si.sum=si+1.sum;si.avg=si+1.avg;for(j=0;j<MAXM;j+) si.scorej=si+1.scorej;R=R-1;printf("删除成功! n");void total() /5.学生成绩统计int i,j;float aMAXM,b=0;printf("学号: XX:课程%s的分数: 课程%s的分数: 总成绩: 平均成绩:n",c0.subject,c1.subject);for(i=0;i<R;i+) printf("%s%10.2s%16.2f%16.2f%16.2f%16.2fn",si.num, si.name,si.score0 ,si.score1,si.sum,si.avg); for(i=0;i<MAXM;i+) for(j=0;j<R;j+) b=b+sj.scorei; ai=b/R; b=0; for(i=0;i<MAXM;i+) printf(" 全班课程%s的平均分为:%f n",ci.subject,ai); printf("排序完毕.n");system("pause");void search() /6查询成绩模块int search1();int search2();int select,index,b;while(1)printf(" *n");printf(" * 1.按学号查询 * n");printf(" * 2.按XX查询 * n");printf(" * 0.返回 * n");printf(" * 请输入您的选择编号: * n");printf(" *n");scanf("%d",&select); do if(select<0|select>2) printf(" 您输入有误,请重新输入,谢谢!n");scanf("%d",&select); b=select; while(b<0|b>2);switch(select)case 1:index=search1(); break;case 2:index=search2();break;case 0:return;if(index!=-1)int i;printf(" *n");printf(" 学号:%s n", sindex.num);printf(" XX:%s n", sindex.name);printf(" 总成绩:%f n", sindex.sum);printf(" 平均成绩:%f n", sindex.avg);for(i=0;i<MAXM;i+)printf(" 课程%s的成绩为:%f n", ci.subject,sindex.scorei);printf(" *n");else printf("没有这个同学。n");int search1() /按学号查询模块int i;char s_num12;printf(" 请输入要查询的学号:");scanf("%s",&s_num);for(i=0;i<MAXN;i+)if(strcmp(si.num,s_num)=0)break;if(i<MAXN)return i;else return -1;int search2() /按XX查询模块int i;char s_name10;printf(" 请输入要查询的XX:");scanf("%s",&s_name);for(i=0;i<MAXN;i+)if(strcmp(si.name,s_name)=0)break;if(i<MAXN)return i;else return -1;void save() /7保存成绩模块FILE *fp;int i,j,k=0;char filename20;printf("请输入文件名(请以 .txt 完毕): ");scanf("%s",filename);if(fp=fopen(filename, "w")=NULL)printf("翻开文件失败.n");return;fprintf(fp, "该班学生数和所修课程数分别为:%d,%dnn",R,MAXM);fprintf(fp, "该班所修的课程有:n");for(j=0;j<MAXM;j+)fprintf(fp, "课程%d:%sn",1+j,cj.subject);fprintf(fp, "下面是该班学生信息:nn");for(i=0;i<R;i+)fprintf(fp, "学号:%s XX:%sn",si.num,si.name);for(j=0;j<MAXM;j+)fprintf(fp, "%s:%5.2fn",cj.subject,sk.scorej);fprintf(fp, "学生总成绩:%5.2fn学生平均成绩:%5.2fnn",si.sum,si.avg);k+;fclose(fp);printf("nn 保存成功nnnn");fclose(fp);printf("保存完毕.n");void end() /8.完毕 system("cls"); system("color f4"); printf("n"); printf("n"); printf("n"); printf("n");printf(" ?n"); printf(" ?n");printf("n"); printf(" ?n");printf("n"); printf(" ?n");printf("n"); printf(" ? n");printf("n"); printf(" n");printf("n"); printf(" ?n");printf("n"); printf(" ?n");printf("n"); printf(" n");printf("n"); printf(" ? n");printf("n"); printf(" ?n");printf("n");printf(" ?n");printf("n");printf(" ? n"); printf("n"); printf("n"); printf("n"); printf("nn 谢谢您的使用。BYE!nnnnnnnn"); system("color f2");system("color f1");system("color f3");system("color fE");system("color fB");system("color f5");system("color f9");system("color f6");system("color f1");system("color f3");system("color fE");system("color fB");system("color f5");system("color f9");system("color f6");system("color f1");system("color f3");system("color f5");system("color f9");system("color f6"); exit(0);.欢迎您的光临,wdrd文档下载后可以修改编辑。双击可以删除页眉页脚。谢谢!单纯的课本容,并不能满足学生的需要,通过补充,到达容的完善教育之通病是教用脑的人不用手,不教用手的人用脑,所以一无所能。教育革命的对策是手脑联盟,结果是手与脑的力量都可以大到不可思议。.文.文.优质文?页眉页脚?专业资料?.w?. . .z. .?. . 专业资料. .word.zl.