图书管理系统课设报告.doc_第1页
图书管理系统课设报告.doc_第2页
图书管理系统课设报告.doc_第3页
图书管理系统课设报告.doc_第4页
图书管理系统课设报告.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

.C+程序设计课程设计说明书题 目图书信息管理系统学 号1467159228姓 名许闻杰指导教师郝斌日 期内蒙古科技大学课程设计任务书课程名称面向对象程序设计A课程设计设计题目图书信息管理系统指导教师郝斌时间一、教学要求1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。图书信息管理系统图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:v 图书信息录入功能(图书信息用文件保存)输入v 图书信息浏览功能输出v 查询或排序功能:(至少两种种查询方式)算法按书名查询 按作者名查询v 图书信息的删除与修改v 图书的借出与归还三、设计要求及成果1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版)四、进度安排第一天 选择课程设计题目,分析课题的要求第二天 编程第三天 编程及调试第四天 写课程设计报告第五天 提交课程设计报告(打印稿及电子稿)五、评分标准1. 根据平时上机考勤、表现和进度,教师将每天点名和检查2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。六、建议参考资料1C语言程序设计,谭浩强,清华大学出版社2C语言程序设计课程设计,刘振安,机械工业出版社目录第1章 需求分析3第2章 总体设计3第3章 类的设计33.1 类的设计33.2 类的设计4第4章 详细设计44.1 工程视图44.2 类图视图44.3 函数的调用关系54.4 主程序流程图54.5 主要算法的流程图5第5章 测试5第6章 总结5附录:程序代码6第1章 需求分析二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。图书信息管理系统图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。试设计一图书信息管理系统,使之能提供以下功能:v 图书信息录入功能(图书信息用文件保存)输入v 图书信息浏览功能输出v 查询或排序功能:(至少两种种查询方式)算法按书名查询 按作者名查询v 图书信息的删除与修改v 图书的借出与归还第2章 总体设计1. 用结构框图表示各个功能之间的关系。管理员登录系统模块菜单选择模块。菜单选择模块。菜单选择模块。菜单菜单选择模块。(1) 择模块。图书信息录入功能模块图书信息浏览功能模块图书信息查询功能模块图书信息的删除和修改图书信息管理系统2. 将框图中系统的各个功能用文字详细的描述。第3章 类的设计3.1 Book类的设计(第一个类)1.画出类图Class Book获取图书类型获取书名获取图书编号获取删除标志设置书名设置类型删除图书增加图书输出图书2.对类的函数成员的说明不用写出代码,用文字描述函数的首部/说明:输入什么参数;/进行什么操作;/返回什么结果;3.2 BDatabase类的设计(第二个类)Class BDatabase图书记录删除全部记录增加记录查找图书记录图书库(函数)第4章 详细设计4.1 工程视图说明有几个源代码文件,可以截取工程文件视图表示4.2 类图视图每个文件包含哪些类和函数,可以截图说明4.3 主程序流程图4.4 主要算法的流程图第5章 测试程序的运行结果截图。第6章 总结附录:#include#include#includeusing namespace std;#includeclass book protected:string isbn; string name;string writer;string publicer;string time;public:book()book(string a,string b,string c,string d,string e) isbn=a;name= b;writer=c;publicer=d;time=e; void change_name(string a) name=a; void change_isbn(string a) isbn=a;void change_writer(string a) writer=a;void change_publicer(string a) publicer=a;void change_time(string a) time=a; string get_name()return name;string get_isbn()return isbn;string get_writer()return writer;void display()coutisbn name writer publicer time=10) cout添加失败,内存已满!endl; else buffersum=a; sum+; cout添加新书目成功,以下是本书信息endl; void delete_by_name(book a) int flag=0; if(sum=0) cout删除失败,已经没有存档了!endl; else for(int i=0;isum;i+) if(bufferi.get_name()=a.get_name() cout删除书目成功,以下是删除的书信息endl; bufferi.display (); for(int j=i;jsum-1;j+) bufferj=bufferj+1; flag=1; sum-; break; if(!flag) coutthe book doest exist!endl; void search_by_name(string names) int flag=0; for(int i=0;isum;i+) if(bufferi.get_name()=names) bufferi.display (); flag=1; if(flag=0) coutthe book doest exist!endl; void search_by_isbn(string names) int flag=0; for(int i=0;isum;i+) if(bufferi.get_isbn()=names) bufferi.display (); flag=1; if(flag=0) coutthe book doest exist!endl; void search_by_writer(string names) int flag=0; for(int i=0;isum;i+) if(bufferi.get_writer()=names) bufferi.display (); flag=1; if(flag=0) coutthe book doest exist!endl; void change_isbns(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_isbn(isn); void change_names(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_name(isn); void change_writers(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_writer(isn); void change_publicers(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_publicer(isn); void change_times(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_time(isn); void display_all() for(int i=0;isum;i+) bufferi.display (); void read() FILE *fp; if(fp=fopen(C:UsersfeiDesktop图书馆.txt,rb+)=NULL)/注意路径 cout文件打开失败n; system(PAUSE); exit(0); fread(&sum,4,1,fp);for(int i=0;isum;i+) fread(&bufferi,sizeof(bufferi),1,fp);fclose(fp); void write() FILE *fp2; if(fp2=fopen(C:UsersfeiDesktop图书馆.txt,wb+)=NULL)/注意路径 cout文件打开失败n; system(PAUSE); exit(0); fwrite(&sum,4,1,fp2); for(int i=0;isum;i+)fwrite(&bufferi,sizeof(bufferi),1,fp2); fputc(EOF,fp2); fclose(fp2); ;/主函数int main() manager worker;char function=0;/worker.read ();/界面while (function!= 6)for(int i=0;i34;i+) cout*;coutendl;cout欢迎使用本图书管理系统,请选择操作nendl;cout1 创建新书目endl;cout2 删除书目endl;cout3 查询书目endl;cout4 修改信息endl;cout5 显示所有藏书endl; cout6 退出系统并保存修改function; if(function=1) string a,b,c,d,e;cout请输入书的isbn编号a;cout请输入书名b;cout请输入书作者名c;cout请输入书的出版社d;cout请输入书的出版时间e;book newbook(a,b,c,d,e);worker.add(newbook);newbook.display();system(PAUSE);system(CLS); else if(function=5)cout这是所有藏书:endl;worker.display_all ();system(PAUSE);system(CLS);else if(function=2) string a; cout请输入要删除的书名a;book del( ,a, , , );worker.delete_by_name (del);system(PAUSE); system(CLS); else if(function=3) cout请选择查询方式endl; cout1 按ISBN查询endl; cout2 按书名查询endl; cout3 按作者查询j; if(j=1) cout请输入ISBN号search; cout以下是查询结果endl; worker.search_by_isbn (search); system(PAUSE); system(CLS); else if(j=2) cout请输入书名search; cout以下是查询结果endl; worker.search_by_name (search); system(PAUSE); system(CLS); else if(j=3) cout请输入作者名search; cout以下是查询结果endl; worker.search_by_writer (search); system(PAUSE); system(CLS); else cout输入错误,请重新操作!endl; system(PAUSE); system(CLS); elseif(function=4) cout请输入要修改的书的名字changes; cout以下是欲修改目标现在的信息endl; worker.search_by_name (changes); cout请选择下一步endl; cout1 继续修改endl; cout2 返回首页choose; if(choose=1) cout请选择要修改的选项endl; cout1 修改ISBN编号endl; cout2 修改书名endl; cout3 修改作者endl; cout4 修改出版社endl; cout5 修改出版时间c; if(c=1) string news; cout请输入新的ISBN号码news; worker.change_isbns(changes,news); cout修改成功!endl; system(PAUSE); system(CLS); else if(c=5) string news; cout请输入新的出版时间news; worker.change_times(changes,news); cout修改成功!endl; system(PAUSE); system(CLS); else if(c=2) string news; cout请输入新的书名news; worker.change_names(changes,news); cout修改成功!endl; system(PAUSE); system(CLS); else if(c=3) string news; cout请输入新的作者news; worker.change_writers(changes,news); cout修改成功!endl; system(PAUSE); system(CLS); else if(c=4) string news; cout请输入新的出版社news; worker.change_publicers(changes,news); cout修改成功!endl; system(PAUSE); system(CLS); else cout输入错误,请重新操作!endl; system(PAUSE); system(CLS); else system(CLS); else if(function=6);elsecout输入错误,请重新选择!endl; system(PAUSE); system(CLS);/退出系统 system(CLS);/ worker.write (); for(int i=0;i8;i+) cout endl; for(int i=0;i55;i+) cout*; coutendl; cout您已退出本图书管理系统,您的修改已经保存,欢迎再次使用!endl; for(int i=0;i55;i+) cout*; coutendl; system(PAUSE); exit(0);#include#include#includeusing namespace std;#includeclass book protected:string isbn; string name;string writer;string publicer;string time;public:book()book(string a,string b,string c,string d,string e) isbn=a;name= b;writer=c;publicer=d;time=e; void change_name(string a) name=a; void change_isbn(string a) isbn=a;void change_writer(string a) writer=a;void change_publicer(string a) publicer=a;void change_time(string a) time=a; string get_name()return name;string get_isbn()return isbn;string get_writer()return writer;void display()coutisbn name writer publicer time=10) cout添加失败,内存已满!endl; else buffersum=a; sum+; cout添加新书目成功,以下是本书信息endl; void delete_by_name(book a) int flag=0; if(sum=0) cout删除失败,已经没有存档了!endl; else for(int i=0;isum;i+) if(bufferi.get_name()=a.get_name() cout删除书目成功,以下是删除的书信息endl; bufferi.display (); for(int j=i;jsum-1;j+) bufferj=bufferj+1; flag=1; sum-; break; if(!flag) coutthe book doest exist!endl; void search_by_name(string names) int flag=0; for(int i=0;isum;i+) if(bufferi.get_name()=names) bufferi.display (); flag=1; if(flag=0) coutthe book doest exist!endl; void search_by_isbn(string names) int flag=0; for(int i=0;isum;i+) if(bufferi.get_isbn()=names) bufferi.display (); flag=1; if(flag=0) coutthe book doest exist!endl; void search_by_writer(string names) int flag=0; for(int i=0;isum;i+) if(bufferi.get_writer()=names) bufferi.display (); flag=1; if(flag=0) coutthe book doest exist!endl; void change_isbns(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_isbn(isn); void change_names(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_name(isn); void change_writers(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_writer(isn); void change_publicers(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_publicer(isn); void change_times(string nam,string isn) for(int i=0;isum;i+) if(bufferi.get_name()=nam) bufferi.change_time(isn); void display_all() for(int i=0;isum;i+) bufferi.display (); void read() FILE *fp; if(fp=fopen(C:UsersfeiDesktop图书馆.txt,rb+)=NULL)/注意路径 cout文件打开失败n; system(PAUSE); exit(0); fread(&sum,4,1,fp);for(int i=0;isum;i+) fread(&bufferi,sizeof(bufferi),1,fp);fclose(fp); void write() FILE *fp2; if(fp2=fopen(C:UsersfeiDesktop图书馆.txt,wb+)=NULL)/注意路径 cout文件打开失败n; system(PAUSE); exit(0); fwrite(&sum,4,1,fp2); for(int i=0;isum;i+)fwrite(&bufferi,sizeof(bufferi),1,fp2); fputc(EOF,fp2); fclose(fp2); ;/主函数int main() manager worker;char function=0;/worker.read ();/界面while (function!= 6)for(int i=0;i34;i+) cout*;coutendl;cout欢迎使用本图书管理系统,请选择操作nendl;cout1 创建新书目endl;cout2 删除书目endl;cout3 查询书目endl;cout4 修改信息endl;cout5 显示所有藏书endl; cout6 退出系统并保存修改function; if(function=1) string a,b,c,d,e;cout请输入书的isbn编号a;cout请输入书名b;cout请输入书作者名c;cout请输入书的出版社d;cout请输入书的出版时间e;book newbook(a,b,c,d,e);worker.add(newbook);newbook.display();system(PAUSE);system(CLS); else if(function=5)cout这是所有藏书:endl;worker.display_all ();system(PAUSE);system(CLS);else if(function=2) string a; cout请输入要删除的书名a;book del( ,a, , , );worker.delete_by_name (del);system(PAUSE); system(CLS); else if(function=3) cout请选择查询方式endl; cout1 按ISBN查询endl; cout2 按书名查询endl; cout3 按作者查询j; if(j=1) cout请输入ISBN号search; cout以下是查询结果endl; worker.search_by_isbn (search); system(PAUSE); system(CLS); else if(j=2) cout请输入书名search; cout以下是查询结果endl; worker.search_by_name (search); system(PAUSE); system(CLS); else if(j=3) cout请输入作者名search; cout以下是查询结果endl; worker.search_by_writer (search); system(PAUSE); system(CLS); else cout输入错误,请重新操作!endl; system(PAUSE); system(CLS); elseif(function=4) cout请输入要修改的书的名字changes; cout以下是欲修改目标现在的信息endl; worker.search_by_name (

温馨提示

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

评论

0/150

提交评论