问题及代码:
/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:test.cpp
*作者:吴胜男
*完成日期:2015年03月18日
*版本号:v1.0
*
*问题描述:编写一个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
{
public:
void setBook(string,string,string,double,int,int);
void borrow();
void restore();
void print ();
void set_NO(int);
void get_NO();
private:
string name;
string writer;
string public_name;
double price;
int number;
int NO;
};
void Book::setBook(string na,string w,string pu,double pr,int num,int n)
{
name=na;
writer=w;
public_name=pu;
price=pr;
number=num;
NO=n;
}
void Book::borrow()
{
number=number-1;
}
void Book::restore()
{
number=number+1;
}
void Book::print()
{
cout<<"书名:"<<name<<endl;
cout<<"著者:"<<writer<<endl;
cout<<"出版社:"<<public_name<<endl;
cout<<"价格:"<<price<<endl;
cout<<"数量:"<<number<<endl;
cout<<"书号:"<<NO<<endl;
}
void Book::set_NO(int n)
{
NO=n;
}
void Book::get_NO()
{
cout<<NO<<endl;
}
int main()
{
int n;
Book book;
book.setBook("shang wei de nv er","pu xi jin","shanghai literature&art publishing house",45.5,23,78569);
book.print();
cout<<endl<<"借出一本书后:"<<endl;
book.borrow();
book.print();
cout<<endl<<"还回一本书后:"<<endl;
book.restore();
book.print();
cout<<"将书号改为:";
cin>>n;
book.set_NO(n);
cout<<endl<<"更改书号后:"<<endl;
book.print();
return 0;
}
运行结果:
知识点总结:成员函数setBook的编译定义为void型,在赋初值时,在函数后面注明数据类型,注意不是输入型而是赋初值。
学习心得:每一部分函数还是很好编译的,就是在main函数中怎样将所有函数关联起来,是一种逻辑思维的锻炼。