数据结构课程设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构课程设计计算机科学与技术2008级1班
课程设计题目:图书借阅管理系统
姓名:
学号:
一.需求分析说明
图书借阅处理过程简述处理过程主要包含:新增图书上架、办理图证、图书查询、借书、还书等。
(1)新增图书上架新书上架时,需要登记新书的:书名、作者、出版社、总册数的信息。
(2)办理图书借阅证读者办理借书证时,需要登记读者(学生)的学号、姓名。(3)图书查询读者按照图书编号查询图书基本信息,并可以得知现还有几册可以借阅。
(4)借书每个学生读者最多借5本书。读者借书时,应登记书号、借书日期(年月日)。
2.数据分析数据处理过程中涉及到两个实体:图书和会员;各实体应具有的属性如下:图书(书号、书名、作者,总册数)读者(学号、姓名、班级)由于同一种图书可以有多册上架,
每个读者最多可以借阅5本书,图书借阅的属性如下:借阅(书号、借书日期)3.功能分析系统功能模块包括:图书增加、图书删除、图书查询、借书、还书;另外还包括图书信息修改和读者信息修改。
二.基本功能
1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);
2)会员管理(增加会员、查询会员、删除会员、借书信息);
3)系统管理(初始化、载入数据、保存数据、退出程序);
三.程序设计
#include
#include
#include
#define NULL 0
typedef struct BookInfo{ /////图书结构int b_Code; ////图书编号
char b_Name[20]; /////名称
int b_Total; /////总数
int b_Out; ///借出数
BookInfo* nextbook; //////下一类图书
}BookInfo;
typedef struct MemberInfo{ ///会员结构long m_Code; /////会员编号
char m_Name[20]; ////会员名字
int l_Codes[6]; /////以借书的编号,最多5 MemberInfo* nextmember; ////下一会员}MemberInfo;
typedef struct System{ ///管理系统结构
BookInfo* BI;
MemberInfo* MI;
int BookTotal; ////图书类库存量
int MemberTota; /////会员数量
}System;
System* InitSystem();/////
void AddBook(System*);////增加图书
BookInfo* SearchBook(System*,int);////查询图书信息
void DelBook(System*);/////删除图书
void BrrowBook(System*);///////借书处理void TurnBackBook(System*);////还书处理
void AddMember(System*);/////添加会员void DelMember(System*);////删除会员
MemberInfo* SearchMember(System*,int);/////查询会员信息void StoreData(System*);
void LoadData(System*);
void ExitSystem();
void main()
{
System* S=InitSystem();
int sel;
do{
cout<<"\n\t\t\t\t图书管理系统"< cout<<"\t\t\t******************************"< cout<<"\t\t\t******************************"< cout<<"\t\t\t 1.增加图书.\t 2.查询图书.\n\t\t\t 3.删除图书.\t 4.借书处理.\n\t\t\t 5.还书处理.\n\t\t\t 6.添加会员.\t 7.删除会员.\n\t\t\t 8.查询会员.\t 9.载入数据.\n\t\t\t10.保存数据.\t11.退出程序.\n"; cout<<"\t\t\t******************************"< cout<<"\t\t\t******************************"< cout<<"请选择:"; do{ cin>>sel; if(sel>=1&&sel<=11)break; cout<<"选择错误!\n重新输入:"< switch(sel){ case 1:AddBook(S);break; case 2:SearchBook(S,-1);break; case 3:DelBook(S);break; case 4:BrrowBook(S);;break; case 5:TurnBackBook(S);break; case 6:AddMember(S);break; case 7:DelMember(S);break; case 8:SearchMember(S,-1);break; case 9:LoadData(S);break; case 10:StoreData(S);break; default:ExitSystem(); } }while(1); } System* InitSystem() { System* S=(System*)malloc(sizeof(System));