图书管理系统【问题描述】设计一个计算机管理系统完成图书管理基本业务。【基本要求】1)每种书的登记内
展开全部
一、对问题的描述和数据结构的选择
【问题描述】
设计一个计算机管理系统完成图书管理基本业务。
【任务要求】
1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;
2)对书号建立索引表(线性表)以提高查找效率;
3)系统主要功能如下:
*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
*归还:注销对借阅者的登记,改变该书的现存量。
【进一步完成内容】
1)系统功能的进一步完善;
2)索引表采用树表。
3)设计内容
4)程序流程图
5)源程序
6)软件测试报告(包括所用到的数据及结果)
【数据结构】
这里我们简单的用单链表就可以实现。
// 图书管理系统
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
/*定义图书有关的数据结构*/
struct book
{
int BookNum; /*图书编号*/
charBookName[20]; /*图书名字*/
char BookAuthor[15];/*图书作者*/
int nowCount; /*图书现存量*/
int allCount; /*图书库存量*/
};
/*定义与读者有关的数据结构*/
struct reader
{
int ReaderNum; /*读者编号*/
charReaderName[20]; /*读者的姓名*/
charReaderSex[8]; /*读者的性别*/
int ReaderAge; /*读者的年龄*/
charReaderTel[15]; /*读者的电话*/
int ReaderCount; /*读者目前已经借阅的数目*/
charpassword[16]; /*读者证件密码*/
chardate[10][100]; /*读者借阅日期*/
intReaderBorrow[10]; /*当前已经借阅的图书编号*/
charBorrowName[10][40];/*已经借阅的图书名字*/
};
/*定义与每条图书纪录有关的数据结构*/
typedef struct booknode
{
struct book data; /*数据域*/
struct booknode*next; /*指针域*/
}BookNode;
/*定义与每条读者纪录有关的数据结构*/
typedef struct readernode
{
struct readerdata; /*数据域*/
struct readernode*next; /*指针域*/
}ReaderNode;
/*定义图书馆中读者和藏书的总数目*/
struct rbnum
{
int rnum; /*读者总个数*/
int bnum; /*书籍总本数*/
}allRBnum;
/*******************************************/
/*函数声明*/
BookNode *OpenBook(); /*打开图书库文件*/
ReaderNode *OpenReader(); /*打开读者库文件*/
void InBook(BookNode *pbook); /*图书录入*/
void SaveBook(BookNode *pbook); /*图书信息保存*/
void SaveReader(ReaderNode *preader); /*读者信息保存*/
void BorrowBook(BookNode *pbook, ReaderNode *preader); /*图书借阅*/
void ReturnBook(BookNode *pbook, ReaderNode *preader); /*图书归还*/
void LookBook(BookNode *pbook); /*浏览图书库*/
void LookReader(ReaderNode *preader); /*浏览读者库*/
void InReader(ReaderNode *preader); /*借书证办理*/
void FindReaderAll(ReaderNode *preader); /*读者信息查询*/
ReaderNode *LoginReader(ReaderNode *preader); /*读者登陆验证*/
int LoginAdmin(); /*管理员登陆验证*/
void ModifyReader(ReaderNode *preader); /*修改读者信息*/
void ModifyBook(BookNode *pbook); /*修改图书信息*/
void GotoXY(int x, int y); /*光标定位*/
void erase(int n); /*擦除菜单选项*/
void menu(int n); /*菜单选项*/
void FindBook(BookNode *pbook); /*图书搜索*/
void LocalTime(char *strTime); /*获取系统本地时间*/
/*******************************************/
原文地址:http://blog.csdn.net/qingdujun/article/details/17619969
【问题描述】
设计一个计算机管理系统完成图书管理基本业务。
【任务要求】
1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;
2)对书号建立索引表(线性表)以提高查找效率;
3)系统主要功能如下:
*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
*借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
*归还:注销对借阅者的登记,改变该书的现存量。
【进一步完成内容】
1)系统功能的进一步完善;
2)索引表采用树表。
3)设计内容
4)程序流程图
5)源程序
6)软件测试报告(包括所用到的数据及结果)
【数据结构】
这里我们简单的用单链表就可以实现。
// 图书管理系统
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <windows.h>
#include <conio.h>
#include <time.h>
/*定义图书有关的数据结构*/
struct book
{
int BookNum; /*图书编号*/
charBookName[20]; /*图书名字*/
char BookAuthor[15];/*图书作者*/
int nowCount; /*图书现存量*/
int allCount; /*图书库存量*/
};
/*定义与读者有关的数据结构*/
struct reader
{
int ReaderNum; /*读者编号*/
charReaderName[20]; /*读者的姓名*/
charReaderSex[8]; /*读者的性别*/
int ReaderAge; /*读者的年龄*/
charReaderTel[15]; /*读者的电话*/
int ReaderCount; /*读者目前已经借阅的数目*/
charpassword[16]; /*读者证件密码*/
chardate[10][100]; /*读者借阅日期*/
intReaderBorrow[10]; /*当前已经借阅的图书编号*/
charBorrowName[10][40];/*已经借阅的图书名字*/
};
/*定义与每条图书纪录有关的数据结构*/
typedef struct booknode
{
struct book data; /*数据域*/
struct booknode*next; /*指针域*/
}BookNode;
/*定义与每条读者纪录有关的数据结构*/
typedef struct readernode
{
struct readerdata; /*数据域*/
struct readernode*next; /*指针域*/
}ReaderNode;
/*定义图书馆中读者和藏书的总数目*/
struct rbnum
{
int rnum; /*读者总个数*/
int bnum; /*书籍总本数*/
}allRBnum;
/*******************************************/
/*函数声明*/
BookNode *OpenBook(); /*打开图书库文件*/
ReaderNode *OpenReader(); /*打开读者库文件*/
void InBook(BookNode *pbook); /*图书录入*/
void SaveBook(BookNode *pbook); /*图书信息保存*/
void SaveReader(ReaderNode *preader); /*读者信息保存*/
void BorrowBook(BookNode *pbook, ReaderNode *preader); /*图书借阅*/
void ReturnBook(BookNode *pbook, ReaderNode *preader); /*图书归还*/
void LookBook(BookNode *pbook); /*浏览图书库*/
void LookReader(ReaderNode *preader); /*浏览读者库*/
void InReader(ReaderNode *preader); /*借书证办理*/
void FindReaderAll(ReaderNode *preader); /*读者信息查询*/
ReaderNode *LoginReader(ReaderNode *preader); /*读者登陆验证*/
int LoginAdmin(); /*管理员登陆验证*/
void ModifyReader(ReaderNode *preader); /*修改读者信息*/
void ModifyBook(BookNode *pbook); /*修改图书信息*/
void GotoXY(int x, int y); /*光标定位*/
void erase(int n); /*擦除菜单选项*/
void menu(int n); /*菜单选项*/
void FindBook(BookNode *pbook); /*图书搜索*/
void LocalTime(char *strTime); /*获取系统本地时间*/
/*******************************************/
原文地址:http://blog.csdn.net/qingdujun/article/details/17619969
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询