C语言课程设计图书管理系统1

上传人:公**** 文档编号:552654851 上传时间:2022-11-24 格式:DOC 页数:29 大小:681.53KB
返回 下载 相关 举报
C语言课程设计图书管理系统1_第1页
第1页 / 共29页
C语言课程设计图书管理系统1_第2页
第2页 / 共29页
C语言课程设计图书管理系统1_第3页
第3页 / 共29页
C语言课程设计图书管理系统1_第4页
第4页 / 共29页
C语言课程设计图书管理系统1_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《C语言课程设计图书管理系统1》由会员分享,可在线阅读,更多相关《C语言课程设计图书管理系统1(29页珍藏版)》请在金锄头文库上搜索。

1、课 程 报 告课 程 名 称: 程序设计实践 专 业 班 级 : 学 生 姓 名 : * 学 号 : 20104683* 任 课 教 师 : 学 期 :2010-2011学年第二学期 课程报告任务书题 目图书信息管理系统主要内容开发一个图书信息管理系统,图书信息包括:图书编号、书名、作者、出版社、类别、出版时间、价格等基本信息(也可以根据自己情况进行扩充,比如是否借出、库存量等)。使之能提供以下基本功能:(1)图书信息录入功能(图书信息用文件保存)输入v(2)图书信息浏览功能输出(3)查询功能(至少一种查询方式)、排序功能(至少一种排序方式): l 按书名查询 按作者名查询 按照价钱排序 按出

2、版时间排序等等(4)图书信息的删除与修改扩展功能:可以按照自己的程度进行扩展。比如(1)简单的权限处理 (2)报表打印功能(3)甚至根据自己情况,可以加上学生信息,并扩充为图书借阅系统。(4)模糊查询 (5)综合查询 (6)统计功能 比如统计处某一类别的图书信息 或 筛选出小于指定数量库存的图书信息等等,总之,可以根据自己需求进行分析功能。任务要求一、提交材料应包括:(1)系统源代码 (2)课程报告二、整个设计过程具体要求(1)需求分析 要求学生对案例系统进行分析,设计出需要完成的功能,完善各个模块的调用关系;(2)设计过程 要求学生进一步明确各模块调用关系,进一步完善模块函数细节(函数名、参

3、数、返回值等)(3)实现过程 要求学生养成良好的编码习惯、完成各个模块并进行测试,最终完成系统整体测试;(4)总结阶段 按照要求完成系统设计和实现报告,并进行总结、答辩。成绩评定报告撰写情况(30分)系统完成情况(30分)答辩情况(40分)总分内容20分规范程度5分程序测试5分基本功能20分扩展功能10分自述情况10分答辩情况30分成绩评定教师: 1 需求分析经过大一上学期的理论学习,在基础实验的基础上,本学期我们继续开设了C语言程序设计实践课。课程要求我们对已经学习的基础实验进行整合与衔接处理,并最终形成一个系统性质的规模较大的程序。本次课程设计要求我们达到能独立完成一个图书管理系统,完成后

4、要求实现的功能有对图书信息的录入、删除、修改,浏览(即输出), 按某种方式查询(要求至少一种查询方式),按某种方式排序(要求至少一种排序方式)。当然,我们可以根据自己的能力对系统进行完善性的拓展,例如自己加入简单的权限处理,统计功能,模糊查询等,甚至可以拓展为图书借阅系统。通过整个程序的开发过程,最终使我们掌握利用计算机解决实际问题的基本方法,熟悉C语言开发的全过程,提高综合应用C语言的能力、编程和调试能力,为学习计算机和通信专业的后续课程打好专业基础。 2 概要设计(1) 图书信息及数据格式图书信息: 图书信息包括图书编号、图书类别、图书书名、作者、出版社、出版时间、图书价格。数据格式: 本

