qfedu-cpp-level/day2/homework/h9.cpp

59 lines
1.5 KiB
C++
Raw Normal View History

2023-07-25 20:00:23 +08:00
// 创建一个名为 Book 的类,具有成员变量 title、author 和 year以及成员函数 void displayInfo() ,用于显示图书的信息。 创建Book类的数组至少存放5本书并设计全局函数实现Book对象按year从大到小排序并显示排序后信息。
#include <iostream>
using namespace std;
class Book
{
public:
string title, author;
int year;
// 使用 const 加 & 引用,避免不必要的拷贝
void init(const string &title, const string &author, int year)
{
this->title = title;
this->author = author;
this->year = year;
}
void displayinfo()
{
cout << "书名: " << this->title << " , 作者: " << this->author << " , 出版年份: " << this->year << endl;
}
};
void sortAndShow(Book book[], int n)
{
int i = 0;
for (; i < n; i++)
{
for (int j = 0; j < n - i - 1; j++)
{
if (book[j].year < book[j + 1].year)
{
Book tmp = book[j];
book[j] = book[j + 1];
book[j + 1] = tmp;
}
}
}
for (i = 0; i < n; i++)
{
book[i].displayinfo();
}
}
int main()
{
Book books[5];
books[0].init("数学", "张三", 1998);
books[1].init("语文", "李四", 2009);
books[2].init("英语", "王五", 1987);
books[3].init("物理", "赵六", 2008);
books[4].init("化学", "郑七", 1982);
sortAndShow(books, 5);
return 0;
}