设计一个管理图书的简单程序

设计一个管理图书的简单程序,提供的基本功能包括:可连续将新书存入文件“book.dat”中,新书信息加入到文件的尾部;也可以根据输入的书名进行查找;把文件“book.dat”中同书名的所有书显示出来。为简单起见,描述一本书的信息包括:书号,书名,出版社和作者。


#include 
#include 
#include 
using namespace std;
class book
{
private:
    char id[10];
    char name[20];
    char press[30];
    char writer[10];
public:
    book(){};
    ~book(){};
    void set_id()
    {
        cout<<"id:"<>id;
    }
    void set_name()
    {
        cout<<"name:"<>name;
    }
    void set_press()
    {
        cout<<"press:"<>press;
    }
    void set_writer()
    {
        cout<<"writer:"<>writer;
    }
    string get_id()
    {
        return id;
    }
    string get_name()
    {
        return name;
    }
    string get_press()
    {
        return press;
    }
    string get_writer()
    {
        return writer;
    }
    void book_input();
    void book_search();
    void book_show();
};
void book::book_input()
{
    fstream f1("C:\\Personal\\Desktop\\C++实验\\实验四\\图书馆\\book.dat",ios_base::out|ios_base::app);
    book B;
    cout<<"输入book信息"<(&B),sizeof(B));
    f1.flush();
    f1.close();
}
void book::book_search()
{
    fstream f1("C:\\Personal\\Desktop\\C++实验\\实验四\\图书馆\\book.dat",ios_base::in|ios_base::app);
    book B;
    char book_name[20];
    cout<<"输入书名:"<>book_name;
    while(f1.read(reinterpret_cast(&B),sizeof(B)));
    {
        if(!strcmp(book_name,B.get_name().c_str()))//.c_str() 将string型转化为
        {
            cout << "书号:" << B.get_id() << "书名:" << B.get_name() << "出版社:" << B.get_press() << "作者:" << B.get_writer() << endl;
        }
    }
    f1.close();
}
void book::book_show()
{
    fstream f1("C:\\Personal\\Desktop\\C++实验\\实验四\\图书馆\\book.dat",ios_base::in);
    fstream f2("C:\\Personal\\Desktop\\C++实验\\实验四\\图书馆\\book.dat",ios_base::in);
    book B;
    book A;
    int flag=0; //标记不同
    int sp_flag=0;
    int sp_number=0;
    while(f1.read(reinterpret_cast(&B),sizeof(B)))
    {
        while(f2.read(reinterpret_cast(&A),sizeof(A)))
            {
                if(strcmp(A.get_name().c_str(),B.get_name().c_str())==0)
                {
                    cout << "书号:" << A.get_id() << "书名:" << A.get_name() << "出版社:" <> n;

        switch (n)
        {
            case 1:A.book_input();break;
            case 2:A.book_search();break;
            case 3:A.book_show();break;
            case 4:return 0;
        }
    }
    return 0;
}

你可能感兴趣的:(c++)