程序设计基础(C语言版)课件 第12章 综合项目实训_第1页
程序设计基础(C语言版)课件 第12章 综合项目实训_第2页
程序设计基础(C语言版)课件 第12章 综合项目实训_第3页
程序设计基础(C语言版)课件 第12章 综合项目实训_第4页
程序设计基础(C语言版)课件 第12章 综合项目实训_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

第12章综合项目实训12.4系统测试12.1图书管理系统需求分析12.2系统设计本章主要内容12.3系统实现12.1

图书管理系统需求分析

建立一个图书管理系统,借阅者可以通过系统查询书籍信息、借阅书籍、归还书籍,系统管理员可以对系统的数据进行维护,如创建、修改借阅者账户和图书库存信息,并可以对库存的书籍进行清点。为了满足上述需求,系统需要完成如下功能:(1)图书管理模块:对库存书籍进行管理维护。(2)借还书模块:实现用户和系统交互操作,完成借书、还书任务。(3)读者管理模块:对用户信息进行管理维护。(4)图书查询模块:实现书籍信息的查询。

12.1

图书管理系统需求分析

本系统开发采用模块化程序设计思路。所谓的模块化程序设计就是将一个规模复杂的系统的设计划分为若干子系统,将总体任务分解为若干个子任务模块来完成。在设计过程中,采用自顶向下、逐步分解的设计思维模式,实现子模块程序任务的单一化,减少彼此之间的干扰。这种设计模式不仅便于进行单个模块的设计、开发、调试、维护工作,还让开发人员可以按分配的模块同时完成任务,实现并行开发,缩短软件项目的周期。12.2系统设计12.2.1功能模块图:按照模块化程序设计的思想,复杂的综合项目可以划分为若干个子项目任务。如果子任务需要实现的功能比较多,还可以将子任务继续分解,直到分解为一些容易解决的子任务为止,最终,每一个子任务都对应一个具体的函数,拓扑结构如图:12.2系统设计12.2.1功能模块图:

项目任务分解示意图:12.2系统设计12.2.1功能模块图:

(1)添加图书:在存放图书信息目录中,批量输入图书信息保存;(2)删除图书:在存放图书信息目录中,删除某一图书信息;(3)修改图书:在存放图书信息目录中,修改某一图书信息;(4)添加读者信息:在存放读者信息的文件中,批量导入读者资料;(5)修改读者信息:在存放读者信息目录中,修改某一读者的信息;(6)按书名查询:按照书名,查询对应的书籍状态;(7)按作者查询:按照作者,查询对应的书籍状态;(8)借书:检测读者信息是否合法,检测所借书籍状态,并在借书后,对图书存储文件进行修改;(9)还书:检测读者信息是否合法,检测所还书籍状态,并在还书后,对图书存储文件进行修改。(10)浏览图书信息:在存放图书信息目录中,浏览目前库存图书信息;(11)浏览读者信息:在存放读者信息目录中,浏览目前读者信息;12.2系统设计12.2.2数据结构设计

1.图书信息结构体BookstructBook/*创建主结构体*/{ charid[10];/*声明字符型变量*/ charname[30]; charauthor[30]; intnum;/*声明整型变量*/structBook*next;/*定义指向结构的指针*/};12.2系统设计12.2.2数据结构设计

2.读者信息结构体Read_manstructread_man//创建主结构体{charman_account[10];/*账号号码*/charman_name[30];/*读者名称*/charman_tel[30];/*读者电话*/charman_sex[10];/*读者性别*/structread_man*next_man;/*定义指向结构的指针*/};12.2系统设计12.2.2数据结构设计

3.缓冲数据结构体MID_BUFFtypedefstructMID_BUFF/*创建中间数据缓冲结构体*/{ charid[10];/*声明字符型变量*/}MID;12.3系统实现

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#include<unistd.h>#include<time.h>#definemax_book_size1000/*图书最大存储数量*/ #definemax_author_size300/*读者最大存储数量*/voidbookCreateTotal(); /*创建图书信息*/ voidbookShow();/*浏览图书信息*/voidbookNameSearch();/*按书名查询书籍*/voidbookAutherSearch();/*按作者查询书籍*/unsignedcharmemberCreate();/*创建单组读者信息*/voidbookBorrow(); /*借书*/ voidbookReturn();/*还书*/12.3.1程序设计包含的头文件及子函数:12.3系统实现

