成绩管理系统,成绩管理系统代码

http://www.itjxue.com  2023-01-09 06:45  来源:未知  点击次数: 

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)就可以了

(责任编辑:IT教学网)

更多

推荐其他源码文章