




已阅读5页,还剩135页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖北文理学院程序设计课程设计报告项目名称: 图书管理系统学生姓名: 朱杰 学 号: 2014117241 班 级: 软工1411 指导老师: 龚雄兴 日 期: 2016.2.25 1、项目描述设计图书管理系统,系统主要对象是学生和管理员。系统分为学生登录和管理员登录。从学生登录界面登录后主要能执行的功能有查阅书籍、借阅书籍、归还书籍等。各种查找方式例如:按书名查找、按编号查找、按作者查找、按出版社查找等等。从管理员登录后主要能执行的功能有增加新书、删除旧书、修改图书信息、图书统计及管理员的账号管理等。2、需求分析简单地说,项目需求分析就是要搞清楚要做什么,大致搞清楚具有哪些功能。在软件工程中,需求分析指的是在建立一个新的或改变一个现存的系统或产品时,确定新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。具体地来说,包括下面几方面:(1) 界面需求软件的操作界面是图形界面还是字符界面,以简洁清晰、操作方便为首要目标。图书管理系统初始界面:学生登录界面:管理员登录界面:查阅书籍界面:借阅书籍界面:归还书籍界面:增加新书界面:删除旧书界面:修改图书界面:图书统计界面: (2) 数据需求需要输入什么类型的数据、什么值的数据,即数据模型的建立。是由项目内容及软件设计者决定的。以数据描述的清晰、数据意义的完整为目标。建立图书信息的结构体:建立学生账号的结构体:建立管理员账号的结构体:建立学生账号密保问题的结构体:建立管理员账号密保问题的结构体:建立借书信息的结构体:建立还书信息的结构体: (3) 功能需求系统应该具有哪些功能,与项目描述以及设计者的理解直接相关。对一般的管理软件来说,必须包括数据的输入输出、增删改查、排序、统计等功能。借阅图书图书归还查阅图书账号管理系统图书统计修改图书信息删除旧书增加新书学生登录管理员登录 图书管理系统3、概要设计(总体设计)概要设计在软件工程的生命周期中处于核心地位。一旦对软件需求进行了分析和建模,接下来的工作就是软件设计了,首先就是项目的概要设计。在软件系统设计的过程中,开发者定义项目的设计目标,将系统分解为更小的子系统,这些子系统可以由各个团队分别实现,开发者还要选择构建系统的策略,比如硬件/软件策略、持久性数据管理策略、全局控制流、访问控制策略、边界条件处理等。系统设计后得到的是一个包括子系统分解和每个策略都清晰描述的模型。概要设计是与算法无关的,它由一些活动组成,每一个活动都专注于分解系统整个问题中的某一部分:标识设计目标。开发者标识并区分应进行优化的各种系统特征的优先顺序。借阅图书图书归还查阅图书账号管理系统图书统计修改图书信息删除旧书增加新书学生登录管理员登录 图书管理系统4、详细设计以概要设计为基础,每个功能模块用一个或多个函数来实现,书写每个函数的算法,规划各函数之间的调用关系。void DL();/登录界面void DL_1();/学生登录界面void DL_2();/管理员登录界面void DL_1_1();/学生功能主界面void Cbook();/查阅图书void Jbook();/借阅图书void Hbook();/归还图书void DL_2_1();/管理员功能主界面void Zbook();/增加新书void Sbook();/删除旧书void Xbook();/修改图书信息void Tbook();/图书统计void GLZH();/管理员账号管理void cbookN();/按书名查找void cbookW();/按作者查找void cbookB();/按编号查找void cbookC();/按出版社查找void cbookT();/按出版时间查找void cALLbook();/查询所有图书void jbookN();/按书名借阅void jbookB();/按书编号借阅void hbookN();/按书名还书void hbookB();/按编号还书void studentM();/学生登录void ZHsq(); /学生账号注册void GLYM(); /管理员登录void sbookN(); /按书名删除void sbookB(); /按编号删除void xbookN(); /按书名修改void xbookB(); /按编号修改void Wbook(); /未借图书void Ybook(); /已借图书void ALLbook(); /全部图书void XGmm(); /修改管理员密码void Cjh(); /查询借还书信息void XJZH(); /新建管理员账号5、程序编辑和调试严格按照详细设计中的算法,编写各函数的代码,同时进行单个函数的编译、链接、运行、修改;集成编译、链接、运行、修改。这一阶段,学生可能认为是最重要、最漫长的,实则不然。真正重要的是前面的概要设计和详细设计,若它们的设计不完善、不准确,将导致编码、编译、调试的漏洞百出、顾此失彼。#include#include#include#include #include#include#includestruct TS /图书信息 int BH; char Bname20; char Wname20; int GL; int SL; int Rtime3; char CB20; int CBH;TS TS1000; /图书信息存储struct Zh /账号 char ZH20; char MM20;Zh Xh1000; /学生账号存储Zh Gh1000; /管理员账号存储struct JHX /借书信息 int JSH; char JSM10; int Jstime3; int XHstime3; char Jszh20; int Hstime3; int jh;JHX jhsx1000;struct CHS char CB20; int CBH;char ZH20;/输入账号char jlzh20;/记录账号int XZN;/学生账号个数int GZN;/管理员账户个数int NBOOK;/书的数量int JHlength;/借书信息长度char MM12;/输入密码void DL();/登录界面void DL_1();/学生登录界面void DL_2();/管理员登录界面void DL_1_1();/学生功能主界面void Cbook();/查阅图书void Jbook();/借阅图书void Hbook();/归还图书void DL_2_1();/管理员功能主界面void Zbook();/增加新书void Sbook();/删除旧书void Xbook();/修改图书信息void Tbook();/图书统计void GLZH();/管理员账号管理void cbookN();/按书名查找void cbookW();/按作者查找void cbookB();/按编号查找void cbookC();/按出版社查找void cbookT();/按出版时间查找void cALLbook();/查询所有图书void jbookN();/按书名借阅void jbookB();/按书编号借阅void hbookN();/按书名还书void hbookB();/按编号还书void studentM();/学生登录void ZHsq(); /学生账号注册void GLYM(); /管理员登录void sbookN(); /按书名删除void sbookB(); /按编号删除void xbookN(); /按书名修改void xbookB(); /按编号修改void Wbook(); /未借图书void Ybook(); /已借图书void ALLbook(); /全部图书void XGmm(); /修改管理员密码void Cjh(); /查询借还书信息void XJZH(); /新建管理员账号void XIETS();void DUTS();void XIENUM();void DUNUM();void XIEXH();void DUXH();void XIEGH();void DUGH();void XIEJHX();void DUJHX();void XIE();void DU();void PX();int Time(int a,int b,int c); /时间区间比较int Stime(int a); /计算年月日为该年第几天void SRtime(int a,int b);/输入年和天数,计算该年几月几日void main()DU();DL();void DL() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/欢迎进入图书管理系统n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.学生登录 *n); printf(ttt* 2.管理登录 *n); printf(ttt* 0.退出系统 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=2) system(cls); switch(i) case 1: DL_1(); break; case 2: DL_2(); break; case 0:XIE(); exit(0); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; void DL_1() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/学生登录n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.账号登录 *n); printf(ttt* 2.账号注册 *n); printf(ttt* 0.退出 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=2) system(cls); switch(i) case 1: studentM(); break; case 2: ZHsq(); break; case 0: DL(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; void DL_2() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/管理员登录n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.账号登录 *n); printf(ttt* 0.退出 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=2) system(cls); switch(i) case 1: GLYM(); break; case 0: DL(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; void DL_1_1() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/学生主界面n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.查阅图书 *n); printf(ttt* 2.借阅图书 *n); printf(ttt* 3.归还图书 *n); printf(ttt* 0.返回上一层 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=3) system(cls); switch(i) case 1: Cbook(); break; case 2: Jbook(); break;case 3:Hbook();break; case 0: DL_1(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; void DL_1_3()void DL_2_1() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/管理员主界面n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.增加新书 *n); printf(ttt* 2.删除旧书 *n); printf(ttt* 3.图书统计 *n); printf(ttt* 4.修改图书信息 *n); printf(ttt* 5.管理员账号管理 *n); printf(ttt* 0.返回上一层 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=5) system(cls); switch(i) case 1: Zbook(); break; case 2: Sbook(); break;case 3:Tbook();break;case 4:Xbook();break;case 5:GLZH();break; case 0: DL_2(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; void Cbook() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/查阅图书n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.按书名查找 *n); printf(ttt* 2.按作者查找 *n); printf(ttt* 3.按编号查找 *n); printf(ttt* 4.按出版社查找 *n); printf(ttt* 5.按出版时间查找 *n); printf(ttt* 6.查阅所有图书 *n); printf(ttt* 7.返回上一层 *n); printf(ttt* 0.返回主菜单 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=7) system(cls); switch(i) case 1: cbookN(); break; case 2: cbookW(); break;case 3:cbookB();break;case 4:cbookC();case 5:cbookT();case 6:cALLbook();case 7:DL_1_1(); case 0: DL_1_1(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; ;void Jbook() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/借阅图书n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.借阅图书书名 *n); printf(ttt* 2.借阅图书编号 *n); printf(ttt* 3.返回上一层 *n); printf(ttt* 0.返回主菜单 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); fflush(stdin); if(i=3) system(cls); switch(i) case 1: jbookN(); break; case 2: jbookB(); break;case 3:DL_1_1();break; case 0: DL_1_1(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; ;void Hbook() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/归还图书n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.按书名归还 *n); printf(ttt* 2.按编号归还 *n); printf(ttt* 7.返回上一层 *n); printf(ttt* 0.返回主菜单 *n); printf(ttt* *n); printf(ttt*n); printf(ttt请选择.); dl: scanf(%d,&i); if(i=3) system(cls); switch(i) case 1: hbookN(); break; case 2: hbookB(); break;case 3:DL_1_1();break; case 0: DL_1_1(); else printf(ttt输入数字不符合要求,请重新输入.); goto dl; ;void Zbook() int i,j; char ch; printf(ttt*n); printf(ttt/ _ n); printf(ttt/增加新书n); printf(ttt*n); DL: for(i=0;iNBOOK;i+) if(TSi.BH=0) break; if(TSi.BH=0&i!=NBOOK) printf(ttt请输入添加新书的信息.n); dl: printf(ttt书名:); scanf(%s,TSi.Bname); for(j=0;jNBOOK;j+) if(strcmp(TSj.Bname,TSi.Bname)=0&j!=i) printf(ttt输入书名重复,是否重新输入(Y/N).); fflush(stdin); scanf(%c,&ch); fflush(stdin); if(ch=y|ch=Y) goto dl; else printf(ttt返回上一层.); Sleep(2000); system(cls); DL_2_1(); printf(ttt作者:); scanf(%s,TSi.Wname); printf(ttt出版社:); scanf(%s,TSi.CB); printf(ttt出版社编号:); scanf(%d,&TSi.CBH); printf(ttt出版时间:); scanf(%d%d%d,&TSi.Rtime0,&TSi.Rtime1,&TSi.Rtime2); printf(ttt馆藏数量:); fflush(stdin); scanf(%d,&TSi.GL); TSi.SL=TSi.GL; TSi.BH=i+1; else printf(ttt请输入添加新书的信息.n); dl2: printf(ttt书名:); scanf(%s,TSNBOOK.Bname); for(j=0;jNBOOK;j+) if(strcmp(TSj.Bname,TSNBOOK.Bname)=0) printf(ttt输入书名重复,是否重新输入(Y/N).); fflush(stdin); scanf(%c,&ch); fflush(stdin); if(ch=y|ch=Y) goto dl2; else printf(ttt返回上一层.); Sleep(2000); system(cls); DL_2_1(); printf(ttt作者:); scanf(%s,TSNBOOK.Wname); printf(ttt出版社:); scanf(%s,TSNBOOK.CB); printf(ttt出版社编号:); scanf(%d,&TSNBOOK.CBH); printf(ttt出版时间:); scanf(%d%d%d,&TSNBOOK.Rtime0,&TSNBOOK.Rtime1,&TSNBOOK.Rtime2); printf(ttt馆藏数量:); scanf(%d,&TSNBOOK.GL); TSNBOOK.SL=TSNBOOK.GL; TSi.BH=NBOOK+1; NBOOK+; printf(ttt添加完成,是否继续添加(Y/N).); fflush(stdin); scanf(%c,&ch); fflush(stdin); if(ch=Y|ch=y) goto DL; else printf(ttt返回上一层.); Sleep(1000); system(cls); DL_2_1(); void Sbook() int i; printf(ttt*n); printf(ttt/ _ n); printf(ttt/删除旧书n); printf(ttt*n); printf(n); printf(ttt*n); printf(ttt* 1.按书名删除 *n); printf(ttt* 2.按编号删除 *n); printf(ttt* 3.返回上一层 *n); printf(ttt* 0.返回主菜单 *n); printf(ttt* *n);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河北省忠德学校衡水教学部高三上化学期中统考试题含解析
- 2025年高考英语翻译:英汉互译能力提升模拟试卷
- 2026届江西省校级联考化学高一上期中调研模拟试题含解析
- 福建省莆田九中2026届化学高一第一学期期中经典模拟试题含解析
- 2026届甘肃省兰州市甘肃一中化学高一第一学期期末学业水平测试试题含解析
- 婚前财产约定协议
- 线上线下活动合作协议的特点
- 2026届安徽省二校联考化学高三上期中联考试题含解析
- 2025年住房租赁市场供需关系研究及策略优化服务合同
- 2025年城市轨道交通车辆融资租赁与抵押担保合同
- 关联公司转租协议书
- 小学阶段奥数知识点
- 校园文化建设中心
- 《无人机介绍》课件
- 溃疡性结肠炎的中西医结合治疗策略
- 《压力容器安装教程》课件
- 住培培训手册填写指导
- 2023年山东水发集团有限公司高校应届毕业生招聘笔试参考题库附带答案详解
- 变压器火灾事故报告
- 带式输送机试运行方案方案
- 2025年超细铜粉市场规模分析
评论
0/150
提交评论