图书管理系统(NM)课程设计.doc_第1页
图书管理系统(NM)课程设计.doc_第2页
图书管理系统(NM)课程设计.doc_第3页
图书管理系统(NM)课程设计.doc_第4页
图书管理系统(NM)课程设计.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象C+数据结构课程设计题 目: 图书管理系统(N:M) 系 别: 专业(含班级): 学 号: 姓 名: 指导教师: 职称 填表日期: 年 月 日一、 选题的依据及意义:过这次课程设计加深对面向对象C+和数据结构课程所学知识的理解。二、 本课程设计内容假定有n种书(n10,数量不定)和m个读者(m10,数量不定),每种书有书号、书名、作者、册数等信息,每个读者有学号、姓名、性别等信息,设计一图书管理系统实现图书的借阅与归还。要求:(1)从文件中读入图书信息和读者信息(格式如下)分别存结构体数组;学号 书号8001 10018001 10028002 10018002 10038003 1002学号 姓名 性别8001 李四 男8002 王五 女8003 赵六 男书号 书名 作者 册数1001 C程序设计 李时针 251002 数据库原理 王安石 301003 网络编程技术 赵匡胤 15(2)可增加借阅信息(册数减少),删除借阅信息(即归还,册数增加),退出后保存最新借阅信息(格式如上,可另存为);(3)主要界面如下所示。增加借阅信息请输入学号和书号:显示借阅信息学号 姓名 书号 书名8001 李四 1001 C程序设计8001 李四 1002 数据库原理8002 王五 1001 C程序设计8002 王五 1003 网络编程技术8003 赵六 1002 数据库原理图书管理系统1.显示图书信息2.显示读者信息3.显示借阅信息4.增加借阅信息5.删除借阅信息6.退出系统删除借阅信息请输入学号和书号:(4)最好VC下实现。(5)可能要用的函数:VC下stdlib.h头文件中定义的用于清屏的函数是system(CLS);三、 研究目标学会将面向对象C+与数据结构课程相关知识相结合,编制+语言程序,从而解决图书管理系统课题。面向对象C+数据结构课程设计实现方案#include #include #include #include #include stdlib.h#include stdio.h#include sqList2.h#include LinkList2.hclass tushu/图书类int sh,cs;char sm20,zz8;public:tushu(int sh1=0,char s=,int cs1=0,char zzs=)sh=sh1;strcpy(sm,s);cs=cs1;strcpy(zz,zzs);/构造函数,初始化operator tushu()return sh;/函数转换,对象按sh值用int operator!=(tushu x)return sh!=x.sh;/重载!=运算符int operator+()return +cs;/重载+运算符int operator-()return -cs;/重载+运算符friend ostream &operator(ostream& os,tushu ob)/只能友元osob.shtob.smtob.zztob.cs(istream& is,tushu& ob)/只能友元isob.sh;isob.sm;isob.zz;isob.cs;return is; class Stu/学生类int xh;char xm10;char sex6;/int yw,sx;public:Stu(int xh1=0,char s=,char ssex=)xh=xh1;strcpy(xm,s);strcpy(sex,ssex);operator Stu()return xh;/函数转换,对象按xh值用int operator!=(Stu x)return xh!=x.xh;/重载!=运算符/int operator(Stu x)return ywx.yw|(yw=x.yw&sxx.xh);/重载运算符friend ostream &operator(ostream&os,Stu ob)/只能友元osob.xht;osob.xmt;osob.sex(istream& is,Stu& ob)/只能友元isob.xh;isob.xm;isob.sex;return is; class book_stu/学生图书关系类int sh,xh;char xm8,sm20;public:book_stu(int sh1=0,int xh1=0,char xxm=,char ssm=)sh=sh1;xh=xh1;strcpy(xm,xxm);strcpy(sm,ssm);operator book_stu()return sh;/函数转换,对象按xh值用int operator(book_stu x)return shx.sh|(sh=x.sh&xhx.xh);/重载运算符int operator!=(book_stu x)return sh!=x.sh|xh!=x.xh;/重载!=运算符,有一个条件不等即为不等friend ostream &operator(ostream& os,book_stu ob)/只能友元osob.shtob.xhtob.xmtob.sm(istream& is,book_stu& ob)/只能友元isob.sh;isob.xh;isob.xm;isob.sm;return is;templatefriend void Show(List &T,List &S,List &T_S)int i,N=T_S.GetLen();cout学号 书号 姓名 书名endl;for(i=1;i=N;i+)/j=T_Si.sh;k=T.Locatej; Tk=TT.Locate(T_Si.sh); coutSS.Locate(T_Si.xh)TT.Locate(T_Si.sm)endl;templatefriend void Ins(List &L,List &T)/重载增加师生关系信息book_stu t;int i; while(cint)/修改教师学生数if(t!=0)L.InsElem(i=L.GetLen()+1,t);+TT.Locate(t.sh);else break;templatefriend void Del(List &L,List &T)/重载删除师生关系信息int i=0;book_stu t;/修改教师学生数while(cint)if(t!=0)L.DelElem(L.Locate(t),-TT.Locate(t.sh);else break; templateint Read(List &L,char file)/读学生或教师或师生关系信息Linkint i=0;char s80;ElemType t;ifstream fp(file);fp.getline(s,80);/读标题行while(fpt)if(!L.InsElem(+i,t)cout添加t失败!;fp.close();return i;templateint Save(List &L,char file,char bt)/读学生或教师或师生关系信息int i=1;ElemType t;ofstream fp(file);fpbtendl;/写标题行while(i=L.GetLen()fpLi+endl;fp.close();return i;templateint Ins(List &L)/增加学生或教师信息ElemType t; while(cint)if(t!=0)L.InsElem(L.GetLen()+1,t);else break;return L.GetLen();templateint Del(List &L)/删除学生或教师或师生关系信息int i=0;ElemType t;while(cint)if(t!=0)L.DelElem(L.Locate(t);else break;return L.GetLen();void main()char c=0;LinkList S;LinkList T;LinkList T_S;Read(S,Student.txt);Read(T,tushu.txt);Read(T_S,T_S.txt);while(c!=6&c!=27) /*按6或Esc(=27)退出*/cout *endl;coutt 图书管理系统tendl;coutt1.显示图书信息nt2.显示读者信息nt3.显示借阅信息nt4.增加借阅信息n;/coutt5.删除借阅信息nt6.退出系统(6或Esc)endl;/显示菜单信息cout *endl;c=getch();system(CLS);/清屏switch(c)case 1:cout书号t 书名tt 作者 册数endl;T.DispList(n);break; /显示教师信息case 2:cout学号t姓名 性别endl;S.DispList(n);break; /显示学生信息省略case 3:cout学号t书号t姓名t 书名endl;T_S.DispList(n);break; /显示师生关系信息case 4:cout请输入学号、书号、姓名、书名(增加):endl;Ins(T_S);break; /增加师生关系信息case 5:cout请输入学号、书号、姓名、书名(删除):endl;Del(T_S);break; /删除师生关系信息case 6:case 27:Save(S,Student.txt,学号 姓名 性别);Save(T,tushu.txt,书号 书名 作者 册数);Save(T_S,T_S.txt,学号 书号 姓名 书名);return; /*按6或Esc(=27)另存后退出*/cout按任意键返回主菜单e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论