あなたがプログラミングを始めたばかりだと想定しているので、問題を解決するためのアドバイスと一般的なアプローチを共有します。
プログラマーとして開発する必要がある最も重要なスキルは、複雑な問題を単純で消化しやすいチャンクに分解できることです。私が見ているように、この問題には 3 つの個別の部分があります。これらを疑似コードで表現してみます。
ファイルの読み取りと解析
Open (Answer Key File)
Read All Text From (Answer Key File) into (String)
Convert (String) into array of characters as (Answer Key Array)
Close (Answer Key File)
Open (Student's File)
Read All Text From (Student's File) into (String)
Extract (Student ID) from (String)
Extract (Student's Answers) from (String)
Convert (Student's Answers) to Character Array as (Student Answers Array)
Close (Student's File)
キーに対する学生の回答を比較し、学生のスコアを計算する
Set (Student Score) equal to '0'
FOR EACH (Answer) in (Student's Answers Array)
Get (Key) from (Answer Key Array) at (Current Loop Index)
IF (Answer) equals [NO_ANSWER] THEN
Continue
IF (Answer) equals (Key) THEN
Add 4 to (Student Score)
ELSE
Subtract 1 from (Student Score)
プログラム全体には、いくつかのメソッドのみを含める必要があります。もっと複雑なものは何でも、あなたはそれを考えすぎています;)
どのプログラムでも、この演習を実行すると役立つことを忘れないでください。さらに良いのは、これらをソース ファイルにコメントとして書き込んでから、必要なコードを記入することです。驚くほど早く作業を完了できます。