




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计报告 2011 2012 学年 第 二 学期 题 目 图书馆管理系统图书馆管理系统 专专 业业 计算机科学与技术计算机科学与技术 学学 生生 姓姓 名名 Mango C 班班 级级 学学 号号 指指 导导 教教 师师 张张 琳琳 指指 导导 单单 位位 计算机学院计算机科学与技术系计算机学院计算机科学与技术系 日日 期期 2012 6 11 2011 6 14 评分项评分项优秀优秀良好良好中等中等差差 遵守机房规章制度遵守机房规章制度 上机时的表现上机时的表现 学习态度学习态度 程序准备情况程序准备情况 程序设计能力程序设计能力 团队合作精神团队合作精神 评评 分分 细细 则则 课题功能实现情况课题功能实现情况 算法设计合理性算法设计合理性 用户界面设计用户界面设计 报告书写认真程度报告书写认真程度 内容详实程度内容详实程度 文字表达熟练程度文字表达熟练程度 回答问题准确度回答问题准确度 简简 短短 评评 语语 教师签名 教师签名 年年 月月 日日 评分等级评分等级备注备注 评分等级有五种 优秀 良好 中等 及格 不及格评分等级有五种 优秀 良好 中等 及格 不及格 一一 课题内容和要求课题内容和要求 对大量的图书信息 包括书名 作者 出版社 出版日期 ISBN 书号 等进行 增加 查询 保存等操作 实现如下功能 1 新增图书信息处理 从图书文件中读出各图书的相关信息 在此基础 上 增加新图书的相关信息 2 查询图书信息处理 分别按照书名 作者 出版社 出版日期 ISBN 书号 对单链表中的信息进行查询 其中 前四种为模糊查询 书号为精 确查询 3 删除图书信息 根据输入的 ISBN 查找图书链表 如果该图书不存在则 给出提示信息 否则 删除该图书 并显示删除后的所有图书信息 4 保存图书信息处理 将单链表中的图书信息保存到文件 5 退出 保存图书信息 并释放链表 二 需求分析二 需求分析 图书馆管理系统 读 出 各 图 书 的 相 关 信 息 新增图书信息删除图书信息保存图书信息 增 加 新 图 书 的 相 关 信 息 按照书名 作者 出 版社 出 版日期 书号查询 图书 不存 在则 给出 提示 信息 存在 删除 并显 示其 信息 根据输入的 ISBN 查找 图书 查询图书信息 三 概要设计三 概要设计 1 主要结构体 定义结构 typedef struct char number 10 书号 char name 20 书名 char author 20 作者 char publish 50 出版社 char time 20 出版时间 mbook typedef struct int count 书的本数 mbook book 100 mlibrary mlibrary library 2 主要函数流程图 1 查找函数 利用用借阅者或管理员输入的信息进行顺序查找并将找到的 书本信息输出 2 添加函数 在管理员指定的书目中插入其希望加入的书本及其信息 所找到的信息是否 完全一致 指针指向图书并显 示图书信息 不存在这本书 结束结束 输入信息编号或书 名或作者 开始 开始 结束 调用查找函数 以p1指向结点 动态申请空间 p2 空间指针的next 指向找到的位置 读入各个量的信息 所找到的是否是头 位置 Head p2 是 否 P3 next p1 建立P3 head p3指向下 一结点 否 P3 next p2 是 3 删除函数 将书本信息从书库中删除删除 开始 结束 读入名称 指针指头 名称不同 是否结束 是 指针p2 p1 p1指下一结点 否 是否为头部 否 head后 移一位 是 p2 next p1 next 否 4 保存文件函数 将最新的内容通过文件读写 从内存中保存到原文本文件中 开始 打开文件成功 指针指头 向文件中写入 各个量信息 信息间加空格 是 指针指下一结点 是否结束 否 结束 是 否 四 详细设计四 详细设计 include include include 定义结构 typedef struct char number 10 书号 char name 20 书名 char author 20 作者 char publish 50 出版社 char time 20 出版时间 mbook typedef struct int count 书的本数 mbook book 100 mlibrary mlibrary library 函数声明 void save void putin void lookup void searchname void searchauthor void searchpublish void searchtime void search void del void update 主函数 void main int a FILE fp if fp fopen library txt r NULL printf n 不能打开图书信息库 n fp fopen library txt w printf n 初始并重启 n library count 0 fwrite fclose fp return fread fread library book sizeof library book 0 library count fp fclose fp do system cls printf n n n n n t t t t 图书信息管理系统 t t t t n printf t t n printf t t t 1 图书信息录入 n printf t t t 2 图书信息浏览 n printf t t t 3 图书信息查询 n printf t t t 4 图书信息删除 n printf t t t 5 图书信息修改 n printf t t t 0 退出图书信息系统 n printf t t n printf t tPlease Enter Choose fflush stdin scanf d switch a case 1 putin break case 2 lookup break case 3 search break case 4 del break case 5 update break case 0 printf n n 退出 n n break default printf n 序号不对 n while a 0 save 子函数 void save 保存图书信息 FILE fp if fp fopen library txt w NULL printf n 不能保存图书信息 n return fwrite fwrite library book sizeof library book 0 library count fp void putin 定义录入函数 int y 1 system cls while y printf t 请输入书籍的书号 scanf s library book library count number printf t 请输入书名 scanf s library book library count name printf t 请输入作者名 scanf s library book library count author printf t 请输入出版社 scanf s library book library count publish printf t 请输入出版时间 scanf s library book library count time library count printf n 是否继续录入 1 继续 0 退出录入 fflush stdin scanf d if y 1 y 0 break save void lookup int i system cls printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 n for i 0 i library count i printf s t s t s t s t s n library book i number library book i name librar y book i author library book i publish library book i time fflush stdin getchar void searchname 定义按书名查询 char s2 20 int flag 1 i printf n 请输入要查询的书名 fflush stdin scanf s s2 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 n for i 0 i library count i if strcmp s2 library book i name 0 flag 0 printf s t s t s t s t s n library book i number library book i name librar y book i author library book i publish library book i time if flag printf cannot found fflush stdin getchar void searchauthor 定义按作者名查询 char s3 20 int flag 1 i printf 请输入要查询的书的作者 fflush stdin scanf s s3 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 n for i 0 i library count i if strcmp s3 library book i author 0 flag 0 printf s t s t s t s t s n library book i number library book i name librar y book i author library book i publish library book i time if flag printf cannot found fflush stdin getchar void searchpublish 定义按出版社名查询 char s4 20 int flag 1 i printf 请输入要查询的书的出版社 fflush stdin scanf s s4 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 n for i 0 i library count i if strcmp s4 library book i publish 0 flag 0 printf s t s t s t s t s n library book i number library book i name librar y book i author library book i publish library book i time if flag printf cannot found fflush stdin getchar void searchtime 定义按出版日期查询 char s5 20 int flag 1 i printf 请输入要查询的书的出版日期 fflush stdin scanf s s5 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 n for i 0 i library count i if strcmp s5 library book i time 0 flag 0 printf s t s t s t s t s n library book i number library book i name librar y book i author library book i publish library book i time if flag printf cannot found fflush stdin getchar void search 定义查询函数 int a system cls 进行清屏 printf t t n printf 开始查询 n printf t t t 1 按书名查询 n printf t t t 2 按作者查询 n printf t t t 3 按出版社查询 n printf t t t 4 按时间查询 n printf t t t 0 退出 n printf t t n printf t t 请选择 fflush stdin scanf d switch a case 1 searchname break case 2 searchauthor break case 3 searchpublish break case 4 searchtime break case 0 return void del 定义删除函数 char number 10 int i system cls 清屏 printf n Please type in the number of the book you want to delete fflush stdin scanf s number for i 0 i library count i if strcmp number library book i number 0 break if i library count for i library count 1 i strcpy library book i name library book i 1 name strcpy library book i number library book i 1 number strcpy library book i publish library book i 1 publish strcpy library book i author library book i 1 author strcpy library book i time library book i 1 time library count else printf n cannot found n save fflush stdin getchar void update 修改图书信息 char number 10 int i system cls 清屏 printf n Please type in the number of the book you want to delete fflush stdin scanf s number for i 0 i library count i if strcmp number library book i number 0 printf 图书号 t 图书名 t 作者名 t 出版社 t 出版日期 n printf s t s t s t s t s n library book i number library book i name library bo ok i author library book i publish library book i time break if i library count mbook book printf n t t 请输入修改后此图书的信息 n printf t 请输入图书号 scanf s book number printf t 请输入图书名 scanf s book name printf t 请输入作者名 scanf s book author printf t 请输入出版社 scanf s book publish printf t 请输入出版时间 scanf s book time strcpy library book i name book name strcpy library book i number book number strcpy library book i publish book publish strcpy library book i author book author strcpy library book i time book time save else printf n cannot found n fflush stdin getchar 五 测试数据及其结果分析五 测试数据及其结果分析 1 界面登入 2 信息录入完 信息浏览 3 信息查询按图书名查询 5 信息删除后 6 重新输入信息在修改 六 调试过程中的问题六 调试过程中的问题 1 分号在中文和搜狗输入法中格式不同 但只能在中文形式下编译 否则会 有编译错误 2 在 switch if while 语句中大括号不能任意缺少或增加 要保证一一对应 3 不能忽略 与 的区别 是赋值符号 而 是等于号 4 输入变量时忘记加地址
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025新购房贷款合同
- 酒业供货合同范本
- 水库整体出租合同范本
- 2025关于专业安全托管服务合同范本
- 销售人员人事合同范本
- 租用移动餐车合同范本
- 2025农产品交易合同模板
- 窗帘改造加工合同范本
- 物流公司销售合同范本
- 挂钩安装服务合同范本
- 2025至2030中国婚庆行业发展趋势分析与未来投资战略咨询研究报告
- 2025年职业病诊断医师资格考试(职业性化学中毒)历年参考题库含答案详解(5卷)
- 2025广西公需科目真题续集(附答案)
- (正式版)SH∕T 3548-2024 石油化工涂料防腐蚀工程施工及验收规范
- GA/T 1073-2013生物样品血液、尿液中乙醇、甲醇、正丙醇、乙醛、丙酮、异丙醇和正丁醇的顶空-气相色谱检验方法
- 第6章 经济与产业
- 麻醉与内分泌系统
- 任人处置的作文完整的
- 电线电缆拉丝及连续退火工艺
- 提高内镜中心内镜洗消合格率PDCA
- 《化学教育测量与评价》课程教学大纲
评论
0/150
提交评论