実践型研修

今日はこんな感じのプログラムを作成しました。
/*データをファイルから読み、データを並び替える*/
/*プログラム作成者:*/

#include
#include

#define DATA_MAX 30
#define NAME_MAX 256

int main(){
int i, j, n;
int grade;
char c;
int number[DATA_MAX];
int c_number[DATA_MAX];
char name[NAME_MAX][NAME_MAX];

//ファイルポインタの宣言
FILE *fp;

//ファイルを読み出し専用でファイルオープン
fp = fopen( "FL03.DAT", "r" );

if( fp == NULL ){
printf( "ファイルを開くことができません。\n" );
}

//ファイルより最大30件のデータを読み出す
for( i = 0; i < DATA_MAX; i++ ){

if( fscanf( fp, "%d%s%d", &c_number[i], name[i], &number[i] ) == EOF ){
break;
}
}

//ファイルクローズ
fclose( fp );

n = i;

for( ; ;){
printf( "データを昇順に並び替えたいときは'A',降順に並び替えたいときは'D'\n" );
printf( "SERECT==>" );
scanf( "%c%*c", &c );

switch( c ){
//'A'を選択したときの処理(番号を昇順に並び替え)
case 'A':
grade = 0;
for( i = 0; i < n - 1; i++ ){
for( j = i + 1; j < n; j++ ){
if( number[i] > number[j] ){
grade = number[i];
number[i] = number[j];
number[j] = grade;
}
}
}
for( j = 0; j < n; j++ ){
printf( "%5d\n", number[j] );
}
return 0;

//'D'を選択したときの処理(番号を降順に並び替え)
case 'D':
grade = 0;
for( i = 0; i < n - 1; i++ ){
for( j = i + 1; j < n; j++ ){
if( number[i] < number[j] ){
grade = number[i];
number[i] = number[j];
number[j] = grade;
}
}
}
for( j = 0; j < n; j++ ){
printf( "%5d\n", number[j] );
}
return 0;

//'A'と'D'以外を入力したときの処理
default:
printf( "入力された%cは選択できません。再度入力して下さい。\n", c );
break;
}
}
return 0;
}