12.3.1程序设计包含的头文件及子函数:voidshowStart();/*显示主界面*/voidlogin();/*登录界面*/voidshowBookInfo();/*显示书籍信息*/voidshowMemberInfo();/*显示读者信息*/intcheakBookNum();/*检测目前图书的数量*/intcheakMemberNum();/*检测目前读者的数量*/voiddeleteBookInfo();/*删除某一条图书信息*/voidloadBookInfo();/*装载目前读者目录信息*/voidloadMemberInfo();/*装载目前读者目录信息*/voidbookInfoChange();/*修改图书信息*/voidmemberChange();/*修改会员信息*/voidmemberShow();/*浏览读者信息*/unsignedcharbookCreate();/*创建单组书籍信息*/voidmemberCreateTotal(); /*创建读者信息*/ MIDmid_buff[1000];/*定义一个中间变量结构体数组*/12.3系统实现

12.3.2程序设计流程图12.3系统实现

12.3.3单元函数功能概述:1.主函数程序单元main()图书管理系统的主函数为while(1)格式的无限循环结构,包括了用户可以选择的12个功能函数,用户输入0-11之间的数据,即可跳转到相应的子函数程序中。2.主界面显示函数showStart()主界面函数包括两部分功能,其一为登录密码检测单元,其二为操作菜单显示单元,在用户使用密码成功登录后,显示菜单主界面。3.图书信息加载函数loadBookInfo()将图书目录中的编号信息,加载到临时缓冲区中。12.3系统实现

12.3.3单元函数功能概述:4.读者信息加载函数loadMemberInfo()将读者目录中的编号信息,加载到临时缓冲区中。5.创建图书信息函数bookCreateTotal()与bookCreate()bookCreateTotal()与bookCreate()函数的主要功能是将从键盘输入的图书信息写入文件books_info.dat中,并检测输入的书籍数量,是否超过最大限值,输入的图书信息主要包括编号、书名、作者、库存数量。6.创建读者信息函数memberCreateTotal()与memberCreate()memberCreateTotal()与memberCreate()函数的主要功能是将从键盘输入的读者信息写入到文件mans_info.dat中,并检测输入的读者数量,是否超过最大限值,输入的读者信息主要包括账号、姓名、电话号码、性别。12.3系统实现

12.3.3单元函数功能概述:7.通过名称查找书籍函数bookNameSearch()此函数的主要功能是在books_info.dat中检索键盘输入的图书信息是否存在,并将该图书的书名、作者、库存数量信息显示在屏幕上。8.通过作者查找书籍函数bookAutherSearch()此函数的主要功能是在books_info.dat中检索键盘输入的作者信息是否存在,并将该作者相关的书名、作者、库存数量信息显示在屏幕上。9.修改图书信息函数bookInfoChange()此函数的主要功能是修改存储在书籍目录books_info.dat中的书本信息,内容包括书名,作者,库存数量。12.3系统实现

12.3.3单元函数功能概述:10.删除图书信息的函数deleteBookInfo()此函数的主要功能是删除文件books_info.dat对应的某一条书籍信息。11.修改读者信息函数memberChange()此函数的主要功能是修改存储在读者目录mans_info.dat中的某一读者信息,内容包括姓名,电话号码,性别。12.图书借出处理函数bookBorrow():此函数的主要功能是检测借书人的信息是否存在于文件mans_info.dat中,如果存在,则检测所借的图书是否还有库存,如果两个都符合要求,则允许读者借阅图书,并更改books_info.dat文件中的内容。12.3系统实现

12.3.3单元函数功能概述:13.图书归还处理函数bookReturn()此函数的主要功能是检测还书人的信息是否存在于文件mans_info.dat中,如果存在,则检测所还的图书是否为存在于books_info.dat中,如果两个都符合要求,则允许读者归还图书,并更改books_info.dat文件中的内容。14.密码登录函数login()此函数的主要功能显示管理平台登录界面,检测用户登录密码是否正确。15.显示成员信息函数showMemberInfo()与memberShow()此函数的主要功能是将文件mans_info.dat存储的读者信息显示在屏幕上。12.3系统实现

12.3.3单元函数功能概述:16.显示图书信息函数showBookInfo()与bookShow()此函数的主要功能是将文件books_info.dat存储的图书信息显示在屏幕上。17.检测书籍存储书籍数目的函数cheakBookNum()此函数的主要功能是检测books_info.dat目前存储的数据数量。18.密码登录函数cheakMemberNum()此函数的主要功能是检测mans_info.dat目前存储的数据数量。12.4系统测试

(1)系统编译运行成功后,首先进入图书

温馨提示

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

评论

0/150

提交评论