C语言图书管理系统课设报告

收藏

预览图
编号:65855362    类型:共享资源    大小:40.95KB    格式:DOCX    上传时间:2020-04-01 上传人:nscei****3.com IP属地:贵州
20
积分
关 键 词:
语言 图书 管理 系统 报告
资源描述:
程序设计语言程序设计语言 C 课程设计报告课程设计报告 题目 题目 图书管理系统图书管理系统 班级 班级 学号 学号 姓名 姓名 2016 年年 5 月月 12 日日 C 语言课程设计报告 第 3 页 目录目录 1 程序总体功能程序总体功能 2 新增功能新增功能 3 函数调用关系函数调用关系 4 主要算法流程图主要算法流程图 1 排序算法流程图 2 插入算法流程图 5 过程难点及解决方法过程难点及解决方法 6 附录 源程序附录 源程序 一 程序总体功能一 程序总体功能 本图书管理系统可以实现图书管理的基本功能 包括图书信息的录入 输出 排序 删除 查找及批量导入 导出等 图书属性信息包括书号 书名 第一作者 版次 出版年信息 二 新增功能二 新增功能 1 数据校验功能数据校验功能 即在程序运行之前对输入数据的有效性进行判断 若输入数据不合逻辑 则输出 数据输入有误 请核实后再输 不再执行后续程序 以此增加程序运行的效率 在本课程设计的删除记录功能中 按照要求输入要删除图书的书名后要接着输入书号来删 除图书 若所输入书号不在正确书号范围内 书号输入错误 将直接终止程序 不再执 行后续的删除程序 三 函数调用关系三 函数调用关系 函数说明函数说明 0 退出系统 1 数据输入函数 int Input Bookinfo books int n 2 数据输出函数 void Display Bookinfo books int n 3 删除记录函数 1 int Delete Bookinfo books int n char book 删除记录函数 2 int Delete a record Bookinfo books int n 4 排序函数 void Sort by name Bookinfo books int n 5 有序插入函数 1 int Insert Bookinfo books int n Bookinfo s 有序插入函数 2 int Insert a record Bookinfo books int n 6 数据查询函数 1 int Query Bookinfo books int n char book 数据查询函数 2 void Query a record Bookinfo books int n 7 从文件导入数据函数 int AddfromText Bookinfo books int n 8 记录数据写入文件函数 void WritetoText Bookinfo books int n 9 主菜单函数 int menu select 10 主函数 void main 函数调用关系 箭头指向被调用函数 函数调用关系 箭头指向被调用函数 1 数据输入函数 1 C 语言课程设计报告 第 5 页 2 3 4 5 6 7 8 0 主函数 10 主菜单函数 9 循环调用 数据查询函数 6 1 有序插入函数 5 1 删除记录函数 3 1 将记录数据写入文件函数 8 从文件导入数据函数 7 数据查询函数 6 2 有序插入函数 5 2 排序函数 4 删除记录函数 3 2 数据输出函数 2 退出系统 四 主要算法流程图四 主要算法流程图 1 排序算法 数组按书名升序排序 排序算法 数组按书名升序排序 已有结构体数组 Bookinfo books 及数组元素个数 n 定义整型量 i j p 定义结构体变量 l 开始 i 0 j 0 p 0 否 i n 1 是 p i j i 1 否 j n 1 C 语言课程设计报告 第 9 页 是 是 strcmp books k book s book 0 否 books k 1 s books k 1 books k k k 1 return n 1 五 过程难点及解决方法五 过程难点及解决方法 1 结构体定义及指向结构体变量的指针定义是新尝试 结构体定义及指向结构体变量的指针定义是新尝试 上机指导书用 typedef 定义了新的结构体类型 而这种定义方式上课时未讲 需要重新学 习这部分知识 并尝试使用 同时 指向结构体变量的指针也是新学习的知识 并首次使 用 2 变量的作用域及存储类别需严格区分 变量的作用域及存储类别需严格区分 结构体数组中的元素个数 n 主函数中用 m 接收函数返回的 n 值 需要在程序整个运行期间 始终存在 而在一开始运行程序期间未意识到这个问题 把 n 简单地定义成 int 型 导致 程序运行始终错误 在多次尝试后才意识到调用不同函数时 变量 n 应该保留上次函数调 用结束时的值 于是把 n 定义成全局变量 m 定义成静态局部变量 问题得以解决 3 从文件批量导入数据多次失败 从文件批量导入数据多次失败 自己首先新建了 Dictory 文本文档并输入了图书信息 然而从文本文档导入数据时却总 是得到一堆乱码 而不是正确的图书信息 最后经过和同学的讨论才得以找到原因 原来 是因为文本文档中的数据之间有空格 而写 scanf 函数时却忽略了空格 调整之后 程序 终于得以正常运行 4 函数之间调用关系复杂 函数之间调用关系复杂 本程序调用的函数众多 函数中符号众多 写函数需要非常细心认真 也正因如此 我的 程序在编译阶段出现了几十项错误 其中 C 语言课设 图书管理系统 cpp 174 error C2601 Delete local function definitions are illegal 这条错误出现 10 多次 查阅资料后才 意识到这是由我编写的函数程序中花括号缺失造成的 排查后才得以解决 这只是众多编写过程中问题及难点的部分展示 其他的问题也多是由于不细心造成的 此 处不再赘述 六 附录 源程序六 附录 源程序 图书管理系统 include include C 语言课程设计报告 第 11 页 include include typedef struct char ISBN 10 char book 30 char author 20 int edition char press 50 int year Bookinfo 定义结构体数组 Bookinfo books 500 定义含 500 个变量的结构体数组存放图书信息 int menu select 显示主菜单 int Input Bookinfo books int n 1 数据输入 void Display Bookinfo books int n 2 输出数据 int Delete a record Bookinfo books int n 3 删除记录 void Sort by name Bookinfo books int n 4 排序 int Insert a record Bookinfo books int n 5 有序插入 void Query a record Bookinfo books int n 6 查询数据 int AddfromText Bookinfo books int n 7 从文件中整批输入数据 void WritetoText Bookinfo books int n 8 将记录写到文件 static int n 0 void main 主函数 static int m 0 定义静态局部变量 for switch menu select case 1 m Input books n printf 现在共有 d 本书 n m system pause break case 2 Display books m system pause break case 3 Delete a record books m system pause break case 4 Sort by name books m system pause break C 语言课程设计报告 第 13 页 case 5 m Insert a record books m printf 现在共有 d 本书 n m system pause break case 6 Query a record books m system pause break case 7 m AddfromText books m printf 现在共有 d 本书 n m system pause break case 8 WritetoText books m system pause break case 0 printf 再见 欢迎再次光临图书管理系统 n system pause exit 0 int menu select 显示主菜单程序 char c do system cls printf n printf n printf n printf 欢迎光临图书管理系统 V30 0 n printf designed by lichenyang n printf Put into use in May 2016 n printf 1 Input records n printf 2 Display All Records n printf 3 Delete a Record n printf 4 Sort n printf 5 Insert a Record n printf 6 Query n printf 7 Add Record from a Text File n printf n printf n printf n printf 8 Write to a Text File n printf 0 Quit n printf Give your choice n C 语言课程设计报告 第 15 页 c getchar while c 8 return c 0 int Input Bookinfo books int n 1 数据输入函数 char c int i 0 printf please input the information of a book n printf The information of a book includes its ISBN name author edition press year n 版本请输入数字 for n 0 c e n i scanf s s s d s d books i ISBN books i book books i author printf Now you can input e to stop or coutinue to input the information n getchar c getchar printf 输入数据已终止 n return n void Display Bookinfo books int n 2 数据输出函数 int i char c c a 赋初值 for i 0 i ni printf s t s t t s t d t s t d n books i ISBN books i book books i author books i edition books i press books i year if i 10 0 getchar c getchar system pause C 语言课程设计报告 第 17 页 int Delete Bookinfo books int n char book 3 1 删除记录被调用函数 int i int j 1 用于后续判断 s 是否输入正确 char c char s 10 printf 以下是所有同名图书 n for i 0 i n i if strcmp book books i book 0 printf s s s d s d n books i ISBN books i book books i author books i edition bo oks i press books i year printf input the ISBN of the book you want to delete n scanf s s printf 确认删除吗 输入 Y 执行删除程序或者按任意键退出删除 n getchar c getchar if c y c Y for i 0 i n i if strcmp s books i ISBN 0 j i break if j i printf 数据输入有误 请核实后再输 n else for j n j books j books j 1 printf 删除数据成功 n return n 1 else return n int Delete a record Bookinfo books int n 3 2 删除记录 char b 30 char book b C 语言课程设计报告 第 19 页 char c int m printf please input the name of a book you want to delete n scanf s b printf 确认删除吗 输入 Y 执行删除程序或者按任意键退出删除 n getchar c getchar if c y c Y m Delete books n book return m void Sort by name Bookinfo books int n 4 按照书名升序排列 printf 已按照书名升序排列 返回 2 查看 n int i j p Bookinfo l for i 0 i n 1 i p i for j i 1 j 1 k if strcmp books k book s book 1 n n 1 return n C 语言课程设计报告 第 21 页 int Insert a record Bookinfo books int n 5 2 输入待插入的图书信息 调用 Insert 函 数 Bookinfo s Bookinfo p 定义指向结构体变量的指针 p int l printf please input the information of a book n printf Theinformationof a book includes its ISBN name author edition press year n scanf s s s d s d s ISBN s book s author l Insert books n p 函数调用 printf 插入数据成功 n printf 可重新返回 5 插入数据 n return l int Query Bookinfo books int n char book 6 1 查询图书数据的被调用函数 int i j for i 0 j 0 i 0 p q n Insert books n q 结构体数组名作函数参数 printf 从文件输入数据并有序插入成功 n fclose fp return n void WritetoText Bookinfo books int n 8 将数组记录全部写入文件 FILE fp int i 0 printf 即将把数据写入文件 请稍后 n fp fopen WritetoText txt w if fp NULL printf 创建文件失败 n exit 1 for i n i fprintf fp s t s t s t d t s t d n books i ISBN books i book books i author books i edit C 语言课程设计报告 第 25 页 ion books i press books i year printf 数据写入文件成功 请到文件中查看数据 n fclose fp
内容简介:
-
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:C语言图书管理系统课设报告
链接地址:https://www.renrendoc.com/p-65855362.html

官方联系方式

2:不支持迅雷下载,请使用浏览器下载   
3:不支持QQ浏览器下载,请用其他浏览器   
4:下载后的文档和图纸-无水印   
5:文档经过压缩,下载后原文更清晰   
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

网站客服QQ:2881952447     

copyright@ 2020-2025  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知人人文库网,我们立即给予删除!