0
点赞
收藏
分享

微信扫一扫

成绩管理系统(C语言)


成绩管理系统(C语言)_管理系统

成绩管理系统之C语言

  • ​​编写成绩管理程序​​
  • ​​1 要求​​
  • ​​2 代码​​
  • ​​3.报告总结​​

编写成绩管理程序

1 要求

  • a) 可以按学号输入高等数学成绩和大学物理成绩,分别存储在2个数组中,之后计算总成绩,保存在另外一个数组中(在3个数组中,元素的下标就是学号)。
  • b) 可以按学号次序显示学生的成绩;
  • c) 可以按总分、高等数学或大学物理成绩排序(注意:排序的时候不要改变数据元素在数组的次序,否则学号与成绩就不匹配了。可以使用一个辅助数组存储学生的学号,排序的时候只改变辅助数组的元素次序)。
  • d) 可以显示排序后的结果。
  • e) 程序要有简单的菜单。

2 代码

#include<stdio.h>
#define course 2
#define stud 40
int input(int score[][course],long num[])
{
int i,j,n;
printf("\t\t======================================================\n");
printf("\t\t|| 学生成绩管理系统 ||\n");
printf("\t\t======================================================\n");
printf("\t\t>>>输入学生的人数:");
scanf("%d",&n);
printf("\t\t请按顺序输入学号,学科成绩,不同项之间用 Tab 隔开:\n");
printf("学号 高等数学 大学物理 \n");
for(i=0;i<n;i++)
{
scanf("%ld",&num[i]);
for(j=0;j<course;j++)
{
scanf("%d",&score[i][j]);
}
}
return n;
}
void total(int score[][course],int sum[],int n)
{
int i,j;
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<course;j++)
{
sum[i]=sum[i]+score[i][j];
}

}
}
void sort(int score[][course],long num[],int sum[],int n)
{
int temp,temp1,temp2,temp3;
int i,j,k;




for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(sum[j]>sum[i])

{
temp=sum[j];
sum[j]=sum[i];
sum[i]=temp;

for(k=0;k<course;k++)
{
temp3=score[j][k];
score[j][k]=score[i][k];
score[i][k]=temp3;
}
temp1=num[j];
num[j]=num[i];
num[i]=temp1;
}
}
void print(int score[][course],long num[],int sum[],int n)
{
int i,j;
printf("Result:\n");
printf(" \t 高等数学 \t 大学物理 \t总分 \n");
for(i=0;i<n;i++)
{
printf("%4ld\t",num[i]);
for(j=0;j<course;j++)
{
printf("%4d\t\t",score[i][j]);
}
printf("%5d \n",sum[i]);
}

}

void main()
{
int n;
long num[stud];
int score[stud][course],sum[stud];
n=input(score,num);
total(score,sum,n);
sort(score,num,sum,n);
print(score,num,sum,n);

}

3.报告总结

这个设计已经完成,a,b,c,d,e的功能都实现了。本学期开设的《数据结构基础》与c语言课程已经告一段落,现就学习体会进行学习总结.

刚开始学的时候确实有很多地方我很不理解,每次上课时老师都会给我们出不同的设计题目,对于我们一个初学者来说,无疑是一个具大的挑战,撞了几次壁之后,我决定静下心来,仔细去写程序。老师会给我们需要编程的内容一些讲解,顺着老师的思路,来完成自己的设计,我们可以开始运行自己的程序。

成绩管理系统(C语言)_数组_02


举报

相关推荐

0 条评论