受講したい大学のコースをまとめたC++のプログラムがあります。これは、コンソールから入力(コースコード、説明など)を取得し、各コースをメジャー別に整理してから、すべてを適切にフォーマットされた読みやすいHTMLファイルに出力することで実現します。後で、私は多くの研究でリストを間引くことを計画しています。
各コースをオブジェクトとして実装します。これは、情報の入力が完了するとリストに追加されます。すべての情報が完成したら、list::sort
各コースをメジャーとコードで並べ替える必要があります(たとえば、CSE380はCSE110の後にあり、両方ともECO 108の前にあります)。後のフォーマットは簡単です。
ソートするには、単純な関数を実装する必要があります。これは、技術的には有効ですが、Courseクラスに「<」演算子がないために奇妙なエラーが発生するためです。私の関数は次のようになります。
bool courseCompare(Course course1, Course course2) { return course1.getCode() < course2.getCode(); }
ここで、getCode()
は3文字/桁の形式でコースコードを保持する小さな文字列を返します(「AMS401」など)。これは、明らかにアルファベット順を容易にするためのものです。
私はそのようにsortメソッドを呼び出します。
all_the_courses.sort(courseCompare);
リストはどこall_the_courses
にありますか。
ただし、std :: listを使用すると、プログラムが停止します。クラッシュせず、出力もありません。何かを入力してEnterキーを押しても、応答しません。何か案は?