C语言程序设计—书店租书信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学生课程实验报告书课程:《C语言程序设计》
级系
专业班
学号姓名
指导教师:
2010--2011学年第 2 学期
书店租书信息管理系统
一.实训目的
通过集中训练,进一步掌握C语言的编程设计与开发,并以十字交叉链表为背景,训练数据结构的设计技术。通过编制一个信息管理系统,学会分析问题、建立数学模型、确定研究算法、编制程序流程图、编制程序、调试程序及数据分析项目设计开发步骤。掌握结构体、十字交叉链表的存取方法,函数、C语言设计方法、不同功能模块的调用使用方法等。
二.实训项目
信息管理系统借鉴
1.图书类别基本信息参考:
中文字段名类型及长度举例
编号char‘0’表示教辅,‘1’表示少儿等
类别名称char[10]中小学教辅
续费率double
会员出租折扣率double
2.图书基本信息参考:
中文字段名类型及长度举例
类别char ‘0’表示教辅
图书编号char[10] “200900011”
图书名称char[30] 小学语文阅读训练80篇
作者char[20]
出版社char[30] 长春出版社
售价double
租价double
会员价double
库存数int
上架日期char[11] 2009/04/20
架位char[3]
3.图书租阅基本信息参考:
中文字段名类型及长度举例
类别char ‘0’表示教辅
图书编号char[10] “200900011”
姓名char[20]
身份证char[19]
租书日期char[11] 2010/01/20
可租天数int 5
应还日期char[11] 2010/01/25
归还日期char[11] 2010/01/28
续费double
三.开发工具
这里我通过VC++6.0作为开发工具,运用C 语言的结构体、链表指针、十字链表等技术实现该书店租书管理系统。该书店租书管理系统主要实现功能模块有:基本信息录入模块、基本信息修改模块、信息删除模块、基本信息查询模块、图书归还模块。 四.实训项目设计
书店租书信息管理系统
信息录入系统图书类别录入
图书归还系统
信息查询系统
信息删除系统
信息修改系统归还租阅图书信息
其他统计查询信息按条件查询基本信息
删除图书信息
删除类别信息
修改租阅信息修改图书信息修改类别信息租阅信息录入图书基本信息录入
查询某类某图书租阅表
统计逾期图书
统计图书租阅次数
某时段未归还的信息所有未被租借的图书
归还图书的历史记录查询某类别的图书信息查询所有类别信息
一、数据结构设计及用法说明 1、程序中的struct 设计 struct guest {
char gno[10]; //顾客编号 char gname[20]; //顾客姓名 char gID[30]; //身份证号 char gaddr[30]; //顾客地址 char gtel[13]; //顾客电话 int day; //可租用日期
struct guest *next; //指向下一个顾客 struct book *info; //指向图书节点 };
struct book_info { /*图书基本信息*/ char cate_id;//如'a'代表类别
char book_id[10];//如 ‘100000’图书编号,该编号是唯一的 char book_name[30];//书名 英文
char book_author[20];//作者tonyzeng
char book_press[30];//出版社福建出版社
double price;//售价
double rent_price;//租价
double member_price;// 会员价
int inventory;//库存量
char shelves_time[11];//上架时间'2009/09/09'
char shelves[6];//书架'第5架位'
int times; /*租阅次数*/
struct book_info *next;// 指向图书下一个点
struct book_rent *rent;//连接到租阅信息
};
struct category
{ /*图书类别基本信息*/
char cate_id; // 类别'a'
char cate_name[10];//类别名称'教育'
double renew_rate;//续费
double discount;//会员折扣率
struct category *next;//指向下一个信息点
struct book_info *info;//指向图书节的
};
struct rented_history //存放归还的历史记录
{
struct book_rent *rent; //创建指向租阅信息的指针
struct rented_history *next;// 指向自身的指针
};
2、程序中的使用
通过如下声明创建首结点:
struct rented_history *history_1; //创建历史租阅信息首结点
struct category *head_1;// 创建第一级类别首结点
3、操作方法
①在主函数中通过调用程序中创建的首结点
②在相应的函数中调用首结点的指针
③函数中创建相应结构体,通过获得首结点指针完成相应语句功能的调用
④完成相应操作后,返回相应首结点指针,退回主函数
二、程序结构(流程图)
1、某类别所有图书信息的查询