成绩管理系统,成绩管理系统代码
C语言成绩管理系统
#include?"stdio.h"
struct?stu{
int?sid,score;
char?g;
};
void?scorein(struct?stu?*p,int?n){
int?i,t;
for(i=0;in;i++){
scanf("%d%d",p[i].sid,p[i].score);
p[i].g?=?(t=p[i].score)89??t101???'A'?:?t79??t90???'B'?:?t69??t80???'C'?:?t59??t70???'D'?:?'E';
}
}
int?sum(struct?stu?*p,int?n){
int?s=0;
while(n--)
s+=p++-score;
return?s;
}
void?dssort(struct?stu?*p,int?n){
int?i,j,k;
struct?stu?t;
printf("\nSTUID\tSCORE\tCLASS\n=====================\n");
for(i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(p[k].scorep[j].score)
k=j;
if(k!=i)
t=p[k],p[k]=p[i],p[i]=t;
printf("%d\t%d\t%c\n",p[i].sid,p[i].score,p[i].g);
}
}
void?idsort(struct?stu?*p,int?n){
int?i,j,k;
struct?stu?t;
printf("\nSTUID\tSCORE\tCLASS\n=====================\n");
for(i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(p[k].sidp[j].sid)
k=j;
if(k!=i)
t=p[k],p[k]=p[i],p[i]=t;
printf("%d\t%d\t%c\n",p[i].sid,p[i].score,p[i].g);
}
}
void?query(struct?stu?*p,int?n){
int?id;
printf("\nPlease?enter?ID(int)...\n");
scanf("%d",id);
while(id-p-sid??n)
p++,n--;
if(n=0){
printf("STUID\tSCORE\tCLASS\n=====================\n");
printf("%d\t%d\t%c\n\n",p-sid,p-score,p-g);
}
else
printf("No?find!\n\n");
}
void?level(struct?stu?*p,int?n){
int?d[5],i;
char?s[5][7]={"优秀","良好","中等","及格","不及格"};
printf("统计信息如下:\n");
for(i=0;i5;d[i++]=0);
for(i=0;in;i++,d[p++-g-'A']++);
for(i=0;i5;i++)
printf("%6s:\t%d\t%.2f%%\n",s[i],d[i],d[i]/(n+0.0)*100);
}
void?outinfo(struct?stu?*p,int?n){
int?i;
printf("\nSTUID\tSCORE\n=============\n");
for(i=0;in;i++)
printf("%d\t%d\n",p[i].sid,p[i].score);
}
int?main(int?argc,char?*argv[]){
int?n,s;
struct?stu?a[30];
printf("Please?enter?n(int?0n31)...\n");
if(scanf("%d",n)!=1?||?n1?||?n30){
printf("Input?error,?exit...\n");
return?0;
}
scorein(a,n);//输入
dssort(a,n);//分数降序
idsort(a,n);//学号升序
query(a,n);//查询
level(a,n);//等级和百分比
outinfo(a,n);//输出各位学生信息
printf("总分:?%d",s=sum(a,n));
printf("???平均分:???%.2f\n",s/(n+0.0));
return?0;
}
运行样例:

