最新C语言学生成绩管理系统代码实习.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言学生成绩管理系统代码实习#include<stdio#include"stdio.h"#include"string.h"#include"stdlib.h"#include"conio.h"#define N 10caidan();int x;/定义结构体数组(确定学生人数)struct studentschar num50;char name50; char sex5;int age;float sco1;float sco2;float sco3;float sum;float ave;stuN,del;/录入学生成绩void lr()int caidan();int i=0,m=0;char a; system("cls");for(i=0;i<N;i+)printf("请输入需要添加的学生资料:n");printf("学号:");scanf("%s",&stui.num);printf("姓名:"); scanf("%s",&stui.name);printf("性别:"); scanf("%S",&stui.sex);printf("年龄:"); scanf("%d",&stui.age);printf("请输入学生的三门成绩:n");printf("高数:"); scanf("%f",&stui.sco1);printf("英语:"); scanf("%f",&stui.sco2);printf("计算机:"); scanf("%f",&stui.sco3);stui.sum=stui.sco1+stui.sco2+stui.sco3;stui.ave=stui.sum/3;/求平均成绩printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n");printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("是否继续添加:y或nn");scanf("%c",&a);scanf("%c",&a);m+;if (a='n'|a='N')system("cls");break;x=m;caidan();/查询学生信息void cx()int i;char num100;printf("请输入要查找的学生学号:n");scanf("%s",num);for(i=0;i<N;i+)if(strcmp(stui.num,num)=0)/strcmp比较字符串S1和S2,S1<S2返回负数;S1=S2返回0;S1>S2返回正数printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n");printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);break;if(i=N)printf("查找不到!请重新输入!n");getch();system("cls");caidan();/修改学生信息void xg()char a,i=0;printf("请输入要修改的学生学号:n");scanf("%s",stui.num);printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n");printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("姓名:"); scanf("%s",&stui.name);printf("性别:"); scanf("%S",&stui.sex);printf("年龄:"); scanf("%d",&stui.age);printf("请输入学生的三门成绩:n");printf("高数:"); scanf("%f",&stui.sco1);printf("英语:"); scanf("%f",&stui.sco2);printf("计算机:"); scanf("%f",&stui.sco3);stui.sum=stui.sco1+stui.sco2+stui.sco3;stui.ave=stui.sum/3;/求平均成绩printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n");printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("是否确认修改:y或nn");scanf("%c",&a);scanf("%c",&a);if (a='Y'|a='y')system("cls");caidan();/删除学生信息void sc()int i,a;char num100;printf("请输入需删除的学生学号:n");scanf("%s",num);for(i=0;i<N;i+)if(strcmp(stui.num,num)=0)/strcmp比较字符串S1和S2,S1<S2返回负数;S1=S2返回0;S1>S2返回正数printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n"); printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("确认是否删除该学生数据(1是、2否)n");scanf("%d",&a);if(a=1)stui=del;printf("信息已删除,按任意键返回.n");break;else break;if(i=N)printf("您输入的信息不存在!n");getch();system("cls");caidan();/按照高数成绩排序void gs()int i,j;int caidan();struct students del;for(i=0;i<N-1;i+)for(j=i+1;j<N;j+)if(stuj.sco1>stui.sco1)del=stuj;stuj=stui;stui=del;for(i=0;i<x;i+)printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n"); printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("排序已完成,按任意键返回.n");getch();system("cls");caidan();/按照英语成绩排序void yy()int i,j;struct students del;for(i=0;i<N-1;i+)for(j=i+1;j<N;j+)if(stuj.sco2>stui.sco2)del=stuj;stuj=stui;stui=del;for(i=0;i<x;i+)printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n"); printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("排序已完成,按任意键返回.n");getch();system("cls");caidan();/按照计算机成绩排序void jsj()int i,j;struct students del;for(i=0;i<N-1;i+)for(j=i+1;j<N;j+)if(stuj.sco3>stui.sco3)del=stuj;stuj=stui;stui=del;for(i=0;i<x;i+)printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n"); printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("排序已完成,按任意键返回.n");getch();system("cls");caidan();/按照总成绩排序void zf()int i,j;struct students del;for(i=0;i<N-1;i+)for(j=i+1;j<N;j+)if(stuj.sum>stui.sum)del=stuj;stuj=stui;stui=del;for(i=0;i<x;i+)printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n"); printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("排序已完成,按任意键返回.n");getch();system("cls");caidan();/平均成绩排序void ave()int i,j;struct students del;for(i=0;i<N-1;i+)for(j=i+1;j<N;j+)if(stuj.ave>stui.ave)del=stuj;stuj=stui;stui=del;for(i=0;i<x;i+)printf("n*n"); printf("n | 学号 | 姓名 | 性别 | 年龄 | 高数 | 英语 | 计算机 | 总 分 | 平均分 |n"); printf("n*n"); printf(" %st%st%st%dt%.2ft%.2ft%.2ft%.2ft%.2f:n",stui.num,stui.name,stui.sex,stui.age,stui.sco1,stui.sco2,stui.sco3,stui.sum,stui.ave);printf("排序已完成,按任意键返回.n");getch();system("cls");caidan();/学生信息排序void px()int a;printf("请输入排序依据(1为高数,2为英语,3为计算机,4为总分,5为平均分)n");scanf("%d",&a);switch (a)case 1:system("cls");gs();break; case 2:system("cls");yy();break; case 3:system("cls");jsj();break;case 4:system("cls");zf();break;case 5:system("cls");ave();break; default:printf(" ");break; /退出系统void tc() printf("按任意键退出."); exit(0);/登陆界面,输入密码123void mima()int mima;printf("n*n");printf("n*n"); printf("n* ¤ *n"); printf("n* *n"); printf("n* -/ *n"); printf("n* *n");printf("n* *n");printf("n* 欢迎登陆学生成绩管理系统 *n");printf("n* *n");printf("n*n"); printf("n* Made by 5 groups *n");printf("n*n"); printf("请输入三位数字密码n");for(;)scanf("%d",&mima);if (mima=123) break;else printf("密码错误,请重新输入n");system("cls");/选择函数void xz() int num; scanf("%d",&num); switch(num) case 1:system("cls");lr();break; case 2:system("cls");cx();break; case 3:system("cls");sc();break; case 4:system("cls");px();break; case 5:system("cls");xg();break; case 6:system("cls");tc();break; default:printf(" ");break; /成功登陆管理界面int caidan()int n;printf("n*=*n");printf("n 成功登陆学生成绩管理系统 n");printf("n*n");printf("n 1、录入学生信息及成绩 n"); printf("n 2、查询学生信息及成绩 n"); printf("n 3、删除学生信息及成绩 n"); printf("n 4、排序学生信息及成绩 n");printf("n 5、修改学生信息及成绩 n");printf("n 6、退出学生信息及成绩 n");printf("n=n");printf("请输入1-6选择操作:"); xz();/主函数main()mima();caidan();-