コマンドライン引数として得点(評点)をいくつか与えると、実行例のようにその評価 (A/B/C/D/F)を出力するプログラムを作成しなさい。 (得点と評価の対応は、 A: 80~100点, B: 65~79点, C: 50~64点, D: 35~49点, F: 35点未満)
なお、得点から評価への変換には、 演習第1回問題3 で作成した関数を流用してもよい。 また、コマンドライン引数には得点をいくつ書いても良いこととし、引数が無い場合は何もせずに終了する。 なお、得点として0から100までの整数以外が入力された場合の処理は考えなくてよい。
include <stdio.h>
#include <stdlib.h>
#define SIZE 999
char scoreToGrade(int);
int main(int argc ,char *argv[]){
char grade;
int score,i;
for(i = 1;i < SIZE; i++){
score = atoi(argv[i]);
grade = scoreToGrade(score);
printf("Score:%d Grade: %c",score,grade);
}
}
char scoreToGrade(int score){
if(0 <= score && score <= 34) return 'F';
else if(35 <= score && score <= 49) return 'D';
else if(50 <= score && score <= 64) return 'C';
else if(65 <= score && score <= 79) return 'B';
else return 'A';
}
実行例
% ./a.out 100 79 64 34 48
Score:100 Grade: A
Score: 79 Grade: B
Score: 64 Grade: C
Score: 34 Grade: F
Score: 48 Grade: D
%
大学の課題でコマンドライン引数を使用してこのように表示させたいのですがうまくいきません。どうすればよいでしょうか。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/11/07 11:19