答案:#include

#include

#include

#include

#include

using namespace std;

const   int   Maxb=10000;   //最多的图书

class   Book//图书类

{

int   tag;   //删除标记1:已删0:未删

int   number;   //ISBN书号

char   name[20];   //书名

char author[10]; //主编

char number2[10];//版次

char position[20];//出版社

char time[20];//出版年

int price;//定价

int   onshelf;   //是否在架1:在架0:已借

public:

Book()   {}

char  *getname()   {   return   name;   }   //获取姓名

int   getnumber()   {   return   number;   }     //获取ISBN书号

int   gettag()   {   return   tag;   }   //获取删除标记

char *getauthor()    {return author;}       //获取主编

char *getnumber2()       {return number2;}               //获取版次

char *getposition() {return position;}               //获取出版社

char *gettime() {return time;}             //获取出版年

char getprice() {return price;}           //获取图书定价

void   delbook()   {   tag=1;   }   //删除图书

void   addbook(int n,char *na,char *au,char *n2,char *da,char *ti,int pr)   //增加图书

{

tag=0;

number=n;

price=pr;

strcpy(name,na);

strcpy(author,au);

strcpy(number2,n2);

strcpy(position,da);

strcpy(time,ti);

onshelf=1;

}

void   disp()   //输出图书

{

cout   <

<

}

};

class   BDatabase   //图书库类

{

int   top;   //图书记录指针

Book   book[Maxb];   //图书记录

public:

BDatabase()   //构造函数,将book.txt读到book[]中

{

Book   b;

top=-1;

fstream   file("book.txt",ios::in);

while   (1)

{

file.read((char   *)&b,sizeof(b));

if   (!file)   break;

top++;

book[top]=b;

}

file.close();

}

void   clear()   //全删

{

top=-1;

}

int   addbook(int   n,char   *na,char *au, char *n2, char *da,char *ti,int pr)   //增加图书

{

Book   *p=search1(n);

if   (p==NULL)

{

top++;

book[top].addbook(n,na,au,n2,da,ti,pr);

return   1;

}

return   0;

}

Book   *search1(int   bookid)   //查找图书

{

for   (int   i=0;i<=top;i++)

if   (book[i].getnumber()==bookid   &&

book[i].gettag()==0)

return   &book[i];

return   NULL;

}

Book *search2(int bookid,char *name)          //按书名查找图书

{

for(int i=0;i<=top;i++)

if(strcmp(book[i].getname(),name)==0)

{bookid=book[i].getnumber();

return &book[i];

}

return NULL;

}

Book *search3(int bookid,char *author)          //按主编查找图书

{

for(int i=0;i<=top;i++)

if(strcmp(book[i].getauthor(),author)==0)

{bookid=book[i].getnumber();

return &book[i];

}

return NULL;

}

void   bookdata();   //图书库维护

void   disp()

{

cout<

for   (int   i=0;i<=top;i++)

if   (book[i].gettag()==0)

book[i].disp();

}

~BDatabase()   //析构函数,将book[]写入book.txt文件中

{

fstream   file("book.txt",ios::out);

for   (int   i=0;i<=top;i++)

if   (book[i].gettag()==0)

file.write((char   *)&book[i],sizeof(book[i]));

file.close();

}

};

void   BDatabase::bookdata()

