问题及代码:
/*
*Copyright (c)2015,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:book.cpp
*作 者:赵敏
*完成日期:2015年3月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
{
private:
char name[50];
char writer[20];
char public_name[50];
double price;
int number;
int NO;
public:
void setBook(char*n,char*w,char*p,double pr,int num,int no);
void borrow();
void restore();
void print();
int get_no();
void set_no(int);
};
void Book::setBook(char*n,char*w,char*p,double pr,int num,int no)
{
strcpy(name,n);
strcpy(writer,w);
strcpy(public_name,p);
price=pr;
number=num;
NO=no;
}
void Book::borrow()
{
number--;
}
void Book::restore()
{
number++;
}
void Book::set_no(int n)
{
NO=n;
}
int Book::get_no()
{
return NO;
}
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;
}
int main()
{
Book b;
b.setBook("shiji","simaqian","renminchubanshe",50,12,1);
b.print();
b.borrow();
b.print();
b.restore();
b.print();
b.set_no(2);
b.print();
cout<<"现在编号为:"<<b.get_no()<<endl;
}
运行结果;
学习心得:
价钱忘记初始化,出现了随机数,在定义set_no和get_no时遇到点困难,没弄懂是啥意思。