問題描述
設計壹個計算機管理系統完成圖書管理基本業務。
任務要求
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); /*獲取系統本地時間*/
/*******************************************/
原文地址:/qingdujun/article/details/17619969