图书管理系统(文件实现)

来源:互联网 发布:包头广电网络活动 编辑:程序博客网 时间:2024/06/05 19:00

    通过使用文件实现对数据的操作。其中文件的写和读分别放在构造和析构函数实现。

 

 

 

#include<iostream>//bookbase.h#include<cstdio>#include<cstring>#include<string>#include<fstream>using namespace std;class bookbase{public:    int number,sum;    string name;};#include<iostream>//book.h#include<cstdio>#include<cstring>#include<string>#include<fstream>#include"bookbase.h"#include"windows.h"using namespace std;class book:public bookbase{public:    bookbase bk[10000];    book()    {        sum=1;        ifstream file;        file.open("data.txt",ios::in|ios::binary);        while(file)        {            file>>bk[sum].number>>bk[sum].name;            cout<<bk[sum].number<<" "<<bk[sum].name<<endl;            sum++;        }        file.close();    }    void show();    void add();    void ask();    void change();    int Query(int );    ~book();};int book::Query(int nu){    for(int i=1; i<sum; i++)    {        if(nu==bk[i].number)        {            return i;        }    }    return 0;}void book::add(){    cout<<"请输入新添加图书的编号:     ";    cin>>bk[sum].number;    cout<<"请输入新添加图书的名称:     ";    cin>>bk[sum].name;    int p=book::Query(bk[sum].number);    if(p)    {        cout<<"您输入的图书在图书库中已经存在!\n"<<endl;    }    else    {        cout<<"请核对新加图书的信息:  \n"<<endl;        cout<<"图书编号:       "<<bk[sum].number<<endl;        cout<<"图书名称:       "<<bk[sum++].name<<endl;        cout<<"\n"<<endl;    }}void book::ask(){    cout<<"目前图书库共有图书"<<sum-1<<"本\n"<<endl;    for(int i=1;i<sum;i++)    {        cout<<"图书"<<i<<"编号为:    "<<bk[i].number<<"名称为:  "<<bk[i].name<<endl;    }    cout<<endl;}void book::change(){    int nu;    cout<<"请输入您要修改的图书编号:    "<<endl;    cin>>nu;    int bj=0;    for(int i=1;i<sum;i++)    {        if(nu==bk[i].number)        {            bj=1;            cout<<"请输入新的图书编号:   ";cin>>bk[i].number;            cout<<"请输入新的图书名称:   ";cin>>bk[i].name;            break;        }    }    if(!bj)    {        cout<<"没有您所要查询的图书!"<<endl;    }}book::~book(){    ofstream file;    file.open( "data.txt",ios::out|ios::binary);    for(int i=1;i<sum;i++)    {        file<<bk[i].number<<" "<<bk[i].name<<endl;    }    file.close();}void book::show(){    int n;    while(1)    {        system("color 3f");        cout<<"1.新增"<<endl;        cout<<"2.修改"<<endl;        cout<<"3.删除"<<endl;        cout<<"4.查询"<<endl;        cout<<"0.退出"<<endl;        cout<<"\n请输入您的选择:"<<endl;        cin>>n;        switch(n)        {        case 1:            book::add();            break;        case 2:            book::change();            break;        //case 3:        //     break;        case 4:        book::ask();            break;        default:            return ;        }    }}#include<iostream>#include<cstdio>//project.cpp#include<cstring>#include<string>#include"book.h"using namespace std;int main(){    book bo;    bo.show();    return 0;}

0 0
原创粉丝点击