成績管理システム(C言語)


成績管理システム(C言語)
成績管理プログラムの作成
1.要求
a)高等数学成績と大学物理成績を学号で入力し,それぞれ2つの配列に格納した後,総成績を計算し,別の配列に保存することができる(3つの配列では要素の下付きが学号である).
b)学生の成績を学番順に表示することができる.
c)総得点、高等数学または大学の物理成績でソートできます(ソート時にデータ要素の配列の順序を変更しないでください.そうしないと、学号と成績が一致しません.1つの補助配列を使用して学生の学号を格納し、ソート時に補助配列の要素順序だけを変更することができます).
d)並べ替え後の結果を表示することができる.
e)プログラムには簡単なメニューが必要です.
2.コード
#include
#define course 2
#define stud 40
int input(int score[][course],long num[])
{
	int i,j,n;
    printf("\t\t======================================================
"
); printf("\t\t|| ||
"
); printf("\t\t======================================================
"
); printf("\t\t>>> :"); scanf("%d",&n); printf("\t\t , , Tab :
"
); printf("
"
); 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:
"
); printf(" \t \t \t
"
); 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
"
,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の機能はすべて実現した.***
ちょうど学习を始める时に确かに多くの地方が私はとても理解していないで、授业の时に先生はすべて私达に异なる设计のテーマを出して、私达の1人の初心者にとって、间违いなく1つの大きい挑戦で、何度も壁にぶつかった后で、私は心を静めて、注意深く程序を书くことにしました.先生は私たちにプログラミングの内容をいくつか説明して、先生の考えに沿って、自分の設計を完成して、私たちは自分のプログラムを実行することができます.