一本图书的信息包括:图书编号(BookNo),书名(BookName),总册数(Total),借出数(Lend),价格(Value),利用结构体实现以下要求:

一本图书的信息包括:图书编号(BookNo),书名(BookName),总册数(Total),借出数(Lend),价格(Value),利用结构体实现以下要求:

  1. 输入这5本图书信息;
  2. 输出5本图书信息及每本图书剩余在库的册数,要求:按照在库册数从多到少输出,排序可选择冒泡、选择、快速排序等方式;
  3. 实现一个查找函数ValueSearch(),按照图书名查找图书库中的图书价格,如果找到,则返回该图书的价格,如果没有找到,则输出“在书库中未找到”,返回0;
  4. 利用查找函数ValueSearch()查找“大学计算机”和“大学物理”两本图书,并输出函数返回的相应的结果。
    在这里插入图片描述
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
const int N=5;
const int L=55;
class BOOKS{
	public:
	int BookNo,Total,Lend,Surplus;
	float Value;
	string BookName;
	BOOKS Input(){
		BOOKS B;
		cin >> B.BookNo >> B.BookName >> B.Total >> B.Lend >> B.Value;
		B.Surplus=B.Total-B.Lend;
		return B;
	}
	void Show() {
		cout << BookNo << "\t" << BookName << "\t" << Total << "\t" << Lend << "\t" << Surplus << "\t" << Value << endl;
	}
	void Show1() {
		cout << BookNo << "\t" << BookName << "\t" << Surplus <<  endl;
	}
};
void ValueSearch(BOOKS B[N]) {
	int i, j;
	string bookname;
	cout << "请输入图书名:" ;
	cin >> bookname;
	for (j = 0, i = 0; i < N; i++) {
		if (B[i].BookName == bookname) {
			cout << "图书的价格为:" << B[i].Value << endl;
			j++;
		}
	}
	if (j == 0) { cout << "在图书系统中未找到!!!" << endl; }
	return ;
}
int main() {
	BOOKS books[N];
	BOOKS book;
	int i = 0;
	cout << "请输入5本图书信息:" << endl;
	cout << setfill('-') << setw(L) << "\n";
	for (i = 0; i < N; i++) {
		books[i]=book.Input();
	}
	cout << "\n图书信息显示:" << endl;
	cout << setfill('-') << setw(L) << "\n";
	cout << "编号\t书名\t\t总册数\t借出数\t剩余数\t价格" << endl;
	cout << setfill('-') << setw(L) << "\n";
	for (i = 0; i < N; i++) {
		books[i].Show();
	}
	cout << endl << "按照在库册数从多到少为:" <<endl;
	cout << "编号\t书名\t\t剩余数" << endl;
	cout << setfill('-') << setw(L) << "\n";
	for (i = 0; i < N; i++) {
		for (int j = 0; j + i + 1 < N; j++) {
			if (books[j].Surplus < books[j + 1].Surplus) {
				BOOKS temp = books[j];
				books[j] = books[j + 1];
				books[j + 1] = temp;
			}
		}
	}	
	for (i = 0; i < N; i++) {
		books[i].Show1();
	}
	cout << setfill('-') << setw(L) << "\n";
	ValueSearch(books);
	cout << endl;

	return 0;
}

在这里插入图片描述

图书库存管理系统 模块: …………………………………………………………………… 入库管理 出库管理 入库统计 FLASH画面-系统主控截面- 出库统计 入库结存报表 出库结存报表 权限维护 …………………………………………………………………… 创建图书管理据库。(tsglbase) 创建表: 1:入库图书据表(rkb) ………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 版次 text 10 库存 integer 默认 单价 currency 默认 库存金额 currency 默认 入库时间 date/time 默认 …………………………………………………… 2: 图书出库据表(ckb) ………………………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 版次 text 10 出库 integer 默认 单价 currency 默认 出库金额 currency 默认 出库时间 date/time 默认 …………………………………………………… 3:图书主表(tszb) …………………………………………………… 图书编号 text 50 普通索引 不为空 书名 text 50 作者 text 10 出版社 text 50 ………………………………………………………… 4:密码表(mmb) …………………………………………………… 密码 text 20 主要的唯一的 不为空 用户名 text 50 ………………………………………………………… 张 123。。。。王 456 …………………………………………………………………………………………… 制作工程: 1:创建FLASH画面,FROM1(startFROM。FRM) 在窗体中放一个计时器控件,在该控件用于控制FLASH画面显示的时间。 在放一个文本控件,用于计时,设置visible的属性为假,text属性为1 放一个图片控件,并引入一个图片, 2:制作系统主控界面,FROM2(MAINFROM。FRM) 在穿体中放5个形状控件,shape1,shape2,shape3,shape4,shape5 还有个5个标签控件,在放一个标签控件,用于返回启动画面 在放一个据控件DATA,用它来引入据源,设置它为不可见 3: 制作图书入库管理窗体(入库管理)(inputbook。FRM) 在工程增加一个新窗体,该窗体用据窗体向导加以制作, 在窗体布局选项中用“主表/细表” “图书主表”和“入库图书据表” 帮定类型选“ADO据控件” 4: 制作图书出库窗体 (图书出库)(outputbook.frm) 在工程增加一个新窗体,该窗体用据窗体向导加以制作, 在窗体布局选项中用“主表/细表”两个表为 帮定类型选“ADO据控件“ 在引用一个DATAGRID控件:把他的allowaddnew allowdelete allowupdata 属性设置为真 5:创建图书入库结算窗体(入库统计)(sumrk。FRM) 据源控件ADODC,……………………………… name DATPRIMARYRS connectstring provider=microsoft.jet.oledb.3.51;data source=据库路径 recordsource select 图书编号,书名,版次,库存,单价 库存金额,作者,出版社,入库日期 from 入库图书据表(rkb) …………………………………………………… 6:创建图书出库结存窗体(出库统计)。(tsck。FRM) 据源控件ADODC,……………………………… name DATPRIMARYRS connectstring provider=microsoft.jet.oledb.3.51;data source=据库路径 recordsource select 图书编号,书名,版次,出库,单价 出库金额,作者,出版社,出库日期 from 出库图书据表(ckb) …………………………………………………… 7:制作入库图书结存报表 工程——更多SctiveX设计器——data enviroment 单击connection1的属性,选择mcrosoft jet 3.51 ole db provider 单击下一步 据提供者或连接据源属性的全程为: provider= mcrosoft jet OLEDB.3.51 ;PERSIST security info=false; data source=据库路径 然后,工程——添加 datareport (报表) 右击connection1,单击“添加命令”菜单,出现一个新的命令command1 该命令属性为 …………………… connectionname connction1 commandtype 2—adcmdtable commandtext 入库图书据表 把datareport1的据源的属性datasource为dtaenvironment1 在报表头带区放一个标签控件,用于说明报表名称:“图书入 库 结算报表” 在报表的页标头区中放入5个标签控件,用于说明 报表每列的 内容 在报表的细节带区放5个文本框控件,用于显示据表中的据 8:制作入库图书结存报表 制作工程和7一样 9:制作用户权限维护窗体mmform(mmform。frm)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值