园丁成绩管理系统身份证没有怎么办
成绩作废。该成绩管理系统面向学校、教师、学生,应用于学生成绩的录入、编辑、删除,同时结合了成绩的排名、统计。园丁成绩管理系统身份证没有,没有就是没有做题人,查询不到个人信息,成绩作废,下次考试时间进行补考。
学生成绩管理系统有哪些功能
校盈易学生成绩管理系统涉及到学生、教师、系统管理员、班级、学生成绩、课程。设置一个系统管理员对系统进行管理。所有用户需输入账号、密码登录进入系统;管理员进入系统后可对学生、老师、班级、课程进行增删改查操作;学生进入系统,查看成绩、查看和修改自己的信息;老师进入系统后,对自己这门课程的学生设置课程成绩、查看和修改自己的信息,查看学生的信息和成绩、以及统计分析学生的成绩。
管理员为班级设置年级,为年级设置课程,为班级的每门课程设置老师,为学生设置班级。一个年级有多门课程(语文、数学、外语等等),班级的每门课程只能有一名老师,一个老师可以有多门课程;老师选择自己这门课程为该课程的学生登记成绩。老师可以查看其他老师的信息(可以当成是老师的通讯录),查看本课程学生的信息和成绩;学生可以查看班级其他同学的信息(可以看成是班级的同学录)。
考试分为两种,一种是年级统考,一种是平时考试。年级统考需要管理员事先添加一次年级统考,考试成绩出来后,老师进入系统选择该次考试为学生登记成绩。平时考试则是班级平时的考试,老师添加考试信息,登记成绩。成绩统计分析则是针对年级统考进行分析,主要涉及各学科分数名次,总分名次。
学生成绩管理系统的代码是什么?
代码如下:
for(i=0;i66;i++)
printf("*");
printf("\n");
printf("1.Input record\n");
printf("2.Caculate totel and average score of every course\n");
printf("3.Caculate totel and average score of every student\n");
printf("4.Sort in descending order by total score of every student\n");
printf("5.Sort in ascending order by total score of every student\n");
printf("6.Sort in ascending order by number\n");
printf("7.Sort in ascending order by name\n");
printf("8.Search by number\n");
printf("9.Search by name\n");
printf("10.Statistic analysis for every course\n");
printf("11.List record\n");
printf("12.Write to a file\n");
printf("13.Read from a file\n");
printf("0.Exit\n");
for(i=0;i66;i++)
printf("*");
printf("\n");
printf("Please enter your choice:");
printf("\n");
输入函数:
void Readscore (STU stu[],int n,int m)??? //1.输入数据
{
int i,j;
for(i=0;in;i++)
{
printf("Input student's ID ,name and score");
scanf("%ld",stu[i].studentID);
scanf("%s",stu[i].studentName);
for(j=0;jm;j++)
scanf("%d",stu[i].score[j]);
}
}
数据处理函数:
void Tota (STU stu[],int n,int m) ? ? //2.计算每门课程的总分和平均分
{
int i,j,sum[M];
double ave[M];
for(j=0;jm;j++)
{
sum[j]=0;
for(i=0;in;i++)
{
sum[j]=sum[j]+stu[i].score[j];
}
ave[j]=(double)sum[j]/n;
}
for(i=0;im;i++)
printf("Project %d 总分=%d,课程的平均分=%f\n",i+1,sum[i],ave[i]);
}
void Datasort_1 (STU stu[],int n,int m) ? ? //3.计算每个学生的总分和平均分
{
int i,j,sum[N];
double ave[N];
for(i=0;in;i++)
{
sum[i]=0;
for(j=0;jm;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
ave[i]=(double)sum[i]/m;
}
for(i=0;in;i++)
printf("ID:%10ld,Name: %s Allscore=%d,The ave=%f\n",stu[i].studentID,stu[i].studentName,sum[i],ave[i]);
}
排序函数:
void Datasort_2 (STU stu[],int n,int m) ? ? ? ? ?//4.按每个学生的总分由高到低排出名次表
{
int i,j,k,h,sum[N];
STU t;
for(i=0;in;i++)
{
sum[i]=0;
for(j=0;jm;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
}
for(i=0;in;i++)
{
k=i;
for(j=i+1;jn;j++)
{
if (sum[j]sum[k])
k=j;
}
if(i!=k)
{
t=stu[i],h=sum[i];
stu[i]=stu[k],sum[i]=sum[k];
stu[k]=t,sum[k]=h;
}
}
for(i=0;in;i++)
printf("ID:%10ld,Name:%s,Score:%d\n",stu[i].studentID,stu[i].studentName,sum[i]);
}
void Datasort_3 (STU stu[],int n,int m) ? ? ? ? ?//5.按每个学生的总分由低到高排出名次表
{
int i,j,k,h,sum[N];
STU t;
for(i=0;in;i++)
{
sum[i]=0;
for(j=0;jm;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
}
for(i=0;in;i++)
{
k=i;
for(j=i+1;jn;j++)
{
if (sum[j]sum[k])
k=j;
}
if(i!=k)
{
t=stu[i],h=sum[i];
stu[i]=stu[k],sum[i]=sum[k];
stu[k]=t,sum[k]=h;
}
}
for(i=0;in;i++)
printf("ID:%10ld,Name:%s,score:%d\n",stu[i].studentID,stu[i].studentName,sum[i]);
}
void Datasort_4 (STU stu[],int n,int m) ? ?//6.按学号由小到大排出名次表
{
int i,j,k;
STU t;
for(i=0;in;i++)
{
k=i;
for(j=i+1;jn;j++)
{
if (stu[j].studentIDstu[k].studentID)
k=j;
}
if(i!=k)
t=stu[k],stu[k]=stu[i],stu[i]=t;
}
for(i=0;in;i++)
{
printf("ID:%10ld,Name:%s\n",stu[i].studentID,stu[i].studentName);
for(j=0;jm;j++)
printf("Project %d Score:%d\n",j+1,stu[i].score[j]);
}
}
数据分析函数:
void Statistis (STU stu[],int n,int m) ? //10.
{
int i,j,count_1,count_2,count_3,count_4,count_5;
for(j=0;jm;j++)
{
count_1=0,count_2=0,count_3=0,count_4=0,count_5=0;
for(i=0;in;i++)
{
if(stu[i].score[j]=90)
count_1++;
else if(stu[i].score[j]=80)
count_2++;
else if(stu[i].score[j]=70)
count_3++;
else if(stu[i].score[j]=60)
count_4++;
else
count_5++;
}
printf("project %d\n",j+1);
printf("优秀:%d\t优秀率:%f%\n",count_1,(float)count_1/n);
printf("良好:%d\t良好率:%f%\n",count_2,(float)count_2/n);
printf("中等:%d\t中等率:%f\n",count_3,(float)count_3/n);
printf("及格:%d\t及格率:%f\n",count_4,(float)count_4/n);
printf("不及格:%d\t不及格率:%f\n",count_5,(float)count_5/n);
}
}
数据界面打印函数:
void List (STU stu[],int n,int m)???????? //11.
{
int i,j,sum[N];
double ave[N];
for(i=0;in;i++)
{
sum[i]=0;
for(j=0;jm;j++)
{
sum[i]=sum[i]+stu[i].score[j];
}
ave[i]=(double)sum[i]/m;
}
for(i=0;in;i++)
{
printf("ID:%10ld,Name:%s\n",stu[i].studentID,stu[i].studentName);
for(j=0;jm;j++)
{
printf("Score %d :%d\n",j+1,stu[i].score[j]);
}
printf("Allscore=%d\n平均分%f\n",sum[i],ave[i]);
}
}
文件处理函数:
void WritetoFile(STU stu[],int n,int m)???? //将每个学生的记录信息写入文件
{
Tota(stu,n,m);
Datasort_2 (stu,n,m);
FILE *fp;
if((fp=fopen("student.txt","w"))==NULL)
{
printf("Failure to open student.txt!\n");
exit(0);
}
fwrite(stu,sizeof(STU),n,fp);
fclose(fp);
}
int ReadfromFile(STU stu[],int n,int m)//从文件中读出每个学生的记录信息并显示
{
FILE *fp;
int i;
if((fp=fopen("student.txt","r"))==NULL)
{
printf("Failure to open student.txt!\n");
exit(0);
}
for(i=0;!feof(fp);i++)
{
fread(stu[i],sizeof(STU),1,fp);
}
fclose(fp);
printf("Total student is %d.\n",i-1);
n=i-1;
List(stu,n,m);????? //输出从文件中读出的信息到屏幕上
return i-1;
}
成绩管理系统帐号,操作方法
账号:邹乐乐 密码:111111
第一步:在日常信息维护中的 班级管理添加班级 第二步:在学生信息维护导入学生信息 第三步:在教师信息维护导入任课教师信息 第四步:在日常信息维护中的 科目管理添加科目 第五步:在日常信息维护中的 任课管理添加任课 剩下的是任课教师自行登录录入本班学生成绩了 你只管告诉任课教师的登录名和密码(默认111111)就可以了