|
こんばんわ。
この問題で頭の中がこんがらがってしまいました。
どうか教えてください。よろしくお願いします。
問題
input.txt という以下のようなフォーマットのデータが入ったファイルがある。
フォーマット:
学籍番号,氏名,得点,9/24の出欠,10/01の出欠,.....,1/14の出欠
例
a1g01085,Hiroyuki SAKUMA,95,o,o,o,o,o,o,o,o,o,o,o,o,o
a1g01004,Kouhei IGARASHI,76,o,o,o,o,o,o,o,x,o,o,o,x,o
a1g01148,Kozue MIYASHITA,68,o,x,x,x,o,o,o,x,o,o,o,x,o
a1g01022,Takahiro KANEKO,52,o,o,o,x,o,o,o,x,o,o,o,x,o
この条件のもとで、以下のようなプログラムを作りなさい。
コマンド引数に2つファイル名を指定し、1つ目のファイルを読み込み、成績をつけて、以下のようなフォーマットで学籍番号の順に並べ替えて 2つ目のファイルに出力する。
成績のつけかたは、優先順位の高い順で
1. 出席回数が2/3未満の場合はF(資格なし)
2. 得点の記入がない場合はE(試験欠席)
3. 得点 + 出席数*0.5 が60未満の場合はD(不可)
4. 得点が60未満だが、得点 + 出席数*0.5 が60以上の場合はC
5. 得点が60以上70未満の場合はC
6. 得点が70以上80未満の場合はB
7. 得点が80以上90未満の場合はA
8. 得点が90以上の場合はAA
とする。
なお o が出席で x が欠席。また出席のフィールド数は、科目によって変わる可能性があるが、同じファイル内では同じ数になっている。
出力フォーマット:
学籍番号,氏名,得点,出席数,成績
例:プログラム名をpro2とする
% pro2 input.txt output.txt
output.txt の中身:
a1g01004,Kouhei IGARASHI,76,11,A
a1g01022,Takahiro KANEKO,52,10,D
a1g01085,Hiroyuki SAKUMA,95,13,AA
a1g01148,Kozue MIYASHITA,68,8,F
というものです。
|