您的位置:首页 > 其它

学生成绩管理系统

2011-09-01 21:21 204 查看
#include <stdio.h>

#include <stdlib.h>

#define N 10

void Sort(struct StudentInfo Student[]);//提出函数

///////////////////////////////

///首先定义一个结构

//////////////////////////////

struct StudentInfo

{

int StudentID; //学号

char StudentName[20]; //姓名

float StudentMath; //数学成绩

float StudentEnglish; //英语成绩

float StudentComputer;//计算机成绩

float StudentAve; //平均成绩

float StudentScore; //总成绩

};

int main(void)

{

struct StudentInfo Student
;//定义学生和中间的交换值

int i;

for(i=0;i<N;i++)

{

printf("请输入第%d个学生的学号\n",i+1);

scanf("%d",&Student[i].StudentID);//输入学号

printf("请输入第%d个学生的姓名\n",i+1);

scanf("%s",Student[i].StudentName);//输入学生姓名

printf("请输入第%d个学生的数学成绩\n",i+1);

scanf("%f",&Student[i].StudentMath);//输入学生成绩

printf("请输入第%d个学生的英语成绩\n",i+1);

scanf("%f",&Student[i].StudentEnglish);//输入学生英语成绩

printf("请输入第%d个学生的计算机基础的成绩\n",i+1);

scanf("%f",&Student[i].StudentComputer);//输入学生机算计成绩

Student[i].StudentScore = Student[i].StudentComputer+Student[i].StudentEnglish+Student[i].StudentMath;//邱总成绩

Student[i].StudentAve = Student[i].StudentScore/3;//求平均成绩

system("cls");

}

//排序

Sort(Student);

//输出

printf("名次\t学号\t姓名\t数学\t英语\t计算机\t总\t平均\t\n");

for(i=0;i<N;i++)

{

printf("%d\t",i+1);

printf("%d\t",Student[i].StudentID);

printf("%s\t",Student[i].StudentName);

printf("%.1f\t",Student[i].StudentMath);

printf("%.1f\t",Student[i].StudentEnglish);

printf("%.1f\t",Student[i].StudentComputer);

printf("%.1f\t",Student[i].StudentScore);

printf("%.1f\t",Student[i].StudentAve);

printf("\n");

}

return 0;

}

///////////////////////////////////////////

///冒泡排序

///////////////////////////////////////////

void Sort(struct StudentInfo Student[])

{

struct StudentInfo Tmp;

int i,j;

for(i=0;i<N;i++)

{

for(j=i;j<N;j++)

{

if(Student[i].StudentScore<Student[j+1].StudentScore)//判断总成绩大小,将第j个排成成绩最高

{

Tmp = Student[i];

Student[i]=Student[j+1];

Student[j+1] = Tmp;//交换顺序

}

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: