C语言图书信息管理系统_第1页
C语言图书信息管理系统_第2页
C语言图书信息管理系统_第3页
C语言图书信息管理系统_第4页
C语言图书信息管理系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1 苏州科技大学苏州科技大学 二二 一六一六 二 二 一七学年第一学期一七学年第一学期 电子与信息工程系 课程设计报告书 课程名称 课程名称 图书信息系统图书信息系统 班班 级 级 电子电子 1612 班班 学学 号 号 姓姓 名 名 张立进张立进 指导教师 指导教师 任建平任建平 二二 一一七七年年三三月月 2 1 1 题目 题目 图书信息系统 的设计与实现 2 2 功能 功能 1 每一条记录包括一个图书编号 图书名 作者名 出版社等 2 图书信息浏览功能 完成全部图书信息记录的显示和浏览 包括排序后 修改后 插入后 删除后信息改变的浏览 3 图书信息录入功能 完成对 图书编号 图书名 作者名 出版社 信 息的录入 4 图书信息修改功能 对图书信息进行修改并保存 5 图书信息查询功能 通过输入图书编号查找该图书 并显示该图书所有 信息 6 图书信息插入功能 通过输入某本图书编号进行图书信息的插入并保存 7 图书信息删除功能 完成删除图书的信息的功能 8 图书信息排序功能 按图书编号对图书进行从小到大重新排序 9 图书信息帮助功能 能够给用户提供所有函数的帮助功能 并作相应得 介绍 3 3 要求 要求 1 整个系统均用C语言实现 2 利用指针 链表来实现图书信息的数据结构设计 3 系统具有输入 显示 查询 删除 排序 插入 保存 读取基本功能 4 系统的各个功能模块都用函数的形式来实现 5 可以将图书信息保存在文件中 6 可以将图书信息从文件中读取出来 4 4 设计内容 设计内容 整个系统除了主函数外 另外还有 13 个函数 包括主函数在内 以实现 3 9 大功能 图书信息浏览功能 图书信息录入功能 图书信息修改功能 图书 信息查询功能 图书信息插入功能 图书信息删除功能 图书信息排序功能 图书信息帮助功能 退出系统功能 其功能流程图如下所示 主函数 main mainmenu void input 图书 信息 录入 void editbo ok 图书 信息 修改 void query book 图书 信息 查询 void delete book 图书 信息 删除 void insert book 图书 信息 插入 void sortbo ok 图书 信息 排序 图1 主菜单选择功能流程图 各个函数的详细设计说明分别如下 各个函数的详细设计说明分别如下 4 14 1 创建主函数创建主函数 voidvoid main main 该函数通过选择各选项 完成相应的功能 当选择退出选项时 退出循环 具体的选择项有 1 图书信息浏览功能 2 图书信息录入功能 3 图 书信息修改功能 4 图书信息查询功能 5 图书信息插入功能 6 图 书信息删除功能 7 图书信息排序功能 8 图书信息帮助功能 9 退出系统功能 void allinf ormat ion 图书 信息 浏 览 void help 帮助 stuct book 结构 体 4 4 24 2 结构体结构体 structstruct 定义了一个图书信息的结构体 包括 char author 20 char bookname 20 char publisher 20 int num 等 操作流程 1 进入主界面选择图书信息浏览 2 输出所有已存储的所有图书信息 3 退回主界面 4 34 3 编写浏览数据记录函数编写浏览数据记录函数 voidvoid allinformationallinformation 该函数可以通过选择相应的功能对已经输入并保存的所有的图书信息进行 浏览 并且退出后还能保存记录 以备下次浏览时信息没有丢失 操作流程 1 进入主界面选择图书信息浏览 2 输出所有已存储的所有图书信息 4 44 4 编写编写录入录入数据记录函数数据记录函数 inputbookinputbook 该函数可以添加新的图书信息 并且在退出后可以自动保存 当重新浏览 所有图书信息时 新添加的图书信息也在其中 且通过 if y 1 来判别是 1 录入 0 不录入 来实现是否继续录入的功能 操作流程 1 进入录入界面 2 输入相关信息 图书编号 名字 作者名 出版单位 保存退出 4 54 5 编写编写修改修改数据记录函数数据记录函数 editbookeditbook 该函数可以完成对已有的图书信息 图书编号 图书名 作者名 出版社 5 进行重新修改并加以保存 实现图书信息的修改 为以后的保存函数 浏览函 数 查询函数 排序函数 删除函数 修改函数等功能的实现提供了基础 操作流程 1 进入修改界面 2 修改所要修改的图书的编号 作者名等相关信息 4 64 6 编写编写查询查询数据记录函数数据记录函数 querybookquerybook 该函数运用for语句实现对图书编号信息的查找输出 并显示到屏幕上 实 现图书信息的查找功能 操作流程 1 进入查询界面 2 通过输入图书编号输出显示指定图书匹配信息 4 74 7 编写编写插入插入数据记录函数数据记录函数 insertbookinsertbook 通过void insertbook 插入函数来实现插入 先清屏system cls 然后通 过输入插入前图书编号后进行新图书信息的输入最终图书信息插入功能 退出 后自动保存可以再次浏览 操作流程 1 进入删除界面 2 输入所要删除的图书编号后自动删除 4 84 8 编写编写删除删除数据记录函数数据记录函数 deletebookdeletebook 该函数通过 void deletebook 删除函数来实现图书信息的删除 通过输 入图书编号查找到该图书之后删除 退出后再次浏览所有图书信息时便看不到 已删除的图书信息 操作流程 1 进入插入界面 6 2 输入所要插入位置的图书编号 然后插入新图书的相关信息 4 94 9 编写数据记录编写数据记录排序排序函数函数 voidvoid sortbook sortbook 该函数定义了 i j 运用冒泡法对图书信息进行排序 对图书的编号按照从 小到大的顺序来排序的 最好显示已排序好的的图书信息 操作流程 1 进入插入界面 2 输入所要插入位置的图书编号 然后插入新图书的相关信息 3 退回主界面 4 104 10 编写帮助函数编写帮助函数 voidvoid help help 该函数是简单的帮助功能 介绍了各个模块的功能 使用户快速了解该系统的 功能作用 具体代码如下 void help printf t 帮助 n printf 下方显示的是您所需的帮助信息 n printf n printf 如果选择1 则进入第一个选项 1 图 书 信 息 浏 览 完成全部图书信息记录的显示和浏览 包括排序后 修改后 插入后 删除后信息改变的浏览 n printf 如果选择2 则进入第二个选项 2 图 书 信 息 录 入 完成对图书号 图书名 作者名 出版社信息的录入 n printf 如果选择3 则进入第三个选项 3 图 书 信 息 修 改 对图书信息进行修改并保存 n printf 如果选择4 则进入第四个选项 4 图 书 信 息 7 查 询 通过输入图书编号查找该图书 并显示该图书所有信息 n printf 如果选择5 则进入第五个选项 5 图 书 信 息 插 入 通过输入某本图书编号进行图书信息的插入并保存 n printf 如果选择6 则进入第六个选项 6 图 书 信 息 删 除 完成删除图书的信息的功能 n printf 如果选择7 则进入第八个选项 7 图 书 文 件 排 序 按图书编号对图书进行从小到大重新排序 n printf 如果选择9 则进入第九个选项 8 帮 助 功 能 提供一些帮助给用户使用 以备更好的使用 n printf 如果选择0 则进入第零个选项 9 退 出 系 统 用来退出系统 以备下次再使用 n printf n n 请按任何键返回 谢谢 n fflush stdin getchar 5 5 调试分析调试分析 在此次的 C 语言程序设计中 我的程序开始有很多的错误 例如 error C2440 cannot convert from int to int 10 是我忽略不能把 整型转换成数组 插入功能出现插入信息后却浏览不到 后来在插入后面加了 一段保存文件的代码后 插入功能才得以实现 还有因为我的粗心把写文件写 成了读文件导致删除功能无法实现 经过我和其他同学反复的检查反复的修改 最终完成了 6 6 源程序源程序 include include include include define NULL 0 define a 100 int now 0 8 struct book char author 20 作者名 char bookname 20 图书名 char publisher 20 出版单位 char day 100 出版时间 float money 价格 int num 图书编号 struct book b a 系统主菜单 void mainmenu FILE fp1 fp2 int i system cls printf n 温馨提示 为保证您的操作得到保存 请按正常顺序退出系统 n printf n n printf t t n printf t t 欢迎使用图书信息管理系统 n printf t t n printf t t n printf t t 1 图书信息浏览 n printf t t n printf t t 2 图书信息录入 n printf t t n printf t t 3 图书信息修改 n printf t t n printf t t 4 图书信息查询 n printf t t n printf t t 5 图书信息插入 n printf t t n printf t t 6 图书信息删除 n printf t t n printf t t 7 图书信息排序 n printf t t n printf t t 8 帮助 n printf t t n printf t t 9 退出系统 n printf t t n 9 printf t t n printf 请输入您的选择 library txt 里面读出 now 的值 if fp2 fopen D library txt rb NULL fscanf fp2 d fclose fp2 b txt 里面读出一组数据的值 if fp1 fopen D b txt rb NULL for i 0 i now i fread fclose fp1 图书信息浏览 void allinformation int i char turn printf t 图书信息浏览 n printf 浏览所有图书信息 n printf 图书编号 t 图书名 t t 作者名 t t 出版单位 t t 出版时间 t t 价格 n n for i 0 i now i printf d t t s t t s t t s t t s t t s n n b i num b i bookname b i author b i publisher b i day b i money printf t 按任意键返回主菜单 返回主菜单 turn getch mainmenu 图书信息录入 void inputbook printf t 图书信息录入 n int i now FILE fp1 fp2 char turn judge do 10 printf 请输入添加第 d 本图书的信息 n i 1 printf n 请输入图书名 n scanf s b i bookname printf n 请输入图书编号 n scanf d printf n 请输入作者名 n scanf s b i author printf n 请输入出版单位 n scanf s b i publisher printf n 请输入出版时间 n scanf s b i day printf n 请输入价格 n scanf s b i money i now i library txt 里面写入 now 的值 if fp2 fopen D library txt wb NULL fprintf fp2 d now fclose fp2 printf 是否继续添加 y n n judge getch while judge n book txt 里面写入一组数据的值 if fp1 fopen D b txt wb NULL for i 0 i now i fwrite fclose fp1 else printf can not open the file n printf t 请按任意键返回 返回主菜单 turn getch mainmenu 图书信息修改 void editbook 11 FILE fp1 int i e num j char e author 10 e publisher 10 e bookname 10 judge turn struct book ebook printf t 图书信息修改 n do printf 请输入需要修改的图书编号 n scanf d for i 0 i now i if ebook num b i num 如果编号相同 说明图书存在 可以进行修改 printf n 图书编号 n scanf d printf n 图书名 n scanf s e bookname printf n 作者名 n scanf s e author printf n 出版单位 n scanf s e publisher printf n 出版时间 n scanf s e day printf n 价格 n scanf s e money b i num e num strcpy b i bookname e bookname strcpy b i author e author strcpy b i publisher e publisher strcpy b i publisher e day strcpy b i publisher e mony printf n 图书信息修改成功 请继续选择 n printf n n break if i now printf 没有此图书 n printf 是否继续修改下本图书 y n n judge getch b txt 里面写入一组数据的值 if fp1 fopen D b txt wb NULL 12 for j 0 j now j fwrite fclose fp1 else printf can not open the file n while judge n printf t 按任意键返回主菜单 turn getch mainmenu 图书信息查询 void querybook int number flag 1 i char judge turn printf t 图书信息查询 n printf 请输入要查询的图书编号 scanf d for i 0 i now i if number b i num flag 0 printf 图书编号 t 图书名 t t 作者名 t t 出版单位 t t 出版时间 t t 价格 n n printf d t t s t t s t t s t t s t s n n b i num b i bookname b i author b i publisher b i day b i money break if flag 0 printf 不能找到该图书信息 printf t 按任意键返回主菜单 turn getch mainmenu 图书信息插入 void insertbook 13 FILE fp2 fp1 int i j h char turn judge struct book ib printf t 图书信息插入 n do h now printf 请输入插入之前的图书编号 n scanf d for i 0 i i j b j 1 b j printf n 请输入图书名 n scanf s b i bookname printf n 请输入图书编号 n scanf d printf n 请输入作者名 n scanf s b i author printf n 请输入出版单位 n scanf s b i publisher printf n 请输入出版时间 n scanf s b i day printf n 请输入价格 n scanf s b i money break if i h printf 没有本图书 n printf 是否继续插入 y n n judge getch while judge n library txt 里面读出 now 的值 if fp2 fopen D library txt wb NULL fprintf fp2 d now fclose fp2 14 b txt 里面读出一组数据的值 if fp1 fopen D b txt wb NULL for i 0 i now i fwrite fclose fp1 printf t 按任意键返回主菜单 turn getch mainmenu 图书信息删除 void deletebook int number char turn int t now int i FILE fp2 fp1 system cls 清屏 printf t 图书信息删除 n printf n 请输入要删除的图书编号 scanf d for i 0 i now i if number b i num for i now 1 i strcpy b i bookname b i 1 bookname b i num b i 1 num strcpy b i publisher b i 1 publisher strcpy b i author b i 1 author printf n 删除图书文件成功 n now break if i t printf n 对不起 文件不能找到 n 15 library txt 里面读出 now 的值 if fp2 fopen D library txt wb NULL fprintf fp2 d now fclose fp2 b txt 里面读出一组数据的值 if fp1 fopen D b txt wb NULL for i 0 i now i fwrite fclose fp1 else printf can not open the file n printf t 按任意键返回主菜单 turn getch mainmenu 图书信息排序 void sortbook int i j char turn struct book cb printf t 图书信息排序 n for j 0 j now 1 j for i 0 ib i 1 num cb b i b i b i 1 b i 1 cb printf 图书排序 按照图书编号从小到大排序 n printf 编号 t t 图书名称 t t 图书作者 t t 图书出版社 t t 出版时间 t t 价格 n for i 0 i now i printf d t t s t t t s t t t s t t t s t t t s n n b i num b i bookname b i author b i publisher b i day b i money printf t 按任意键返回主菜单 turn getch 16 mainmenu 帮助 void help printf t 帮助 n printf 下方显示的是您所需的帮助信息 n printf n printf 如果选择 1 则进入第一个选项 1 图 书 信 息 浏 览 完成全部图 书信息记录的显示和浏览 包括排序后 修改后 插入后 删除后信息改变的浏览 n printf 如果选择 2 则进入第二个选项 2 图 书 信 息 录 入 完成对图书 号 图书名 作者名 出版社信息的录入 n printf 如果选择 3 则进入第三个选项 3 图 书 信 息 修 改 对图书信息 进行修改并保存 n printf 如果选择 4 则进入第四个选项 4 图 书 信 息 查 询 通过输入图 书编号查找该图书 并显示该图书所有信息 n printf 如果选择 5 则进入第五个选项 5 图 书 信 息 插 入 通过输入某 本图书编号进行图书信息的插入并保存 n printf 如果选择 6 则进入第六个选项 6 图 书 信 息 删 除 完成删除图 书的信息的功能 n printf 如果选择 7 则进入第八个选项 7 图 书 文 件 排 序 按图书编号 对图书进行从小到大重新排序 n printf 如果选择 9 则进入第九个选项 8 帮 助 功 能 提供一些帮助给用 户使用 以备更好的使用 n printf 如果选择 0 则进入第零个选项 9 退 出 系 统 用来退出系统 以 备下次再使用 n printf n n 请按任何键返回主菜单 谢谢 n getchar 结束 主程序 void main int n mainmenu scanf d while n switch n case 1 17 system cls allinformation break case 2 system cls inputbook break case 3 system cls editbook break case 4 system cls querybook break case 5 system cls insertbook break case 6 system cls deletebook break case 7 system cls sortbook break cas

温馨提示

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

评论

0/150

提交评论