欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    最新C语言编程--图书馆管理系统.doc

    • 资源ID:34717786       资源大小:435.50KB        全文页数:59页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    最新C语言编程--图书馆管理系统.doc

    Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateC语言编程-图书馆管理系统C语言编程-图书馆管理系统#include <iostream.h>#include <iomanip.h>#include <string.h>#include <fstream> /输入/输出文件流类using namespace std;const int Max1=100; /最大学生数const int Max2=100; /最大图书量const int Max3=100; /每个学生最多借2本书class student /学生类,实现对学生的信息的描述 private: int tb; /删除标记 1:已删 0:未删 int no; /学号 char name10; /学生姓名 char yuanxi15; /院系 int ex; int borbookMax3;/所借图书 public: student() char *get_name() return name; /获取姓名 char *get_yuanxi()return yuanxi; /获取院系 int get_tb() return tb; /获取删除标记 int get_no() return no; /获取学号 int getex()return ex; void set_name(char na) /设置学生姓名 strcpy(name,na); void set_yuan(char yu) /设置学生所在院系 strcpy(yuanxi,yu); void set_no(int n) /设置学号 no=n; void delbook() tb=1; /设置删除标记 1:已删 0:未删 void addstudent(int n,int ex1,char *na,char *yu)/增加学生信息 tb=0; no=n; ex=ex1; strcpy(name,na); strcpy(yuanxi,yu); for(int i=0;i<Max3;i+) borbooki=0; void borrowbook(int bookid)/借书操作 for(int i=0;i<ex;i+) if (borbooki=0) borbooki=bookid; return; int retbook(int bookid)/还书操作 for(int i=0;i<Max3;i+) if(borbooki=bookid) borbooki=0; return 1; return 0; void out()/输出学生信息 cout <<"学号:"<< setw(5) << no <<"姓名:"<<setw(10) << name<<"院系:"<<setw(10)<<yuanxi<<"最大借书量:"<<setw(10)<<ex<<"图书号:" for(int i=0;i<ex;i+) if(borbooki!=0) cout << borbooki << "|" cout << ""<<endl; ;/学生类库,用来建立学生的个人资料 class studentbase private: int top; /学生记录指针 student readMax1;/学生记录public: studentbase() /构造函数,将student.txt读到read中 student s; top=-1; fstream file("student.txt",ios:in);/打开一个输入文件 while (1) file.read(char *)&s,sizeof(s); if (!file)break; top+; readtop=s; file.close(); /关闭 student.txt void clear()/删除所有学生信息 top=-1; int addstudent(int n,int ex1,char *na,char *yu)/添加学生时先查找此学生信息是否存在 student *p=query(n); if (p=NULL) top+; readtop.addstudent(n,ex1,na,yu); return 1; return 0; student *query(int kid)/按编号查找学生 for (int i=0;i<=top;i+) if (readi.get_no()=kid && readi.get_tb()=0) return &readi; return NULL; void disp() /输出所有学生信息 for (int i=0;i<=top;i+)if (readi.get_tb()=0) readi.out(); void studentdata();/学生库维护 studentbase() /析构函数,将read写到student.txt文件中 fstream file("student.txt",ios:out); for (int i=0;i<=top;i+) if (readi.get_tb()=0) file.write(char *)&readi,sizeof(readi); file.close(); ;void studentbase:studentdata() char choice;int ex2; char rname20; char ryuan20; int kid; student *r; while (choice!='0') cout <<"nnttt学 生 资 料 库nnntt 1 新 增nntt 2 更 改nntt 3 删 除nntt 4 查 找nntt 5 显 示nntt 6 全 删nntt 0 退 出"<<endl; cin >> choice; switch (choice) case '1': cout << "输入学号:" cin >> kid; cout <<"输入最大借书量:" cin>>ex2; cout << "输入学生姓名:" cin >> rname; cout<<"输入学生所在院系:" cin>>ryuan; addstudent(kid,ex2,rname,ryuan); break; case'2': cout << "输入学号:" cin >> kid; r=query(kid); if (r=NULL) cout << " 没有该学生信息! "<<endl; break; cout << "输入新的学生姓名:" cin >> rname; r->set_name(rname); cout <<"输入新的学生院系:" cin >> ryuan; r->set_yuan(ryuan); break; case '3': cout << " 输入学号:" cin >> kid; r=query(kid); if (r=NULL) cout <<"没有该学生信息!" << endl; break; r->delbook(); break; case '4': cout << "输入学号:" cin >> kid; r=query(kid); if (r=NULL) cout <<"没有该学生信息!"<< endl; break; r->out(); break; case '5': disp(); break; case '6': clear(); break; default:cout<<"输入错误!请重新输入:"break; /图书类,实现对图书的描述,图书的编号,书名,作者,出版社,数量,借出,还入等class Bookprivate: int tb;/删除标记 1:已删 0:未删 int no;/图书编号 char name20;/书名 char zuozhe20;/作者 char chubanshe30;/出版社 int number;/图书数量 int onshelf;/是否再架 1:再架 2:已借public: Book() char *getname() return name; /获取书名 int getno() return no; /获取图书编号 char *getzuozhe()return zuozhe;/获取作者 char *getchubanshe()return chubanshe;/获取出版社 int getnumber()return number;/获取图书数量 int gettb() return tb; /获取删除标记 void setname(char na)/设置书名 strcpy(name,na); void setzuozhe(char zuo) /设置作者 strcpy(zuozhe,zuo); void setchubanshe(char chu) /设置出版社 strcpy(chubanshe,chu); void delbook() tb=1;/删除图书 void addbook(int n,char *na,char *zuo,char *chu)/增加图书 tb=0; no=n; strcpy(name,na); strcpy(zuozhe,zuo); strcpy(chubanshe,chu); 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 BDatabaseprivate: int top; /图书记录指针 Book bookMax2; /图书记录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+; booktop=b; file.close(); void clear()/全删 top=-1; int addbook(int n,char *na,char *zuo,char *chu)/增加图书 Book *p=query(n); if (NULL=p) top+; booktop.addbook(n,na,zuo,chu); return 1; return 0; Book *query(int bookid)/查找图书 for (int i=0;i<=top;i+) if (booki.getno()=bookid &&booki.gettb()=0) return &booki; return NULL; void bookdata();/图书库维护 void disp() for (int i=0;i<=top;i+) if (booki.gettb()=0) booki.disp(); BDatabase()/析构函数,将book写到book.txt文件中 fstream file("book.txt",ios:out); for (int i=0;i<=top;i+) if (booki.gettb()=0) file.write(char *)&booki,sizeof(booki); file.close(); ;void BDatabase:bookdata() char choice; char bname40; char bzuo40; char bchu40; int bookid; Book *b; while (choice!='0') cout <<"nnnttt图 书 资 料 库"<<endl<<endl; cout<<"tt1 新 增n tt2 更 改ntt3 删 除ntt4 查 找ntt5 显 示ntt6 全 删ntt0 退 出"<<endl; cin >> choice; switch (choice) case '1': cout << "请输入图书编号:"<<endl; cin >> bookid; cout << "请输入图书书名:"<<endl; cin >> bname; addbook(bookid,bname,bzuo,bchu); 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() 函数的实现,程序的主界面的引导void main() char choice; int bookid,kid; studentbase ReaderDB; student *r; BDatabase BookDB; Book *b; while(choice!='0') ge:cout <<endl<<endl<<"ttt 图 书 管 理 系 统nnn" cout <<"ttt1 学 生nnttt2 图 书 管 理 员nnttt0 离 开"<<endl; cin >> choice; switch (choice) case '1': int a; cout<<"ttt 请 选 择 操 作:"<<endl; cout<<"ttt1 借 书nnttt2 还 书nnttt3 查看借阅数目信息nnttt0 离 开"<<endl; cin>>a; switch(a) case 1: cout <<" 学号:" cin >>kid; cout <<" 图书编号: " cin >>bookid; r=ReaderDB.query(kid);/按编号查找 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<<" 学号:" cin >>kid; cout << " 图书编号:" cin >>bookid; r=ReaderDB.query(kid); 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: r->out(); case 0: goto ge; default: cout<<"请重新选择:"<<endl; case '2': int b,c; cout<<"请输入管理员密码:"<<endl; cin>>c; if(c=123456) cout<<"ttt 请 选 择 操 作:"<<endl; cout<<"ttt1 图 书 资 料 库nnttt2 学 生 资 料 库nnttt0 离 开"<<endl; cin>>b; switch(b) case 1: BookDB.bookdata(); break; case 2: ReaderDB.studentdata(); break; case 0: goto ge; default:cout<<"请重新选择:" else cout<<"密码不正确!"<<endl; break; -

    注意事项

    本文(最新C语言编程--图书馆管理系统.doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开