




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
电子科技大学成都学院计算机系实践专周设计报告课 程 名 称:_ 程序设计实践 设 计 题 目:_图书管理系统 _ 指导 教师 组:_方智 陈科 _ 组长学号姓名:_1340610807 余浩宇 _ 组员学号姓名: 1340610805 张佳俊 _ 组员学号姓名:_ _ 组员学号姓名:_ _ 计算机系制2014年2月目 录目 录第1章引言11.1 问题分析11.2 设计目标11.2.1 基本功能1第2章总体设计22.1 程序功能结构图22.2 程序的功能分析22.3 系统体系结构3第3章详细设计43.1 存储结构设计43.2 模块功能及算法设计43.2.1 查找函数模块4第4章系统实现54.1 系统主界面54.2 录入图书信息7第5章测试和总结215.1 系统存在的问题及解决方案215.2 收获及心得体会21参考文献22成绩考核(由指导教师组填写)对小组做整体评阅。(前五项为优、良、中、及格和不及格,总成绩为通过和不通过)。如个别学生不通过,请在备注栏标明。2415第1章 引言第1章 引言1.1 问题分析在现代社会中,人们都需要便利的阅读方式,而图书馆正符合大众的需求,方便,快捷,因此图书馆快速的兴起,成为人们日常生活不可缺少的一环。但图书馆内部的管理却十分复杂,以前人们需要使用纸笔来记录入库信息,物品信息及销售情况,在当今计算机技术高度发展的今天,将新技术引入图书馆的管理也是必不可少的。1.2 设计目标以前图书馆的物品信息管理一般都是靠纸质文档保存,虽然成本很低,但是不利于修改,而且纸质文档会因为时间过长而变黄甚至破损,导致信息的丢失,不利于信息的存储和管理。而我们认为可以利用c语言对文件进行操作的方法,达到简化、规范化的图书物品信息管理的目的,避免因为人为操作而引起的失误和漏洞。这样,在计算机硬盘上保存信息,能让信息能长时间保存,防止因为时间过长而造成的纸质文档的破损,也更容易查询过往记录,便于会计进行账务计算。1.2.1 基本功能系统主要包括新图书信息入库、删除、修改与查找,图书馆职工信息的增加、删除、修改和统计,学生借阅图书卡片的办理与删除,图书的查找等三大功能模块。第2章 总体设计第2章 总体设计2.1 程序功能结构图系统管理图书管理职工管理学生管理增加图书删除图书修改图书资料图书统计增加员工删除员工修改员工资料员工统计统计申请新卡删除卡号借书统计卡号统计2-1程序功能结构图2.2 程序的功能分析新图书信息录入由ret3_1_1( )完成图书信息的删除由ret3_1_2( )完成图书信息的修改与查找由ret3_1_3( )完成图书信息的浏览由ret3_1_4( )完成学生借阅图书卡片的办理由ret3_2_1( )完成学生借阅图书卡片的删除由ret3_2_2( )完成学生借阅图书卡片的借阅由ret3_2_3( )完成学生借阅图书卡片的浏览由ret3_2_4( )完成图书馆职工信息的增加由ret3_3_1( )完成图书馆职工信息的删除由ret3_3_2( )完成图书馆职工信息的修改由ret3_3_3( )完成图书馆职工信息的统计由ret3_3_4( )完成图书的归还由ret4_1( )完成2.3 系统体系结构图书管理系统的核心是对图书信息的维护与管理,是以数据为中心的体系结构,依靠数据联通各个部分并使之协调工作。图书管理系统包含了信息的录入,如图书信息、员工信息、借书卡等信息的录入;信息的查询,对图书的查阅;信息的删除,对图书信息、员工信息、借书卡等信息的删除,修改与统计。typedef struct book /定义图书结构体 int bookID; /图书ID char bookname100; /书名 char author100; /作者int money; /金额int num; /编号book,library100;typedef struct card /定义借书卡结构体 int cardID; /卡号ID char studentname100; /学生姓名 int sclass; /学生班级 int money; /卡号余额card,scard100;typedef struct work /定义职工信息结构体 int workID; /职工ID char workername50; /职工姓名 int year; /职工年龄 char sex10; /职工性别 char stu10; /职工学历 int money; /职工工资work,worker100;第3章 详细设计第3章 详细设计 开始3.1 存储结构设计输入录入的信息的编号,名字,作者,金额,学生和职工的资料等。通过fp导出至外部文件图3-13.2 模块功能及算法设计3.2.1 查找函数模块 开始 借阅输入借书卡号和图书信息并在书库中查找检查是否存在存在,并保存记录卡号不存在或图书信息错误 结束图3-2第4章 系统实现第4章 系统实现4.1 系统主界面主界面运行效果如图4-1所示。图4-1 主界面运行效果核心代码如下: int x; switch(x) case 1: system(CLS);findfile();break; case 2: system(CLS);ret2();break; case 3: system(CLS);ret3();break; case 4: system(CLS);ret4(); break; case 5: system(CLS); printf(*n); printf(* 欢迎光临 *n); printf(* 这是个坑图书馆 *n); printf(*n);break; default: system(CLS); printf(您的输入不正确:n请重新输入:n); ret();4.2 录入图书信息 图4-2 图4-3代码如下: FILE *fp;int m;int n;int b;char a4;int k,j,l; book library100; printf(是否需要修改?n);biaohao:printf(Yt ort Nn); scanf(%s,a);system(CLS); switch(a0) case Y: printf(序号t书名t作者t金额tn); for (j=0;jn;j+) printf(%d t%st %st %dn,libraryj.bookID,libraryj.bookname,libraryj.author,libraryj.money); for (l=0;ln;l+) printf(%d t%st %st %dn,libraryl.bookID,libraryl.bookname,libraryl.author,libraryl.money); printf(您是否需要继续修改?n);goto biaohao; break; case N: if (fp=fopen(library.dat,a)=NULL) printf(该文件不存在!n); exit(1); for (l=0;ln;l+) fwrite(&libraryl,sizeof(book),1,fp); fclose(fp); printf(存储成功!);break;default: system(CLS); printf(您的输入不正确,请重新输入!n); printf(按任意键返回主菜单n); getch(); system(CLS);4.2 图书借阅图4-4代码如下:fp=fopen(scard.dat,r); while(!feof(fp)fread(&hli,sizeof(card),1,fp); i+; do if(haoma=hlm.cardID) a=m; printf(详细资料是:n);printf(卡号t姓名t班级t金额n);printf(%dt%st %dt %dtn,hlm.cardID,hlm.studentname,hlm.sclass,hlm.money); m+;while(mi-1); if (a=-1) system(CLS); printf(没有您所需要查询的借书卡!n请重新输入:n); fclose(fp); f=a; printf(请输入借阅图书名称n); scanf(%s,bookname); u=ret2_1(bookname); hlf.money=hlf.money-u; fp = fopen(scard.dat,w); for (j=0;ji-1;j+) fwrite(&hlj,sizeof(card),1,fp); fclose(fp);fp=fopen(library.dat,r);while(!feof(fp)fread(&hli,sizeof(book),1,fp); i+;m=0; fclose(fp); fp = fopen(library.dat,w); for (j=0;ji-1;j+) fwrite(&hlj,sizeof(book),1,fp); fclose(fp);任课教师评语第5章 测试和总结5.1 系统存在的问题及解决方案问题:有的时候会出现错误,有一些代码可以删除不使用从而节约空间,有些功能还不够完善,代码也不能完全使用得得心应手。解决方案:通过上网和与同学小组成员讨论,查找书籍等方式。5.2 收获及心得体会通过这次实践专周的活动,我们小组学到了很多东西,也意识到了自己所欠缺的。由于文件的读写这一章节需要自学,所以我们小组在自学中自然遇到了很多问题,但是我们都一一解决了,其中有向老师,学长,乃至网友请教,也有自行在搜索网站搜索相关资料进行补充学习,这让我们感受到了获得知识的不容易。同时,我们在实践中发现了大量不足。有以下几点1.我们对第一学期学习知识并不是很牢固,有时需要重新学习一些内容,我们应当利用课余时间巩固学习内容。2.代码书写并不规范,注释写的也很少,给合并代码的同学造成了很大麻烦,也对后期修改及维护造成了极大的障碍。3.在程序的交互性方面经常考虑不足,没有足够的提示信息。4.拖延的毛病有点严重,经常一个问题需要拖23天才能解决。5.3 测试情况(1)录入图书数据:编号3 数据结构 丁晓峰 20 结果:录入成功。图5-1(2)录入借书卡信息:卡号123456 赵子龙 8 50 结果:成功。图5-2(3)录入职工信息:5 罗纳尔多 男 28 本科 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第3单元-《思乡曲》说课稿-2025-2026学年粤教版初中音乐七年级下册
- 2025国际设备采购合同的当事人被称为甲乙双方
- 七年级生物上册 第一单元 第一章 第二节调查周边环境中的生物说课稿 (新版)新人教版
- 2025荆州计算机硬件采购与维护服务合同
- 音乐知识教学设计-2025-2026学年初中音乐七年级下册(2024)人音版(2024 主编:赵季平杜永寿)
- 潍坊事业单位笔试真题2025
- 2025合同模板:解除房屋租赁合同协议书范本
- 2025年通辽市国企考试真题
- 2025房屋租赁代理合同
- 2025绿源小区前期物业管理合同
- 麻醉科职责及管理制度
- 教科版五年级上册科学期中测试卷附答案(夺分金卷)
- 药房管理规章制度目录
- 中职第1课 社会主义在中国的确立和探索试题
- 2025年辽宁省交投集团招聘笔试参考题库含答案解析
- 2024年版高尔夫球场场地租赁及会员服务协议3篇
- 香港 信托合同范本
- 少先队活动课《民族团结一家亲-同心共筑中国梦》课件
- 阀门培训课件
- 《焦化机械设备维护检修标准》
- DB11∕T 899-2019 盆栽蝴蝶兰栽培技术规程
评论
0/150
提交评论