题目
图书管理系统中至少包括两个(但不限于两个)类:图书和读者。图书有编号、书名和作者等属性;读者包括:借书证编号、姓名等属性,每位读者最多可借3本书。编写程序:某读者借书并列出他的借书情况。
分析
第一种很普通的写法:
第二种写法,可以增加一个借阅类:
#include <iostream>
#include <string>
using namespace std;
class object
{
protected:
int number;
string name;
};
class Book:public object
{
protected:
string author;
public:
Book(){
number=0;
name="";
author="";}
Book(int num,string nam,string a){
number=num;
name=nam;
author=a;
}
void displayBook(){
cout<<"number:"<<number<<" name:"<<name<<" author:"<<author<<endl;
}
};
class reader:public object
{
public:
reader(){
number=0;
name="";
}
reader(int num,string nam){
number=num;
name=nam;
}
void displayReader(){
cout<<"number"<<number<<" name"<<name<<endl;
}
};
class Borrowing{
protected:
Book b[3];
reader r;
public:
Borrowing(){ }
borrow(Book &bk, reader& rd, int sn){
b[sn] = bk;
r = rd;
}
void display(){
r.displayReader();
for(int i=0;i<3;i++)
b[i].displayBook(); }
};
main()
{
Book b1(1,"C++","谭浩强");
Book b2(2,"数据结构","谭浩强");
Book b3(3,"数据结构","谭浩强");
reader r(1,"小李");
Borrowing b;
b.borrow(b1, r, 0);
b.borrow(b2, r, 1);
b.borrow(b3, r, 2);
b.display();
}