好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

图书借阅功能php 图书借阅功能如何实现的

很多站长朋友们都不太清楚图书借阅功能php,今天小编就来给大家整理图书借阅功能php,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 想用php和curl抓取制作图书馆续借功能的应用求会的大神指点迷津 2、 实现一个小型图书馆管理系统,要求实现对图书信息的管理;实现对图书的借阅、归还等功能;界面布局合理, 3、 php如何二维数组遍历输出图书馆借书数据 想用php和curl抓取制作图书馆续借功能的应用求会的大神指点迷津

具体我也没有做过,我只能说我的思路

curl模拟登陆

php微信开发

数据采集

程序逻辑的实现

实现一个小型图书馆管理系统,要求实现对图书信息的管理;实现对图书的借阅、归还等功能;界面布局合理,

#include <iostream>

#include <iomanip>

#include <string>

//输入/输出文件流类

#include <fstream>

using namespace std;

//最多的读者

const int Maxr=100;

//最多的图书

const int Maxb=100;

//每位读者最多借五本书

const int Maxbor=5;

//读者类,实现对读者的信息的描述

class Reader

{

private:

//删除标记 1:已删 0:未删

int tag;

//读者编号

int no;

//读者姓名

char name[10];

//所借图书

int borbook[Maxbor];

public:

Reader()

{

;

}

//获取姓名

char *getname()

{

return name;

}

//获取删除标记

int gettag()

{

return tag;

}

//获取读者编号

int getno()

{

return no;

}

//设置姓名

void setname(char na[])

{

strcpy(name,na);

}

//设置删除标记 1:已删 0:未删

void delbook()

{

tag=1;

}

//增加读者

void addreader(int n,char *na)

{

tag=0;

no=n;

strcpy(name,na);

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

borbook[i]=0;

}

//借书操作

void borrowbook(int bookid)

{

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

{

if (borbook[i]==0)

{

borbook[i]=bookid;

return;

}

}

}

//还书操作

int retbook(int bookid)

{

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

{

if(borbook[i]==bookid)

{

borbook[i]=0;

return 1;

}

}

return 0;

}

//读出读者信息

void disp()

{

cout << setw(5) << no <<setw(10) << name<<"借书编号:[";

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

if(borbook[i]!=0)

cout << borbook[i] << "|";

cout << "]"<<endl;

}

};

//读者类库,实现建立读者的个人资料

class RDatabase

{

private:

//读者记录指针

int top;

//读者记录

Reader read[Maxr];

public:

//构造函数,将reader.txt读到read[]中

RDatabase()

{

Reader s;

top=-1;

//打开一个输入文件

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

while (1)

{

file.read((char *)s,sizeof(s));

if (!file)break;

top++;

read[top]=s;

}

//关闭 reader.txt

file.close();

}

//删除所有读者信息

void clear()

{

top=-1;

}

//添加读者时先查找是否存在

int addreader(int n,char *na)

{

Reader *p=query(n);

if (p==NULL)

{

top++;

read[top].addreader(n,na);

return 1;

}

return 0;

}

//按编号查找

Reader *query(int readerid)

{

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

if (read[i].getno()==readerid

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

{

return read[i];

}

return NULL;

}

//输出所有读者信息

void disp()

{

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

read[i].disp();

}

//读者库维护

void readerdata();

//析构函数,将read[]写到reader.txt文件中

~RDatabase()

{

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

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

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

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

file.close();

}

};

void RDatabase::readerdata()

{

char choice;

char rname[20];

int readerid;

Reader *r;

while (choice!='0')

{

cout <<"\n\n\t\t\t读 者 维 护\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 删 除\n\n\t\t 4 查 找\n\n\t\t 5 显 示\n\n\t\t 6 全 删\n\n\t\t 0 退 出"<<endl;

cin >> choice;

switch (choice)

{

case '1':

cout << "输入读者编号:";

cin >> readerid;

cout << "输入读者姓名:";

cin >> rname;

addreader (readerid,rname);

break;

case '2':

cout << "输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout << " 该读者不存在 "<<endl;

break;

}

cout << "输入新的姓名:";

cin >> rname;

r->setname(rname);

break;

case '3':

cout << " 输入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<" 该读者不存在" << endl;

break;

}

r->delbook();

break;

case '4':

cout << "读入读者编号:";

cin >> readerid;

r=query(readerid);

if (r==NULL)

{

cout <<"该读者不存在"<< endl;

break;

}

r->disp();

break;

case '5':

disp();

break;

case '6':

clear();

break;

default:cout<<"输入错误,请从新输入:";break;

}

}

}

//图书类,实现对图书的描述,图书的编号,书名,借出,还入等

class Book

{

private:

//删除标记 1:已删 0:未删

int tag;

//图书编号

int no;

//书名

char name[20];

//是否再架 1:再架 2:已借

int onshelf;

public:

Book(){}

//获取姓名

char *getname() { return name; }

//获取图书编号

int getno(){ return no; }

//获取删除标记

int gettag(){ return tag; }

//设置书名

void setname(char na[])

{

strcpy(name,na);

}

//删除图书

void delbook(){ tag=1;}

//增加图书

void addbook(int n,char *na)

{

tag=0;

no=n;

strcpy(name,na);

onshelf=1;

}

//借书操作

int borrowbook()

{

if (onshelf==1)

{

onshelf=0;

return 1;

}

return 0;

}

//还书操作

void retbook()

{

onshelf=1;

}

//输出图书

void disp()

{

cout << setw(6) << no << setw(18) << name << setw(10)

<<(onshelf==1? "在架":"已借") <<endl;

}

};

