您的位置:首页 > 编程语言 > C语言/C++

简易C语言学生成绩管理系统

2015-06-26 23:04 633 查看



ReadMe文件
5名学生,语数外、物理四门成绩。
1、每个人的总分,平均分
2、所有学生的各科成绩、平均分
3、按总分排序冒泡或选择排序
4、输入成绩,结果表格
5、下标法、指针法

结构体数组代表学生,学生(学号,姓名,语文、数学、英语、物理、总分、平均分)
输入并把成绩加入数组,等待排序
输出结果
分散成函数->文件
main.c
#include<stdio.h>
/*main.c
*OS:debian-linux
*Compile:gcc
*Date:2015-06-24
*
*
*/
typedef struct returnValue Array;

struct  student
{
char num[20];
char name[20];
int chinese;
int math;
int english;
int physical;
float score;
float average;
}stu[5]=
{
{"1101","张一",0,0,0,0,0,0},
{"1102","李二",0,0,0,0,0,0},
{"1103","刘三",0,0,0,0,0,0},
{"1104","赵四",0,0,0,0,0,0},
{"1105","钱五",0,0,0,0,0,0}
};

int bs[5]={0,1,2,3,4};

void MainMenu()
{
printf("请输入成绩:\n");
}
void InputScore()
{
int i;
for(i=0;i<5;i++)
{
scanf("%d",&stu[i].chinese);
scanf("%d",&stu[i].math);
scanf("%d",&stu[i].english);
scanf("%d",&stu[i].physical);
}
}
void PrintAll()
{
int j;
printf("学号 姓名 语文 数学 英语 物理  总分   平均分\n");
for(j=0;j<5;j++)
{

printf("%s %s %4d %4d %4d %4d %4.1f %6.1f \n",
stu[j].num,
stu[j].name,
stu[j].chinese,
stu[j].math,
stu[j].english,
stu[j].physical,
stu[j].score,
stu[j].average);
printf("--------------------------------------------\n");
}
}
void SumAve()
{
int k;
for(k=0;k<5;k++)
{
stu[k].score = stu[k].chinese+stu[k].math+stu[k].english+stu[k].physical;

stu[k].average = stu[k].score/4;
}

}
void BubbleSort()
{

int temp= 0; //中间变量
int l,m;

//冒泡法排序
for(l=0;l<5;l++)
{
for(m=l+1;m<5;m++)
{
if(stu[bs[l]].score > stu[bs[m]].score)
{
temp = bs[l];
bs[l] = bs[m];
bs[m] = temp;
}
}
}

}
void PrintAllAfterBubbleSort()
{

printf("按照总分排序后:\n");

int n;
printf("学号 姓名 语文 数学 英语 物理  总分   平均分\n");
for(n=0;n<5;n++)
{

printf("%s %s %4d %4d %4d %4d %4.1f %6.1f \n",
stu[bs
].num,
stu[bs
].name,
stu[bs
].chinese,
stu[bs
].math,
stu[bs
].english,
stu[bs
].physical,
stu[bs
].score,
stu[bs
].average);
printf("--------------------------------------------\n");
}

printf("\n");
}
int main()
{

MainMenu();
InputScore();
SumAve();
PrintAll();
BubbleSort();
PrintAllAfterBubbleSort();

return 0;
}
代码很糙,请各位指教...

本文出自 “p6xos” 博客,请务必保留此出处http://p6xos.blog.51cto.com/6221518/1666091
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: