C++实现图书管理系统课程设计

大一C++课设,没有用分文件的形式,只是把菜单页面单独分开了。用的是链表,都是一些基础的东西。另外采用了二维数组来保存读者借书信息,并将二维数组读入文件中。

菜单:#pragmaoncevoid_mainmenu();voidLoginmenu();voidRegistmenu();voidreadermenu();voidmangermenu();voidchangebookmenu();voidbrowsemenu();菜单文件`#include“menu.h”

void_mainmenu(){

voidRegistmenu(){printf(“注册页面\n”);printf(“**\n”);printf(“1.管理员注册\n”);printf(“\n”);printf(“2.用户注册\n”);printf(“\n”);printf(“3.返回\n”);printf(“\n”);printf(“4.退出\n”);printf(“**\n”);printf(“请按键选择:”);}

voidreadermenu(){printf(“用户页面\n”);printf(“**\n”);printf(“1.借书\n”);printf(“\n”);printf(“2.还书\n”);printf(“\n”);printf(“3.浏览图书信息\n”);printf(“\n”);printf(“4.查看已借阅书籍\n”);printf(“\n”);printf(“5.修改密码\n”);printf(“\n”);printf(“6.返回\n”);printf(“\n”);printf(“7.退出\n”);printf(“**\n”);printf(“请按键选择:”);}

voidmangermenu(){printf(“管理员页面\n”);printf(“**\n”);printf(“1.增加图书\n”);printf(“\n”);printf(“2.删除图书\n”);printf(“\n”);printf(“3.修改图书信息\n”);printf(“\n”);printf(“4.查看读者信息\n”);printf(“\n”);printf(“5.浏览图书信息\n”);printf(“\n”);printf(“6.修改密码\n”);printf(“\n”);printf(“7.返回\n”);printf(“\n”);printf(“8.退出\n”);printf(“**\n”);printf(“请按键选择:”);}

voidchangebookmenu(){printf(“\n\n”);printf(“\t\t\t\t*\n”);printf(“\t\t\t\t1.修改id号\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t2.修改图书名称\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t3.修改图书作者\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t4.修改出版社\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t5.修改图书数量\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t6.修改是否可借\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t7.返回\n”);printf(“\t\t\t\t*“);printf(“\n\n”);}

voidbrowsemenu(){printf(“\n\n\n\n”);printf(“\t\t\t\t*\n”);printf(“\t\t\t\t1.按id号浏览\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t2.按图书数量浏览\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t3.返回\n”);printf(“\t\t\t\t\n”);printf(“\t\t\t\t4.退出\n”);printf(“\t\t\t\t*\n”);printf(“请按键选择:”);}主程序#define_CRT_SECURE_NO_WARNINGS

usingnamespacestd;classUser{protected:characcount[20];charpassword[20];charspassword[20];

public:virtualvoidLogin()=0;virtualvoidRegist()=0;virtualvoidsave()=0;virtualvoidBrowseBook()=0;virtualvoidChangePassword()=0;virtualvoidFindPassword()=0;};

classReader:publicUser{private:intnumber;stringname;stringsex;intbooks;//借书数量intbookcnt;//借阅次数charbooklist[20][20];//储存借阅书籍classReader*next;

public:virtualvoidLogin();virtualvoidRegist();virtualvoidsave();virtualvoidBrowseBook();virtualvoidChangePassword();virtualvoidFindPassword();voidcreat();voidBrowseBorrowBook(Readerpp);voidBorrowBook(Readerpp);voidReturnBook(Reader*pp);

public:voidset_number(int_number){number=_number;};voidset_name(string_name){name=_name;};voidset_sex(string_sex){sex=_sex;};voidset_next(Readerp){next=p;};voidset_books(int_books){books=_books;};voidset_bookcnt(int_bookcnt){bookcnt=_bookcnt;};intget_bookcnt(){returnbookcnt;};intget_number(){returnnumber;};intget_books(){returnbooks;};Readerget_next(){returnnext;}stringget_name(){returnname;};stringget_sex(){returnsex;};charget_account(Readerp){returnp->account;};charget_password(Readerp){returnp->password;};charget_spassword(Readerp){returnp->spassword;};charget_booklist(Readerp,inti){returnp->booklist[i];};

};

classManger:publicUser{private:classManger*next;

public:

public:voidset_next(Mangerp){next=p;};Mangerget_next(){returnnext;};charget_account(Mangerp){returnp->account;};charget_password(Mangerp){returnp->password;};charget_spassword(Mangerp){returnp->spassword;};};

classBook{private:intid;intamount;intflag;stringbookname;stringauthor;stringpress;classBook*next;

};

classDBFile{public:voidcls();voidover();voidlogin();voiduseLogin(Userbase);voidregist();voiduseRegist(Userbase);voidusebrowsebook(Userbase);voidusesave(Userbase);voidusechangepassword(Userbase);voidusefindpassword(Userbase);voidfindpassword();intexist(characconut,intflag);void_main();voididsort();voidbookamountsort();voidshowidsort();voidshowbookamountsort();voidmangerfunction();voidreaderfunction(Readerrp);};Readerrhead=NULL;Reader_rend=NULL;Mangermhead=NULL,mend=NULL;Bookbhead=NULL;Bookbend=NULL;charcode[20]=“glysw”;

//读者类voidReader::Login(){intcnt=4;intflag=0;intk=0;inti;charc;DBFilefp=newDBFile;Readerp=rhead->get_next();charrpassword[2000];charraccount[2000];cout<<“\n\n\n\n\n\n\n”;printf(“请输入您的账户(按0退出):”);while(cin>>raccount){if(strcmp(raccount,“0”)==0){return;}if(strlen(raccount)<=16){break;}else{cout<<“请输入长度为1到16位的账户:”;}}

}

