Book クラス

上級プログラミング(再)2016 年度 第 3 回実験課題
出題日 2016年10月3日(月)
提出先 グループ1 小花[email protected]
グループ2 坂地[email protected]
実習時間内にメールで提出(未完成の場合でも)
未完成の人は次週講義前にメールで再提出すること
本のリストをページ数順に並び替えて表示させるプログラムを作成したい.以下の main 関数が動作するよう
に各関数を作成せよ.books.txt は/share/material/advpro/2016/ 配下にあるため,そこからコピーしてくるこ
と.books.txt には,
「本のタイトル」
「著者」
「値段」
「ページ数」がスペース区切りで記述されている.Book ク
ラスは以下の仕様に従うものとする.ただし,仕様以外のメンバを追加してはいけない.
データメンバ
Book クラス
アクセッサー
型
変数名
説明
private
string
title
本のタイトル
private
string
author
本の著者
private
int
price
本の値段
private
int
pages
本のページ数
メンバ関数
アクセッサー
返値
関数名
引数
説明
public
n/a
Books
string, string,
各メンバ変数を設定するコンスト
int, int
ラクタ
Book
引数と自身のページ数を比べて,
public
bool
longerThan
自身の方が長ければ true,
そうでなければ false を返す
public
string
getTitle
n/a
タイトルを返す
public
int
getPages
n/a
ページ数を返す
// 必要なものをインクルード
const int N = 20;
int main() {
Book books[N];
int count = 0; // 本の数を数えるための変数
// books.txt から本のデータを books に読み込む
// 本のページ数に基づいて books をソート
// books を表示
}
return 0;
実行結果
comsv% ex1
カッコウの卵は誰のもの : 392
無伴奏 : 347
リーダブルコード : 260
世界から猫が消えたなら : 229
やさしく学べる線形代数 : 224
キングダム : 210
僕だけがいない街 : 210
結局、
「すぐやる人」がすべてを手に入れる : 208
すごい家事 : 205
進撃の巨人 : 192
深層学習 : 176
ちはやふる : 176