已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课课 程程 报报 告告 课课 程程 名名 称 称 程序设计实践程序设计实践 专专 业业 班班 级级 信息类信息类 10061006 班班 学学 生生 姓姓 名名 杜杜 威威 科科 学学 号号 2 2 任任 课课 教教 师师 徐徐 振振 强强 学学 期期 2010 20112010 2011 学年第二学期学年第二学期 课程报告任务书课程报告任务书 题题 目目 图书信息管理系统图书信息管理系统 主要主要 内容内容 开发一个图书信息管理系统 图书信息包括 图书编号 书名 作者 出版社 类 别 出版时间 价格等基本信息 也可以根据自己情况进行扩充 比如是否借出 库存量等 使之能提供以下基本功能基本功能 1 图书信息录入功能 图书信息用文件保存 输入 2 图书信息浏览功能 输出 3 查询功能 至少一种查询方式 排序功能 至少一种排序方式 按书名查询 按作者名查询 按照价钱排序 按出版时间排序等等 4 图书信息的删除与修改 扩展功能扩展功能 可以按照自己的程度进行扩展 比如 1 简单的权限处理 2 报表打 印功能 3 甚至根据自己情况 可以加上学生信息 并扩充为图书借阅系统 4 模糊查询 5 综合查询 6 统计功能 比如统计处某一类别的图书信息 或 筛 选出小于指定数量库存的图书信息等等 总之 可以根据自己需求进行分析功能 任务任务 要求要求 一 提交材料应包括 1 系统源代码 2 课程报告 二 整个设计过程具体要求 1 需求分析需求分析 要求学生对案例系统进行分析 设计出需要完成的功能 完 善各个模块的调用关系 2 设计过程设计过程 要求学生进一步明确各模块调用关系 进一步完善模块函数细 节 函数名 参数 返回值等 3 实现过程实现过程 要求学生养成良好的编码习惯 完成各个模块并进行测试 最 终完成系统整体测试 4 总结阶段总结阶段 按照要求完成系统设计和实现报告 并进行总结 答辩 报告撰写情况 报告撰写情况 30 分 分 系统完成情况 系统完成情况 30 分 分 答辩情况 答辩情况 40 分 分 内容内容 2020 分分 规范程度规范程度 5 5 分分 程序测试程序测试 5 5 分分 基本功能基本功能 2020 分分 扩展功能扩展功能 1010 分分 自述情况自述情况 1010 分分 答辩情况答辩情况 3030 分分 成绩成绩 评定评定 总分总分 成绩评定教师 成绩评定教师 1 需求分析 针对一般图书管理信息系统的需求 通过对图书管理信息工作的实际分析 设计出如下 的图书信息 图书编号 图书名字 图书作者 图书出版社 图书价格 五个基本信息 由 于图书的其他信息在程序上实现的过程基本相同 所以选出最具代表性的集中图书信息作为 程序设计实践的数据 2 概要设计 1 系统程序结构系统程序结构 主函数 main 通过调用 int choiceuser 用户选择访问身份 int admmenu 管 理员的功能选择 int visitormenu 访客的功能选择 void creat 录入图书 void browsebook 浏览图书 void updatebook 修改图书信息 void deletebook 删除图书 void sortbook 排序图书 void querybook 查询图书 void export 导出所需的图书信息 void fuzzyquery 模糊查询图书信息 特色功能 以及这些函数分别又再次调用其所属子函数 实现图书管理系统的图书信息的录入 显示 修改 删除 排序 查询 导出 特别是模糊查询等功能 2 系统宏定义 调用函数 结构体如下 系统宏定义 调用函数 结构体如下 define BI 10 bookid 定义图书编号长为 10 define BN 31 bookname 定义图书名字长为 15 个字 define BA 11 bookname 定义图书作者长为 5 个字 define BP 25 bookpublisher 定义图书出版社长为 12 个字 typedef struct book char id BI id 定义为字符型防止定义为整形是 id 超出取值范围 char name BN char author BA char publisher BP double price struct book next Book 自定义类型 Book int choiceuser 用户选择访问身份 int admmenu 管理员的功能选择 int visitormenu 访客的功能选择 void showfile void creat 录入图书 void browsebook 浏览图书 int judgeclass 判断 classes 是否为空 int openclass char booktype 打开 class 并且读出 booktype Book filetolink char booktype 从图书类型文件中读出数据到链表 void updatebook 修改图书信息 void deletebook 删除图书 Book deletebyid Book head char id 按图书编号删除 Book deletebyname Book head char name 按图书名字删除 Book deletebyauthor Book head char author 按图书作者删除 void deletebybooktype 删除图书类型 谨慎使用 void sortbook 排序图书 Book sortbyid Book head Book sortbyname Book head Book sortbyauthor Book head Book sortbyprice Book head void querybook 查询图书 Book querybyid Book head Book querybyname Book head Book querybyauthor Book head void export 导出所需的图书信息 void directexport Book head void exportaftersortbyid Book head void exportaftersortbyname Book head void exportaftersortbyauthor Book head void exportaftersortbyprice Book head void fuzzyquery 模糊查询图书信息 特色功能 void fuzzyquerybyid Book head 按图书编号模糊查询 void fuzzyquerybyname Book head 按图书名字模糊查询 void fuzzyquerybyauthor Book head 按图书作者模糊查询 void fuzzyquerystackroom 模糊查询书库 3 程序总体框架程序总体框架 图书录入 新建或者添加图书信息图书录入 新建或者添加图书信息 主函数主函数 mainmain 选择访客身份选择访客身份选择管理员身份选择管理员身份 三次机会输入密码三次机会输入密码 回到用户菜单回到用户菜单 退出系统退出系统 管理员菜单管理员菜单访客菜单访客菜单 修改图书 先调用先查询函数 后修改修改图书 先调用先查询函数 后修改 导出图书 排序后或直接导出到导出图书 排序后或直接导出到 D 盘文盘文 件件 查询图书 按编号 名字 作者查询查询图书 按编号 名字 作者查询 排序图书 按编号排序图书 按编号 名字名字 作者作者 价格价格 排排 序序 删除图书 按编号 名字 作者删除删除图书 按编号 名字 作者删除 查看图书 显示所有图书类型的信息查看图书 显示所有图书类型的信息 模糊查询模糊查询 按编号 名字 作者模糊查 按编号 名字 作者模糊查 询询 3 详细设计 main 主函数 Book head NULL int choice if choiceuser while choice admmenu switch choice case 1 creat break case 2 browsebook break case 3 deletebook break case 4 sortbook break case 5 updatebook break case 6 querybook break case 7 export break case 8 fuzzyquery break case 9 fuzzyquerystackroom break default printf n 您输入的数据无效 请按任意键继续 getch break else while choice visitormenu switch choice case 1 browsebook break case 2 sortbook break case 3 querybook break case 4 export break case 5 fuzzyquery break case 6 fuzzyquerystackroom break default printf n 您输入的数据无效 请按任意键继续 getch break printf 您已经退出本系统 欢迎再次使用 n void deletebook 删除图书的主调用函数 FILE fbtype char booktype 20 id BI name BN author BA id0 BI int n 1 i Book head p if judgeclass 0 return if openclass booktype 0 return head filetolink booktype if head NULL return printf t 删除图书 n n printf t t t0 退出删除图书 n n t t t1 按图书编号删除 n n printf t t t2 按图书名字删除 n n t t t3 按图书作者删除 n n printf t t t4 按图书类型删除 谨慎使用 n n printf t n n printf 请选择您要删除图书方式的代号 scanf d getchar switch i case 0 break case 1 printf n 输入图书编号为 0 时退出删除 n n printf 请输入你要删除的图书编号 scanf s id getchar while strcmp id 0 0 switch strlen id case 1 strcpy id0 0000 strcpy id strcat id0 id break case 2 strcpy id0 000 strcpy id strcat id0 id break case 3 strcpy id0 00 strcpy id strcat id0 id break case 4 strcpy id0 0 strcpy id strcat id0 id break case 5 break default printf 你输入的图书编号过长 请按任意键结束 getch return head deletebyid head id if head NULL printf 该类型中的图书信息已经完全删除 请回车继续 getchar break printf 请输入你要删除的图书编号 scanf s id getchar break case 2 printf n 输入图书名字为 0 时退出删除 n n printf 请输入你要删除的图书名字 scanf s name getchar while strcmp name 0 0 head deletebyname head name if head NULL printf 该类型中的图书信息已经完全删除 请回车继续 getchar break printf 请输入你要删除的图书名字 scanf s name getchar break case 3 printf n 输入图书作者为 0 时退出删除 n n printf 请输入你要删除的图书作者 scanf s author getchar while strcmp author 0 0 head deletebyauthor head author if head NULL printf 该类型中的图书信息已经完全删除 请回车继续 getchar break printf 请输入你要删除的图书作者 scanf s author getchar break case 4 deletebybooktype return default printf 您输入的数据无效 请按任意键继续 getch return 删除图书后存入文件 if fbtype fopen booktype wb NULL printf 该类型图书信息由于某种原因无法删除 请回车以继续 getchar return p head while p fwrite p sizeof Book 1 fbtype p p next fclose fbtype void sortbook 排序图书的主调用函数 char booktype 20 int n 1 i Book head if judgeclass 0 return if openclass booktype 0 return head filetolink booktype if head NULL return printf n t 排序图书 n n printf t t t0 退出排序图书 n n t t t1 按图书 编号 排序 n n printf t t t2 按图书 名字 排序 n n t t t3 按图书 作者 排序 n n printf t t t4 按图书 价格 排序 n n printf t n n printf 请选择您要排序图书方式的代号 scanf d getchar switch i case 0 break case 1 sortbyid head break case 2 sortbyname head break case 3 sortbyauthor head break case 4 sortbyprice head break default printf 您输入的数据无效 按任意键继续 getch break void querybook 查询图书的主调用函数 char booktype 20 int n 1 i Book head if judgeclass 0 return if openclass booktype 0 return head filetolink booktype if head NULL return printf n t 查询图书 n n printf t t t0 退出查询图书 n n t t t1 按图书编号查询 n n printf t t t2 按图书名字查询 n n t t t3 按图书作者查询 n n printf t n n printf 请选择您要查询图书方式的代号 scanf d getchar switch i case 0 break case 1 querybyid head break case 2 querybyname head break case 3 querybyauthor head break default printf 您输入的数据无效 按任意键继续 getch break void export 导出图书的主调用函数 char booktype 20 int i Book head if judgeclass 0 return if openclass booktype 0 return head filetolink booktype if head NULL return printf n t 导出图书信息 printf n n printf t t t0 退出导出图书信息 n n printf t t t1 直接导出该类型的图书信息 n n printf t t t2 按图书 编号 排序后导出 n n printf t t t3 按图书 名字 排序后导出 printf n n t t t4 按图书 作者 排序后导出 n n printf t t t5 按图书 价格 排序后导出 n n printf t printf n n printf 说明 导出信息将自动保存在 D 盘 图书馆管理系统 文件夹下 printf 导出信息以文本形式存放 为保证你导出的图书信息有效 printf 请及时移出该文件夹 n n printf 请选择您要导出图书信息方式的代号 scanf d getchar 自动创建文件夹 mkdir D 图书馆管理系统 switch i case 0 break case 1 directexport head break case 2 exportaftersortbyid head break case 3 exportaftersortbyname head break case 4 exportaftersortbyauthor head break case 5 exportaftersortbyprice head break default printf 您输入的数据无效 按任意键继续 getch break void fuzzyquery 特色功能 模糊查询图书信息 char booktype 20 int i Book head if judgeclass 0 return if openclass booktype 0 return head filetolink booktype if head NULL return printf n t 模糊查询 特色功能 printf n n printf t t t0 退出模糊查询 n n t t t1 按图书 编号 模糊查询 n n printf t t t2 按图书 名字 模糊查询 n n printf t t t3 按图书 作者 模糊查询 n n printf t n n printf 请选择您要模糊查询图书方式的代号 scanf d getchar switch i case 0 break case 1 fuzzyquerybyid head break case 2 fuzzyquerybyname head break case 3 fuzzyquerybyauthor head break default printf 您输入的数据无效 按任意键继续 getch break 4 调试分析 1 测试数据 测试数据 图书编号 图书名字 图书作者 图书出版社 图书价格 00230 程序设计 何钦铭 高等教育出版社 23 30 00210 大学物理 罗益民 北京邮电大学出版社 58 00 20010 计算机组装与维护 秦杰 清华大学出版社 32 00 01030 工程数学线性代数 同济大学 高等教育出版社 15 10 03010 高等数学上册 同济大学 高等教育出版社 30 30 02030 高等数学下册 同济大学 高等教育出版社 25 90 00002 大学体育教程 丁英俊 河南人民出版社 28 80 00030 c 程序设计上机指导 谭浩强 清华大学出版社 21 00 00401 大学英语读
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店保安员岗位责任制度
- 2026年及未来5年市场数据中国硅酸盐水泥行业市场深度研究及投资战略规划报告
- 2026年上半年葫芦岛市教育局赴高等院校招聘教师(东北师范大学站)考试备考试题及答案解析
- 2026陕西西安经开第十九小学合同制教师招聘考试参考题库及答案解析
- 欠款清偿约定离婚协议书
- 四川职业技术学院2026年上半年公开招聘事业编制工作人员(30人)笔试备考试题及答案解析
- 2026四川眉山市丹棱县就业服务中心城镇公益性岗位安置7人笔试参考题库及答案解析
- 2026年聊城市竞技体育学校公开招聘工作人员(2人)考试参考题库及答案解析
- 水下钻井设备操作工岗前安全技能考核试卷含答案
- 连铸工岗前班组协作考核试卷含答案
- 周围血管与淋巴管疾病第九版课件
- 付款计划及承诺协议书
- 王君《我的叔叔于勒》课堂教学实录
- 中山大学教师考核实施办法
- CTQ品质管控计划表格教学课件
- 沙库巴曲缬沙坦钠说明书(诺欣妥)说明书2017
- GB/T 42449-2023系统与软件工程功能规模测量IFPUG方法
- GB/T 5781-2000六角头螺栓全螺纹C级
- 卓越绩效管理模式的解读课件
- 枇杷病虫害的防治-课件
- 疫苗及其制备技术课件
评论
0/150
提交评论