图书管理系统(文件实现)
来源:互联网 发布:包头广电网络活动 编辑:程序博客网 时间: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
- 图书管理系统(文件实现)
- 实现图书管理系统
- 图书管理系统实现
- 图书管理系统之图书信息管理实现
- STL实现图书管理系统
- SQLite+Qt 图书管理系统设计(具体实现)
- Java swing实现图书管理系统(高级版)
- 图书管理系统(java)
- 图书管理系统(Java)
- 求助(图书管理系统)
- 图书管理系统(ssh2)
- 图书管理系统(数组)
- 图书管理系统(链表)
- 图书管理系统 工程文件
- 图书管理系统读写功能实现
- 图书管理系统具体实现方法
- shell实现的一个图书管理系统
- 用OC实现图书管理系统
- IOS开发系列——APP间相互调用专题【整理,部分原创】
- ios 常用方法
- instanceof and getClass()
- Golang初级系列教程-控制结构-ifelse
- 大话设计模式之观察者模式
- 图书管理系统(文件实现)
- html5新增元素
- Git使用教程图文详解
- int转string小技巧
- 视频数字水印
- 池塘夜降彩色雨部分总结
- java 文件上传支持断点续传
- 欢迎使用CSDN-markdown编辑器
- 【论文笔记】One Millisecond Face Alignment with an Ensemble of Regression Trees