《C++语言基础》实践参考——图书馆的书-阿里云开发者社区

开发者社区> 开发与运维> 正文

《C++语言基础》实践参考——图书馆的书

简介: 返回:贺老师课程教学链接 【项目4 - 图书馆的书】  编写一个Book类,包含name(书名)、writer(著者)、public_name(出版社)、price(价格)、number(数量)、NO(书号)等数据成员。定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borrow和restore,分别办理借出和还回(借、还书时,暂时只完成数量的增1减1,这里的书仍是一种书

返回:贺老师课程教学链接


【项目4 - 图书馆的书】
  编写一个Book类,包含name(书名)、writer(著者)、public_name(出版社)、price(价格)、number(数量)、NO(书号)等数据成员。定义成员函数setBook,用来为书籍的数据成员赋值,定义成员函数borrow和restore,分别办理借出和还回(借、还书时,暂时只完成数量的增1减1,这里的书仍是一种书的概念,随着课程进展,我们继续做真正的图书管理系统,每本书都能追踪到是谁何时借了,何时还了)业务,定义成员函数print用于输出—有关书的信息,定义set_NO与get_NO来实现修改类对象的书号与获得类对象的书号。自己写main函数,用来测试你编写的类。


[参考解答]

#include <iostream>
#include <cstring>
using namespace std;
class Book
{
    char name[60];
    char writer[20];
    char public_name[30];
    float price;
    int number;
    int NO;
public:
    void setBook(char * na,char *wr,char *pu, float pr,int nu,int no );
    void set_NO(int n);
    int get_NO( );
    void borrow( );
    void restore( );
    void print( );
};

int main()
{
    Book aBook;
    aBook.setBook("Change in University", "He Lijian","Posts & Telecom Press",49,5,1234);
    aBook.print();
    aBook.borrow();
    aBook.print();
    aBook.restore();
    aBook.print();
    aBook.set_NO(4321);
    aBook.print();
    cout<<"new book NO: " <<aBook.get_NO()<<endl;
    return 0;
}


void Book::setBook(char * na,char *wr,char *pu, float pr,int nu,int no )
{
    strcpy(name,na);
    strcpy(writer ,wr);
    strcpy(public_name , pu);
    price=pr;
    number=nu;
    NO=no;
}
void Book::set_NO(int n)
{
    NO=n;
}
int Book::get_NO( )
{
    return NO;
}
void Book::borrow( )
{
    number--;
}
void Book::restore( )
{
    number++;
}
void Book::print( )
{
    cout<<"name: "<<name<<endl;
    cout<<"writer: "<<writer<<endl;
    cout<<"public name: "<<public_name<<endl;
    cout<<"price: "<<price<<endl;
    cout<<"number: "<<number<<endl;
    cout<<"NO: "<<NO<<endl<<endl;
}



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章