{

int  choice=1;

int  choice2=1;

int  choice3=1;

int  choice4;

char bname[40];

char editor[40];

char banci[40];

char position[40];

char year[40];

int  value;

int  bookid;

Book   *b;

while   (choice!=0)

{

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

cout<

c语言编写图书检索系统,求C语言编写图书管理系统相关推荐

  1. c语言之简单版的图书检索系统

    开发一个简单版的图书检索系统,图书信息包括:编号.作者.书名.出版社.类型.价格.出版日期. 采用简单的c语言语法,结合结构体及自定义函数实现,让大一初学者也能够看懂. 该程序可实现功能(可根据个人需 ...

  2. C语言编程图书销售系统,简单的书店图书销售系统求指点

    已结贴√ 问题点数:18 回复次数:1 简单的书店图书销售系统求指点 1. 功能(需求)分析 书店为了能实现日常的经营,经常涉及到到事物及应该具有的功能是:图书入库(进书采购时).图书销售.查看图书的 ...

  3. 大家都看得见学计算机的决定,卢须振二丫-图书检索系统.PDF

    卢须振二丫-图书检索系统 1 墓碑里的歌声 /秦广泉 9 我们的天空 /卢须振 18 视频抓图 /卢须振 22 二 丫 /冯 燕 25 六月的歌词 /韦文君 37 桥 /韦文君 65 黑白灰 /徐 燕 ...

  4. 仿图书检索系统第二弹jQuery(页面功能)

    个人博客 https://blog.fmujie.cn/ 仿图书检索系统第二弹 主要应用jQuery 主要是用jQuery来调控多数量的信息输入检索框,~哎简单点说就是实时检测input状态~,检索检 ...

  5. ubuntu下c语言编程工具,Ubuntu系统下C语言代码检查工具(Splint)

    看一下下面的代码(当然包括错误,以检验splint的功能): #include int main(int argc,char* argv[]){ int a=100; /*没有使用的变量*/ int ...

  6. 图书借阅系统java_基于JAVAWEB的图书借阅系统

    [实例简介] 基于JAVAWEB的图书借阅系统,包含了源代码.数据库和论文 [实例截图] [核心代码] 图书借阅系统 └── 图书借阅系统 ├── 开题报告.doc ├── 毕设论文.docx ├── ...

  7. c语言程序设计工资纳税系统流程图,c语言程序设计,纳税工资系统.doc

    c语言程序设计,纳税工资系统c语言程序设计,纳税工资系统 第一章 课程设计目的和要求 1.1 课程设计的目的C语言一直是程序设计语言的主流之一数据类型丰富.齐全.C供了整数.实数.字符.字符串等基本数 ...

  8. c语言班费系统,求C语言编写的班费管理系统程序

    满意答案 tg3656dfd 2018.04.03 采纳率:55%    等级:9 已帮助:317人 #include #include #include #pragma pack(1) const  ...

  9. 用c语言编写一个2048 游戏,求c语言编写的2048游戏代码,尽量功能完善一些

    正在编写中,请稍后! 追答 : 代码来了!有点急,没做界面. 追答 : 2048_launcher.c : #include #include #include void main() { print ...

最新文章

  1. Class.forName解析以及使用
  2. distinct和group by不能一起用_内裤用热水洗更好吗?能不能和袜子一起洗?了解后炎症或能少困扰...
  3. c++ 结构体初始化_【干货】c语言基础语法——结构体
  4. Jenkins X:基于Kubernetes的CI/CD平台
  5. 《Java 核心技术卷1 第10版》学习笔记------日志
  6. bdd cucumber_如何使用BDD构建坚如磐石的Ruby on Rails应用
  7. java 获得响应内容_Java 纯HTTP Get请求获取响应内容,如果302,继而获取重定向后的响应内容。...
  8. POJ 2186 Popular Cows(Tarjan)
  9. mos 多路模拟电子开关_软开关设计 || 软开关硬件三极管、MOS管典型电路分析
  10. java三种注释_Java中三种常见的注释(注解) Annotation
  11. centos mysql-dev_CentOS7 安装 mysql
  12. python flask_Python Flask框架详解
  13. 微信小程序 data 赋值
  14. “../28004x_generic_ram_lnk.cmd“,遇到RAM内存不够,需重新配置。
  15. Nginx支持url不区分大小写
  16. c语言转义字符 xhh,jsj_C语言转义字符和格式控制符参考.pdf
  17. rman系列之在window平台和linux平台上rman的自动备份
  18. kubernetes之Pod控制器详解
  19. AI 已死?不,AIGC 给我们带来了新的希望
  20. 决策树构建算法—ID3、C4.5、CART树

热门文章

  1. 转贴: 傅立叶级数(Fourier Series) 推导
  2. 洛谷 P3975 [TJOI2015]弦论 解题报告
  3. Teambition X 2019 校招
  4. 自动采集的网站源码-自动采集发布的电影小说新闻网站程序源码
  5. Java实训—VII,VIII
  6. 图片处理算法工程师面试及笔试
  7. ArcGIS API for javascript创建二维度地图
  8. 亲测有效,最简单的Win10系统下的IDEA Ultimate2019.1.3安装和破解秘籍
  9. 使用 Marvelous Designer 为DAZ Studio 的 Genesis8 Female做衣服 1
  10. GNU和LINUX到底怎么个发音?