1、程序运行开始时的菜单如下图所示,用户输入0~7中的任意数字,程序调用相应的子函数。
注意:程序中首先定义结构体BOOK来表示图书信息,包含图书序号、图书名称、图书作者、是否借出4个信息,并通过静态数组来保存数据。如下所示:
struct BOOK
{
int booknum; //图书序号
char bookname[10]; //图书名称
char bookcreat[10]; //图书作者
int turefalse; //是否借出
}book[100];
2、 编写各子函数
① 增加图书函数。功能:按图书序号、图书名称、图书作者、是否借出依次放入数组中,然后写入文件。
② 删除图书函数。 功能:打开文件,输入图书名称,查找到相应记录后删除图书,若没有找到相应记录则报错,最后保存文件。
③ 修改图书函数。功能:打开文件,根据图书名称,查找相应记录,分情况修改图书的某一项信息,最后保存文件。
④ 所有图书统计函数。功能:打开文件,显示所有图书信息,包括图书序号、图书名称、图书作者、是否借出等信息。
⑤ 按书名查询图书函数。功能:打开文件,输入图书名称,根据书名显示查询到的图书信息,如未找到该书,则显示没有该图书的提示。
⑥ 借书函数。功能:打开文件,按图书名称查找是否有相应图书,如果有该图书再查看是否借出,按不同情况进行不同处理,并写入文件。
⑦ 还书函数。功能:打开文件,按图书名查找是否有该图书,以及该图书是否已经借出,根据具体情况更改图书参数,并写入文件。
#include <iostream>
#include <fstream>//输入/输出文件流类
using namespace std;
const int Maxr=100;//最多的读者
const int Maxb=100;//最多的图书
const int Maxbor=5;//每位读者最多借五本书
//读者类,实现对读者的信息的描述
class Reader
cout << setw(5) << no <<setw(10) << name<<"借书编号:[";
for(int i=0;i<Maxbor;i++)
if(borbook[i]!=0)
cout << borbook[i] << "|";
cout << "]"<<endl;
file.read((char *)&s,sizeof(s));
if (!file)break;
cin >> rname;
r->setname(rname);
break;
case '3':
cout << " 输入读者编号:";
cin >> readerid;
r=query(readerid);
cout <<"该读者不存在"<< endl;
break;
//图书类,实现对图书的描述,图书的编号,书名,借出,还入等
int no;//图书编号
char name[20];//书名
strcpy(name,na);
void delbook(){ tag=1;}//删除图书
void addbook(int n,char *na)//增加图书
tag=0;
no=n;
strcpy(name,na);
onshelf=1;
if (onshelf==1)
void disp()//输出图书
汇编语言
为了解决使用机器语言编写应用程序所带来的一系列问题,人们首先想到使用助记符号来代替不容易记忆的机器指令。这种助记符号来表示计算机指令的语言称为符号语言,也称汇编语言。
在汇编语言中,每一条用符号来表示的汇编指令与计算机机器指令一一对应;记忆难度大大减少了,不仅易于检查和修改程序错误,而且指令、数据的存放位置可以由计算机自动分配。用汇编语言编写的程序称为源程序。