5、系统采用单向链表来对图书信息进行各项操作。其中图书的编号为整型数据,价格为双精度浮点型,其余的类别、书名、作者、出版社与出版时间均为字符串类型struct tushu_node int num; char leibie20; char name30; char author20; char press20; char time20; double price; struct tushu_node*next; 一个结点的示意图如下图所示:numleibienameauthorpresstimepricenext(2)程序的整体框架主菜单退出帮助统计图书数目按不同方式排序浏览按不同方式查询录入(删

6、除修改)书名出版时间价格价格编号修改删除创建子菜单(3)模块划分1、int quanxian(); 核查权限的函数 2、int inputchioce(); 显示主菜单的函数 3、void save(); 保存链表为文件的函数 覆盖以前的信息 4、void save1(); 保存链表为文件的函数 不覆盖以前的信息 只在创建时调用5、struct tushu_node* wjtolb();从文件中读取数据并建立图书信息的链表的函数 6、int luruxinxi(); 录入学生信息的函数 7、struct tushu_node * luruxinxi_chuangjian(); 创建图书信息的函

7、数 8、struct tushu_node * luruxinxi_charu(); 插入图书信息的函数9、struct tushu_node * luruxinxi_shanchu(); 删除图书信息的函数10、struct tushu_node * luruxinxi_xiugai(); 修改图书信息的函数11、int liulantushu(); 浏览图书信息的函数 12、int chaxuntushu(); 查询图书信息的函数 13、void chaxuntushu_num(); 按编号查询图书 14、void chaxuntushu_name(); 按书名查询图书 15、void c

8、haxuntushu_price(); 按价格查询图书 16、void paixutushu(); 为图书排序的函数 17、struct tushu_node* paixutushu_price(); 为图书按价格排序的函数 18、struct tushu_node* paixutushu_time(); 为图书按出版时间排序的函数 19、void sfjx() ; 写个函数 判断是否继续 排序中使用 20、int tongjitushu_shumu(); 统计图书数目的函数 21、void shiyongshuoming(); 使用说明的函数 3 详细设计程序的主体设计思想是根据结构化程序设

9、计思想分模块进行设计,有一个主函数和多个自定义函数构成。主函数对于本程序来说,主函数很简单,就是定义了一个变量chioce用来接受核查用户是否有使用该管理系统的权限的函数quanxian()函数返回的值,若为1(即用户获得了使用权限),则调出显示主菜单的函数进行具体操作int main()int chioce; chioce=quanxian(); 核查用户是否有使用该管理系统的权限的函数 if(chioce=1) 若取得权限 则返回值为1 system(cls);inputchioce(); 用来显示主菜单的函数 exit(0);权限函数核查用户权限的函数使用do-while语句来限制用户输

10、入密码的次数仅为三次,并且为了使界面更具亲切感,会在用户输入密码错误时进行提示引起用户注意及提示剩余输入次数。int quanxian()int m=1,n=3,flag=0;char mima20;doprintf(nn 你好,欢迎使本图书信息管理系统!n); printf(nn); printf(【现在进行权限核查】 n-友情提醒:你共有3次输入密码的机会!n);printf(nn );if(n=2|n=1)printf(注意:你已输入错误%d次 剩余输入次数: %d 请输入密码:,3-n,n);if(n=3) printf(剩余输入次数: %d 请输入密码:,n); scanf(%s,m

11、ima); /第一次输入和输错密码后再次输入显示的也卖弄不同if(strcmp(mima,chenbo0916)=0)flag=1; return flag; m+;n-;system(cls);while(strcmp(mima,chenbo0916)!=0&m=3) ; / 限制输入次数在3次之内 printf(nn对不起,你连续三次输入密码错误,没有使用该图书管理系统的权限!n); exit(0); 显示主菜单的函数本程序将主菜单单独作为一个函数是为了让用户进入一次系统可以进行多项操作(即为在每次用户完成一个具体的操作后,都会有对是否继续或返回主菜单有相应的询问,让用户在想退出系统时才退出),基本思路是通过函数的嵌套调用来实现多项操作。这个函数的功能就是显示主菜单并对用户进行的选择调用不同的子菜单函数或进入具体功能int inputchioce() /* 主菜单 */int mychioce,x=-1;printf(n+欢 迎 你+nn);printf(*+ 主 菜 单 +*n);printf(*1- 录入(删除 修改)图书信息 * *2-(按规则)查询图书信息 *n); printf(*

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号