C语言程序设计书店租书信息管理系统文档格式.docx
《C语言程序设计书店租书信息管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计书店租书信息管理系统文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
![C语言程序设计书店租书信息管理系统文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/17/0c29748c-34c4-47e3-a52b-b9fb187ee897/0c29748c-34c4-47e3-a52b-b9fb187ee8971.gif)
类型及长度
举例
编号
char
‘0’表示教辅,‘1’表示少儿等
类别名称
char[10]
中小学教辅
续费率
double
会员出租折扣率
2.图书基本信息参考:
类别
‘0’表示教辅
图书编号
“200900011”
图书名称
char[30]
小学语文阅读训练80篇
作者
char[20]
出版社
长春出版社
售价
租价
会员价
库存数
int
上架日期
char[11]
2009/04/20
架位
char[3]
3.图书租阅基本信息参考:
姓名
身份证
char[19]
租书日期
2010/01/20
可租天数
5
应还日期
2010/01/25
归还日期
2010/01/28
续费
三.开发工具
这里我通过VC++6.0作为开发工具,运用C语言的结构体、链表指针、十字链表等技术实现该书店租书管理系统。
该书店租书管理系统主要实现功能模块有:
基本信息录入模块、基本信息修改模块、信息删除模块、基本信息查询模块、图书归还模块。
四.实训项目设计
1、数据结构设计及用法说明
1、程序中的struct设计
structguest
{
chargno[10];
//顾客编号
chargname[20];
//顾客姓名
chargID[30];
//身份证号
chargaddr[30];
//顾客地址
chargtel[13];
//顾客电话
intday;
//可租用日期
structguest*next;
//指向下一个顾客
structbook*info;
//指向图书节点
};
structbook_info
{/*图书基本信息*/
charcate_id;
//如'
a'
代表类别
charbook_id[10];
//如‘100000’图书编号,该编号是唯一的
charbook_name[30];
//书名英文
charbook_author[20];
//作者tonyzeng
charbook_press[30];
//出版社福建出版社
doubleprice;
//售价
doublerent_price;
//租价
doublemember_price;
//会员价
intinventory;
//库存量
charshelves_time[11];
//上架时间'
2009/09/09'
charshelves[6];
//书架'
第5架位'
inttimes;
/*租阅次数*/
structbook_info*next;
//指向图书下一个点
structbook_rent*rent;
//连接到租阅信息
structcategory
{/*图书类别基本信息*/
//类别'
charcate_name[10];
//类别名称'
教育'
doublerenew_rate;
//续费
doublediscount;
//会员折扣率
structcategory*next;
//指向下一个信息点
structbook_info*info;
//指向图书节的
structrented_history//存放归还的历史记录
//创建指向租阅信息的指针
structrented_history*next;
//指向自身的指针
2、程序中的使用
通过如下声明创建首结点:
structrented_history*history_1;
//创建历史租阅信息首结点
structcategory*head_1;
//创建第一级类别首结点
3、操作方法
1 在主函数中通过调用程序中创建的首结点
2 在相应的函数中调用首结点的指针
3 函数中创建相应结构体,通过获得首结点指针完成相应语句功能的调用
4 完成相应操作后,返回相应首结点指针,退回主函数
2、程序结构(流程图)
1、某类别所有图书信息的查询
2、图书类别录入流程图
3、各模块的功能
1.图书类别录入模块:
该模块用于将图书进行分类,如教育、科学、文学等类别,通过相应的类别代码来表示这些类别信息,然后在添加其他相应的数据信息,实现图书的类别有效的管理。
2.图书基本信息录入模块:
在类别信息录入后,相应在各个类别录入相关的图书基本信息如英语、数学、读者、青年博览等图书,并且录入各图书相应的售价、租价、会议价、上架时间、架位等信息,完成图书数据的管理。
3.图书租阅信息录入模块:
录入图书类别已经图书的基本信息后,如果有读者需要进行借阅图书,则调用该功能函数,通过输入读者借阅的图书类别已经图书编码来确定所租的图书,同时记录该用户身份证、姓名,并且记录借阅时间和应还时间等。
4.图书类别信息修改模块:
当输入错误或者需要修改时,调用该功能进行类别信息修改。
5.图书基本信息修改模块:
当信息输入错误或需要修改时,通过该模块修改相应信息。
6.图书租阅信息修改模块:
当信息录入错误或要修改时,调用该模块进行相应的修改。
7.图书类别删除模块:
当某类别需要删除的话,如果该类别不存在图书信息,则给予删除,若该类别存在图书信息,则提醒该删除操作会造成数据丢失,若执意要删除则给予相应的删除释放内存操作。
8.图书基本信息删除模块:
当某图书需要进行删除时,若该图书租借信息为空则给予删除,若存在租借信息则提醒删除会造成数据丢失,若执意删除则给相应的删除操作。
9.图书归还模块:
当租阅后的图书,需要归还给书店时,则进入该模块,执行相关的图书归还操作,并且将归还的图书记录下来,以便以后查询使用。
10.条件查询模块:
输入相应的条件,查询相关的信息。
如查询类别信息,就调用输出函数;
查询图书信息就是输入类别调用相关函数;
查询租阅信息就输入类别和图书编码。
11.统计图书逾期模块:
用于查询哪些租阅的图书已过期,以方便系统管理员通知相关的租阅该图书的人员,尽快归还图书。
12.统计图书租阅次数模块:
用于统计图书被租阅的次数,以方便管理员对相关图书的进货管理。
4、试验结果
1.主界面
2、2.1进入信息录入系统
2.2图书信息录入
2.3租阅信息录入
3.3.1修改类别模块
3.3.2修改图书基本信息模块
4.4.1删除图书信息
5.5.1按条件查询
体会:
1.在编写代码初级阶段时,由于没有考虑指针函数调用的好处,麻木的编写代码。
结果发现整天代码偏乱,冗余度很低。
之后就不断的继续修改代码,增加了很多的工作量,而且使程序的可读性不够高。
2.经过好几次的修改后,程序代码可读性有进一步的提高,也掌握了指针间的互相调用过程等信息。
3.在这次编程中,让我深刻体会到指针的功能强大性,让我进一步认识到指针的使用方法。
4.进一步的掌握了c语言的用法,对结构体、指针、数组、十字链表等等一些信息都有了更深刻了认识,并且能够熟练的掌握。
5.在完成作业中,因为很多数据的随意增删改致使截图不能很完善。
很多数据混乱