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

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

 

 

 

#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;
}


  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Java图书管理系统文件压缩包可以理解为将图书管理系统的相关文件进行压缩打包的文件格式。一般情况下,我们可以使用Java中自带的ZipOutputStream和ZipInputStream类来实现文件的压缩和解压操作。 首先,我们需要将图书管理系统的相关文件收集起来并打包成压缩包。可以通过创建一个ZipOutputStream对象,指定文件输出路径以及压缩包名称,然后调用putNextEntry方法创建一个新的条目,并将相关的文件数据写入到压缩包中。这样就可以将图书管理系统文件按需求打包进压缩包中。 接下来,压缩包文件可以方便地进行传输、备份和存储。通过Java的Socket或其他网络传输相关的类,我们可以将压缩包文件传输到远程服务器或其他设备。同时,压缩包文件也可以作为系统的备份文件,以防止数据丢失或系统损坏时的恢复。此外,还可以将压缩包文件存储在云存储服务中,便于随时获取和共享。 最后,当需要使用图书管理系统时,我们可以通过解压缩方式将压缩包文件解包成原始的文件。通过创建一个ZipInputStream对象,指定压缩包文件路径,然后调用getNextEntry方法来获取各个条目,并将相应的数据写入到目标文件中即可实现解压缩操作。 综上所述,Java图书管理系统文件压缩包是通过将系统的相关文件进行压缩打包,方便传输、备份和存储。使用Java的ZipOutputStream和ZipInputStream类可以实现文件的打包和解压缩操作,以满足对图书管理系统文件的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值