//图书库类,实现对图书的维护,查找,删除等

class BDatabase

{

private:

//图书记录指针

int top;

//图书记录

Book book[Maxb];

public:

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

BDatabase()

{

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)

{

Book *p=query(n);

if (NULL==p)

{

top++;

book[top].addbook(n,na);

return 1;

}

return 0;

}

//查找图书

Book *query(int bookid)

{

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

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

{

return book[i];

}

return NULL;

}

//图书库维护

void bookdata();

void disp()

{

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

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

book[i].disp();

}

//析构函数,将book[]写到book.txt文件中

~BDatabase()

{

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()

{

char choice;

char bname[40];

int bookid;

Book *b;

while (choice!='0')

{

cout <<"\n\n\n\t\t\t图 书 维 护 "<<endl<<endl;

cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 删 除\n\t\t4 查 找\n\t\t5 显 示\n\t\t6 全 删\n\t\t0 退 出"<<endl;

cin >> choice;

switch (choice)

{

case '1':

cout << "输入图书编号:"<<endl;

cin >> bookid;

cout << "输入图书书名:"<<endl;

cin >> bname;

addbook(bookid,bname);

break;

case '2':

cout << "输入图书编号:"<<endl;

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout << " 该图书不存在 "<<endl;

break;

}

cout << "输入新的书名:"<<endl;

cin >> bname;

b->setname(bname);

break;

case '3':

cout <<" 读入图书编号:"<<endl;

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout <<" 该图书不存在" << endl;

break;

}

b->delbook();

break;

case '4':

cout << " 读入图书编号:"<<endl;

cin >> bookid;

b=query(bookid);

if (b==NULL)

{

cout <<" 该图书不存在"<< endl;

break;

}

b->disp();

break;

case '5':

disp();

break;

case '6':

clear();

break;

default:cout<<"输入错误,请从新输入:";

}

}

}

//main() 函数的实现,程序的主界面的引导

int main()

{

char choice;

int bookid,readerid;

RDatabase ReaderDB;

Reader *r;

BDatabase BookDB;

Book *b;

while(choice!='0')

{

cout <<endl<<endl<<"\t\t\t 图 书 管 理 系 统\n\n\n";

cout <<"\t\t\t1 借 书\n\n\t\t\t2 还 书 \n\n\t\t\t3 图 书 维 护\n\n\t\t\t4 读 者 维 护\n\n\t\t\t0 离 开"<<endl;

cin >> choice;

switch (choice)

{

case '1':

cout <<" 借书 读者编号:";

cin >>readerid;

cout <<" 图书编号: ";

cin >>bookid;

//按编号查找

r=ReaderDB.query(readerid);

if (NULL==r)

{

cout <<" 不存在该读者,不能借书"<< endl;

break;

}

b=BookDB.query(bookid);

if (b==NULL)

{

cout <<" 不存在该图书,不能借书"<< endl;

break;

}

if (b->borrowbook()==0)

{

cout << " 该图书已借出,不能借书"<< endl;

break;

}

r->borrowbook(b->getno());

break;

case '2':

cout<<"还书\n 读者编号:";

cin >>readerid;

cout << " 图书编号:";

cin >>bookid;

r=ReaderDB.query(readerid);

if (r==NULL)

{

cout <<" 不存在该读者,不能还书" << endl;

break;

}

b=BookDB.query(bookid);

if (b==NULL)

{

cout <<" 不存在该图书,不能还书" <<endl;

break;

}

b->retbook();

r->retbook(b->getno());

break;

case '3':

BookDB.bookdata();

break;

case '4':

ReaderDB.readerdata();

break;

default:cout<<"输入错误,请从新输入:";

}

}

}

php如何二维数组遍历输出图书馆借书数据

直接两个 foreach 是不符合楼主的需求的。

$arr=Array( array('123332' => '123332','123333' => '123333'), array('123332' => 'Hockey Stick','123333' => 'Hockey Stick2'), array('123332' => 33.25 , '123333' => 33.25));//$arr 为你要查询的数组foreach($arr[0] as $key=>$val){ //循环查找每一类数据。 for($i=0;$i<count($arr);$i++){ $narr[$val][]=$arr[$i][$key]; }}print_R($narr);

关于图书借阅功能php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于图书借阅功能php 图书借阅功能如何实现的的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did207142
更新时间:2023-05-03   阅读:40次

上一篇: php培训机构深圳 深圳php技术培训

下一篇:phppdf时间戳 php时间戳相减

相关资讯

最新资料更新

  • 1.php梗怎么来的 php是什么意思饭圈
  • 2.php中catch的简单介绍
  • 3.php教程全局交流 phpunit教程
  • 4.phph5开发 php开发程序
  • 5.登录注册的php代码 php用户注册登录代码
  • 6.php安全验证 php安全问题
  • 7.exec-php下载 php exe
  • 8.php数字语音播报 php语音转文字
  • 9.主流php框架比较 php框架排行2020
  • 10.php每天更新数据 php数据库更新语句
  • 11.php求100的质数 php求出1100的素数
  • 12.phphint插件下载 php 插件系统
  • 13.php爬淘宝图片 php爬取图片
  • 14.php项目补充redis php+redis
  • 15.php英国时区代码 英国时区缩写
  • 16.php扩展的路径 php常用扩展有哪些
  • 17.php前端页面源码 php前端页面源码是多少
  • 18.php接收xml异常 php处理xml数据
  • 19.php版本越高越好吗 php各版本性能对比
  • 20.php怎么登录会员 怎么用php完成登录页面

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]