voidReader::Regist(){DBFilefp=newDBFile;Readerrp=newReader;charraccount[2000];charrpassword[2000];charrspassword[2000];charname[200];charsex[10];intnumber;

}voidReader::save(){Reader*rp=rhead->get_next();ofstreamf_reader(“reader.txt”,ios::out);while(rp){f_reader<account<<““<password<<““<spassword<<““<number<<““<name<<““<sex<<““<bookcnt<<““<books;for(inti=0;ibookcnt;i++){f_reader<<““<get_next();}f_reader.close();}

voidReader::BorrowBook(Readerpp){Bookbp=bhead->get_next();Book*_bp=newBook;_bp->show_book();charbookname[200];intamount;intflag=1;intsign=1;intexist=0;

//数据操作类voidDBFile::cls(){system(“cls”);}voidDBFile::over(){DBFile*dbp=newDBFile;dbp->cls();system(“color6”);inttime=6;printf(“\n\n\n\n\n\n\n\n\n”);printf(“\t\t\t\t\t\t感谢您的使用!!\n\n\n\n\n”);printf(“程序即将关闭…”);while(—time>=1){printf(“\r%d”,time);printf(“\b”);Sleep(1000);}dbp->cls();exit(0);}

voidDBFile::login(){Readerrp=newReader;Mangermp=newManger;intsign=0;while(1){cls();Loginmenu();charchoose=_getch();switch(choose){case‘1’:cls();useLogin(mp);break;case‘2’:cls();useLogin(rp);break;case‘3’:cls();sign=1;break;case‘4’:cls();over();break;default:cout<<“输入无效!!”;break;}if(sign){break;}}}voidDBFile::useLogin(Userbase){base->Login();}voidDBFile::regist(){Readerrp=newReader;Mangermp=newManger;intsign=0;while(1){cls();Registmenu();charchoose=_getch();switch(choose){case‘1’:cls();useRegist(mp);break;case‘2’:cls();useRegist(rp);break;case‘3’:cls();sign=1;break;case‘4’:cls();over();break;default:cout<<“无效输入!!”;break;}if(sign){break;}}}voidDBFile::usesave(Userbase){base->save();}voidDBFile::usechangepassword(User*base){base->ChangePassword();}

voidDBFile::useRegist(User*base){base->Regist();}

voidDBFile::usebrowsebook(User*base){base->BrowseBook();}

voidDBFile::usefindpassword(Userbase){base->FindPassword();}voidDBFile::findpassword(){printf(“\n\n\n\n\n\n”);printf(“\t\t\t\t\t**\n”);printf(“\t\t\t\t\t\n”);printf(“\t\t\t\t\t1.管理员找回密码\n”);printf(“\t\t\t\t\t\n”);printf(“\t\t\t\t\t2.用户找回密码\n”);printf(“\t\t\t\t\t\n”);printf(“\t\t\t\t\t3.返回\n”);printf(“\t\t\t\t\t\n”);printf(“\t\t\t\t\t**\n”);printf(“请按键选择:”);intchoose;intsign=0;Readerrp=newReader;Manger*mp=newManger;scanf(“%d”,&choose);while(1){cls();

}intDBFile::exist(characcount,intflag){if(flag==0){Readerp=rhead->get_next();while(p!=NULL){if(strcmp(account,p->get_account(p))==0){return1;}p=p->get_next();}}elseif(flag==1){Manger*p=mhead->get_next();while(p!=NULL){if(strcmp(account,p->get_account(p))==0){return1;}p=p->get_next();}}return0;}voidDBFile::_main(){while(1){cls();_mainmenu();charchoose=_getch();switch(choose){case‘1’:cls();login();break;case‘2’:cls();regist();break;case‘3’:cls();findpassword();break;case‘4’:cls();over();break;default:cout<<“无效输入!!”;break;}}}

}voidManger::BrowseBook(){DBFilefp=newDBFile;intsign=0;while(1){fp->cls();browsemenu();charchoose=_getch();switch(choose){case‘1’:fp->cls();fp->showidsort();break;case‘2’:fp->cls();fp->showbookamountsort();break;case‘3’:fp->cls();sign=1;break;case‘4’:fp->cls();fp->over();break;default:break;}if(sign){break;}}}voidManger::save(){Mangermp=mhead->get_next();ofstreamf_manger(“manger.txt”,ios::out);while(mp){f_manger<account<<““<password<<““<spassword<get_next();}f_manger.close();}voidManger::creat(){characcount[20];charpassword[20];charspassword[20];

}voidManger::AddBook(){DBFilefp=newDBFile;Bookp=bhead->get_next();inta;intid=0;intamount;charbookname[2000];do{fp->cls();cout<<“\n\n\n\n\n”;cout<<“请输入要添加书名id(按0退出):”;while(cin>>id){if(id==0){return;}if(id<0){cout<<“请输入正确格式的id号(按0退出):”;}else{break;}}intflag=0;while(p){if(p->get_id()==id){flag=1;break;}p=p->get_next();}if(flag){cout<<“已查出此书,请输入再次增加图书的数量:”;while(cin>>amount){if(amount<=199&&amount>0){inttemp=p->get_amount()+amount;p->set_amount(temp);cout<<“图书”<get_bookname()<<“添加成功!”;

}voidManger::ChangeBook(){DBFilefp=newDBFile;Bookp=bhead->get_next();intid;intamount;intflag=0;charbookname[200];charauthor[200];charpress[200];intexist=0;intsign=0;

}voidManger::DeleteBook(){Bookbp=bhead->get_next();charbookname[20];intflag=0;bp->show_book();cout<<“请输入您要删除图书的名称(按0退出):”;while(cin>>bookname){if(strcmp(bookname,“0”)==0){return;}while(bp){if(bp->get_bookname()==bookname){flag=1;break;}bp=bp->get_next();}if(flag==0){cout<<“未查询到此书!\n”<<“请重新输入(按0退出):”;bp=bhead->get_next();}else{break;}}DeleteReaderBook(bookname);bp=bhead->get_next();Bookpp=bhead;while(bp){//bp->next可能是链表的最后一个if(bp->get_bookname()==bookname){if(bp->get_next()==NULL){bhead->set_next(NULL);}else{pp->set_next(bp->get_next());}}pp=pp->get_next();bp=bp->get_next();}

}voidManger::DeleteReaderBook(charbookname){Readerrp=rhead->get_next();Reader*pp=newReader;intflag=0;

}voidManger::BrowseReader(){

//图书类voidBook::creat()

{ifstreamf_book(“book.txt”,ios::in);intid;intamount;intflag;stringbookname;stringauthor;stringpress;while(f_book>>id&&f_book>>flag&&f_book>>amount&&f_book>>bookname&&f_book>>author&&f_book>>press){Book*p=newBook;p->id=id;p->flag=flag;p->amount=amount;p->bookname=bookname;p->author=author;p->press=press;

voidBook::save(){Book*bp=bhead->get_next();ofstreamf_book(“book.txt”,ios::out);while(bp){f_book<id<<““<flag<<““<amount<<““<bookname<<““<author<<““<press<get_next();}f_book.close();}

voidBook::show_book(){Book*bp=bhead->get_next();cout<<“id号\t\t”<<“是否可借\t\t”<<“数量\t\t”<<“书名\t\t”<<“作者\t\t”<<“出版社\n”;while(bp){cout<get_id()<<“\t\t”<get_flag()<<“\t\t\t”<get_amount()<<“\t\t”<get_bookname()<<“\t\t”<get_author()<<“\t\t”<get_press()<<“\n”;bp=bp->get_next();}}intmain(){mhead=newManger;mend=newManger;mhead->set_next(NULL);mend=mhead;

THE END
1.数据库原理及应用课程设计任务书选题及要求课程设计内容 1.选题要求 (1)参考题目 题目如下:《学生选课系统》、《图书借阅管理系统》、《中小型超市管理系统》、《机房管理系统》、《书店销售管理系统》、《学生宿舍管理系统》、《酒店管理系统》、《校园二手物品交易平台》、《病房管理系统》《食堂点餐系统》、《网吧管理系统》、《学生课堂考勤管理系统》、https://baijiahao.baidu.com/s?id=1719096807187777885&wfr=spider&for=pc
2.《软件工程》图书管理系统课程设计20240615091600.pdf《软件工程》图书管理系统课程设计.pdf 原文免费试下载 想预览更多内容,点击免费在线预览全文 免费在线预览全文 图书管理系统课程设计报告 1.设计目的 随着计算机技术的不断开展,计算机作为知识经济时代的产物,已被广泛应 用于社会各个行业和领域。目前,我国的科技水平高速开展,计算机作为今天使 https://m.book118.com/html/2024/0615/5104022322011224.shtm
3.Java图书管理系统,课程设计必用(源码+文档)java设计准备 编程工具:eclipse、MySQL5.5 技术:java、JavaScript、jQuery、SQL、前端等 心态:坚持 …… 一、系统开发目的和意义 为有效提升图书馆的管理效率,满足人们的各种必要需求,必 须在图书馆的日常管理中应用计算机管理系统。这样才能随着时代 发展不断提升图书馆的社会服务能力,使图书馆管理更具现代化特 征。系统https://www.jb51.net/article/216374.htm
4.图书管理系统课程设计.docx图书管理系统课程设计资源本图书管理系统采用JAVA+MySql设计,本系统功能全面,很好应付课程设计,图书增删改查,罚款功能,借阅功能,读者注册功能,管理员登录,读者登录。 图书管理系统数据库设计与实现(包括需求分析,数据库设计,数据表、视图、存储过程等) 浏览:154 5星 · 资源好评率100% https://download.csdn.net/download/qq_45851129/19785516
5.数据结构课程设计数据结构课程设计 图书管理系统 一、需求分析 在进行一个项目的设计之前,先要进行必要的需求分析。 现某图书馆需要管理其各种人员和图书信息,希望实现办公的信息化,通过建立一个图书管理系统来管理图书。其完成的功能如下: (1)可以实现图书的登记、借阅的管理。 http://www.360doc.com/document/20/1002/22/71802450_938578529.shtml
6.Java课程设计图书管理系统总结java图书管理系统毕业设计功能介绍:图书管理系统,包括了注册登录,学生在线借书、还书、续借,查看借阅统计,管理员管理书籍、添加藏书、管理借阅记录等。其中,每一个学生每一借阅都只能借阅30天,并且可以续借,续借以后,自动延长30天。 项目需求分析如下: 视频演示如下: 【原创项目】基于Jsp+Servlet的图书管理系统 https://blog.51cto.com/u_16213562/8601029
7.数据库系统课程设计图书管理系统程序编写环境:数据管理系统:microsoft office access程序编写平台:microsoft vieual basic.net操作系统:microsoft xp sp2测试用帐号及密码:学生帐号:3264学生密码:888888管理员帐号:admin管理员密码:admin下面子系统是有本人编写的:l 管理员管理系统l 图书管理l 超时管理第二节需求分析数据字典数据库名:library.mdb1)https://m.renrendoc.com/paper/150419309.html
8.轻松学做C语言课程设计:图书管理系统数组实现C语言课程设计,对于初学者来说,主要是综合运用C语言基础知识,以实际项目的形式锻炼编程能力。从今天开始,一起轻松学做C语言课程设计常见项目,建议先运行代码,再一步步理解其实现。 题目要求 图书管理系统提供图书信息管理以及借还管理。图书信息至少包括:图书编号、书名、价格、作者、借还状态,提供以下功能: https://www.jianshu.com/p/4747f7993672
9.软件工程课程设计——学校图书借阅管理系统专业方向组设计 学校图书借阅管理系统 指导教师 李鑫 院(系、部) 电信学院 专业班级 计算机 06—2 学 号 0606010212 姓 名 宋成龙 电子与信息工程学院 计算机科学系 参考目录 1 问题定义 2 项目背景 https://doc.mbalib.com/view/c33c697a77fd207ec1f042da189adfdd.html
10.图书管理系统设计与实现—看这篇就够了腾讯云开发者社区图书管理系统设计与实现 图书馆人员结构复杂,人员数量有限,涉及方面很广,如果还使用手工操作处理图书借阅问题,工作将非常繁琐,需要大量的人力、物理、财力,极大的浪费了资源,对于图书管理人员来说,图书馆管理包括图书信息管理、图书类别管理、借阅信息管理、管理员信息管理等等。而这些项目在过去靠手工操作,需要手工记录这些https://www.cloud.tencent.com/developer/article/1697988
11.电子图书馆(图书借阅系统):图书借阅管理的功能模块根据登录人员5.1 课程设计总结 5.2 心得体会 参考文献 致谢 电子图书馆(图书借阅系统) 介绍 图书借阅管理的功能模块根据登录人员的不同可分为普通用户和管理员。普通用户登录后可以查看所有图书、查询图书、查看最新的图书列表和自己的图书借阅记录。而管理员登录后不但可以进行关于图书的操作,还可以管理所有的普通用户,添加删除普通https://gitee.com/hehe8/library
12.C++课程设计(简单图书管理系统)6篇(全文)C++课程设计(简单图书管理系统) 第3篇 随着计算机技术的迅猛发展, 很多新的、高效的软件开发技术应运而生。《C++程序设计》就是应潮流与需求而发展起来的一门优秀的程序设计语言, 它受到许多计算机专业人士及程序设计人员的青睐,在很多高等院校中《C++程序设计》都被列为计算机专业教学体系中的一门重要的主干课。但https://www.99xueshu.com/w/fileiuknvdrv.html
13.SQL课程设计报告(图书借阅管理系统)系统标签: 图书借阅bookborrow续借bookreturn管理系统 数据库设计与管理课程设计报告题目:图书借阅管理系统专业:班级:姓名:学号:指导教师:**:1目录一、概述1、本课程设计的题目?22、小组成员?https://jz.docin.com/p-214362843.html
14.数据库课程设计报告—图书借阅管理系统.doc数据库课程设计报告—图书借阅管理系统,数据库课程设计报告(一) ——图书借阅管理系统本报告包含三部分,简要摘录参见下属。本文共42页,1.3万余字系统概述图书馆管理系统是一些单位不可缺少的部分,书籍是人类不可缺少的精神食粮,尤其对一些学校来说,尤其重要。所以图书馆管理系统应该能够为用户提供充足的信息和快捷的http://www.queshao.com/docs/34523/
15.关于图书管理员心得体会(精选13篇)能结构设计模块,设计报告的总体完成模块;在分工中,这也是我实际情况出发的。 首先,在系统的需求设计模块中,我和组长认真协调组织,和代码开发人员进行认真协调沟通,根据课程设计任务书的要求,结合课本上的图书信息管理系统案例和图书馆借相关书籍,在课堂上老师的指导下,完成了我们的图书信息管理系统的需求分析;在这个过程https://www.fwsir.com/xinde/html/xinde_20230507125650_2804722.html
16.山东大学数据库课程设计——在线图书馆管理系统附加实验报告这是用jsp写的一个在线图书馆管理系统,支持读者和图书信息的增删查改,也支持图书的借还等功能,还附加了详细的实验报告。项目和数据库直接分别导入到eclipse和MySQL中就可以用了。注意更改数据库中的密码 代码片段和文件信息 package com;import java.io.IOException;import javax.servlet.Filter;import javax.servlethttp://www.nz998.com/java/220303.html
17.图书馆管理系统课程设计报告书.doc下载文件名: 图书馆管理系统课程设计报告书.doc 附件大小: 269.5 KB 举报本内容 下载通道游客无法下载, 注册 登录 去充值 熟悉论坛请点击新手指南 下载说明 1.下载一个附件只会扣除您一次免流量下载次数或通用积分。 2.论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可(不会算多次https://bbs.pinggu.org/a-5241832.html
18.2022学院高度重视教育信息化,积极推进校园网络及信息资源建设。学院现有管理信息系统数据总量3070GB、上网课程数20门、电子图书4544册、线上音像视频79小时。通过第三方合作或直接采购第三方信息系统及服务的方式,积极拓展学院的信息资源,信息(资源)安全性更高,信息资源保障更有力。 http://xxgk.witpt.edu.cn/QinDan/JiaoXue/2023/1208/578.html
19.实训报告范文(精选10篇)二、课程设计报告内容 2.1 实训内容 本课程设计的题目是设计一个简化的图书管理系统。该系统从图书馆管理人员的角度出发,实现对图书信息、读者信息的浏览、添加、删除和查询,同时还可以对读者借书、还书过程进行操作和控制。设计内容主要包括系统分析、数据库、数据表的创建、系统各个窗体的布局及其编码实现。 https://mip.ruiwen.com/gongwen/baogao/196686.html
20.重建生态:价值与系统的力量——第七届中国教育创新年会11月启幕艺术统整式学习的两难抉择设计 张乐(蒲公英教育智库教育戏剧德育课教材主编) 以A为核心的STEAM课程设计 邓大非(“打开天空”STEAM课程研发总监) 学校课程群如何更好地进行顶层设计? 王旺(上海民办国际化学校教育集团课程负责人) 教师如何利用头脑风暴鼓励创新 待定 跨学科的项目如何管理 殷郡伟(常州市武进区https://sghexport.shobserver.com/html/toutiao/2020/08/26/250533.html
21.java图书管理系统(LibrarySystem)图书管理系统librarySystem(java) 上传者:liangheteng时间:2011-09-26 图书管理系统,library-management-system 本系统是一个基本的图书管理系统,严格按照数据库系统开发的设计流程实现。附带相应的技术文档,可以参考在此基础上进而开发更加完善的系统。- 上传者:xielongen时间:2011-11-22 https://www.iteye.com/resource/listen322-1308583