首页 > 试题广场 >

定义一个Book(图书)类,在该类定义中包括以下数据成员和成

[问答题]

定义一个Book(图书)类,在该类定义中包括以下数据成员和成员函数。

数据成员:bookname(书名)、price(价格)和number(存书数量)。

成员函数:display()显示图书的情况;borrow()将存书数量减1,并显示当前存书数量;restore()将存书数量加1,并显示当前存书数量。

在main函数中,要求创建某一种图书对象,并对该图书进行简单的显示、借阅和归还管理。

推荐
#include <iostream>
using namespace std;
class Book
{
 public:
      void setBook(char*,double,int);
        void borrow();
        void restore();
        void display();
   private:
        char bookname[40];
        double price;
        int number;
};
//在类外定义Book类的成员函数
void Book::setBook(char *name, double pri, int num)
{
 strcpy(bookname, name);
   price=pri;
   number=num;
}
void Book::borrow()
{
 if (number==0 )
{
cout << "已没存书,退出!" << endl;
    abort();  
}
  number = number - 1;
  cout << "借一次,现存书量为:" << number << endl;
}
void Book::restore()
{
 number = number + 1;
   cout << "还一次,现存书量为:" << number << endl;
}
void Book::display()
{
cout << "存书情况:" << endl
       << "bookname:" << bookname << endl
       << "price:" << price << endl
       << "number:" << number << endl;
}
int main()
{
  char flag, ch;
   Book computer;
   computer.setBook( "c++程序设计基础" , 32, 1000 );
   computer.display();
   ch = 'y';
   while ( ch == 'y' )
   {
 cout << "请输入借阅或归还标志(b/r):";
     cin >> flag;
     switch ( flag )
{
 case 'b':  computer.borrow(); break;
   case 'r':  computer.restore();  
}
        cout << "是否继续?(y/n)";
        cin >> ch;  
}
   computer.display();
}

发表于 2018-05-07 15:12:07 回复(0)