【問題描述】
仔細閱讀主程式中的呼叫陳述句,模擬實作書籍類(Book),每本書包含一個書架號(shelf_id)和價格(price),
【輸入形式】
總共2n+1行,第一行輸入n,表示有n本書,接下來的2n行,分別輸入n本書的書架號和價格,
【輸出形式】
總共n行,每一行輸出一本書的書架號和價格,輸出包括前導輸出資訊,書架號占18個字符寬度,詳見輸出樣例,
取個關加舉報是我銷號的動力,而且你可以在HNU2020本科資訊群里面搜出一堆姓林的,HNU資訊院2020的某林會和你一起努力的!!!(滑稽)
#include <iostream>
#include <iomanip>
#include <cstring>
using namespace std;
class Book
{
public:
Book();
void setInfo();
void show();
private:
float price;
char *shelf_id;
};
Book::Book()
{
price = 0;
shelf_id = NULL;
}
void Book::setInfo()
{
//new運算子開辟好空間后回傳其記憶體地址賦值給shelf_id(即C字串陣列名),
//別把這個char* shelf_id=new char[30];拆開就不認識了ψ(*`ー′)ψ
//后面 cout<<陣列名 可以整體輸出
shelf_id=new char[30];
cin.getline(shelf_id,30);
cin >> price;
cin.get();
}
void Book::show()
{
//left左對齊|?・ω・` )
cout << left << "Shelf_ID: "
<< setfill(' ') << setw(18)
<< shelf_id << "Price: " << price << endl;
}
int main()
{
int n;
cin >> n; //從鍵盤輸入整數n
cin.get(); //吸收整數輸入后的回車
Book library[n]; //宣告物件陣列
for (int i = 0; i < n; i++)
{
library[i].setInfo(); //從鍵盤輸入物件陣列的每個元素
}
for (int i = 0; i < n; i++)
{
library[i].show(); //輸出物件陣列
}
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/237688.html
標籤:其他
下一篇:資料結構——佇列(銀行叫號系統)
