資源簡介
圖書管理:增加圖書、修改圖書、刪除圖書、統計圖書;
借閱管理:查找圖書、借閱圖書、歸還圖書、借閱圖書統計;
讀者管理:申請讀者卡、刪除讀者卡、修改讀者卡;
館員管理:添加管理員、修改管理員信息、刪除管理員。
根據以上功能說明,設計館員信息、讀者信息、讀者卡信息、圖書信息的存儲結構,數據存儲在文件中,界面要求有合理的提示,每個功能可以設立菜單,根據提示可以完成相關的功能要求。在編譯、連接與運行程序的過程中,應充分利用調試方法與工具,同時不斷總結編寫和調試較大型程序的經驗與體會,按設計的要求寫出設計報告。

代碼片段和文件信息
#include
enum?t{NY};????????????????????????????????//是否借出的變量
typedef?struct?book?????????????????????????//圖書結構體(書名,書號,是否借出)
{
char?bookname[20];
int?booknum;
t?lendtrue;
}books;
typedef?struct?card?????????????????????????//借書卡結構體(卡號,讀者姓名,班級,書號,結束日期)
{
int?cardnum;
char?readername[10];
int?Class;
int?booknum;
int?lenddate;
}cards;
typedef?struct?librarian????????????????????//管理員結構體(編號,姓名,年齡,性別,級別,工資)
{
int?librnnum;
char?librnname[15];
int?librnage;
char?librnsex;
char?librnleve[10];
long?int?librntage;
}librarians;
int?i;??????????????????????????????????????//全局變量i
books?book[5000]={““0N};????????????????????//初始化書結構體,卡結構體和管理員結構體
cards?card[5000]={0““000};??????????????
librarians?librarian[50]={0““0‘?‘““0};
int?book_statistic(books?*);??????????????//圖書統計函數聲明
void?book_list(books?*);??????????????????//圖書一覽函數聲明
void?book_add(books?*);???????????????????//增加圖書函數聲明
void?book_alter(books?*);?????????????????//修改圖書函數聲明
void?book_delete(books?*);????????????????//刪除圖書函數聲明
void?book_search(books?*); ???????//查找圖書函數聲明
void?book_lend(books?*cards?*); ???//借閱圖書函數聲明
void?book_return(books?*cards?*); ???//歸還圖書函數聲明
int?book_lendstatistic(books?*); ???//借閱統計函數聲明
int?card_statistic(cards?*);??????????????//借書卡統計函數聲明
void?card_list(cards?*);??????????????????//借書卡一覽函數聲明
void?card_create(cards?*);????????????????//創建借書卡函數聲明
void?card_delete(cards?*);????????????????//刪除借書卡函數聲明
void?card_alter(cards?*);?????????????????//修改借書卡函數聲明
int?librarian_statistic(librarians?*); ??//管理員統計函數聲明
void?librarian_list(librarians?*); ??//管理員一覽函數聲明
void?librarian_create(librarians?*); ??????//創建管理員函數聲明
void?librarian_delete(librarians?*);??????????????//刪除管理員函數聲明
void?librarian_alter(librarians?*);???????????????//修改管理員函數聲明
void?bookmanage(books?*);?????????????????//圖書管理函數聲明
void?lendmanage(books?*cards?*);?????????//借閱管理函數聲明
void?readmanage(cards?*);?????????????????//讀者卡管理函數聲明
void?librarianmanage(librarians?*);???????//管理員管理函數聲明
void?main()????????????????????????????????//主函數
{
int?n;
do{
printf(“&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&“);
printf(“\n1:圖書管理\t2:借閱管理\n“);
printf(“3:讀者管理\t4:館員管理\t5:退出\n“);
printf(“&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&\n“);
scanf(“%d“&n);
switch(n)
{
case?1:bookmanage(book);????????//調用圖書管理函數
break;
case?2:lendmanage(bookcard);???//調用借閱管理函數
break;
case?3:readmanage(card);????????//調用讀者卡管理函數
break;
case?4:librarianmanage(librarian);???//調用管理員管理函數
break;
}
}while(n!=5);
printf(“請輸入保存路徑:\n“);?????????????//退出主函數之前,把圖書數組,借書卡數組和管理員數組保存文件
FILE?*fp;
char?a[20];
getchar();
gets(a);????????????????????????????????//輸入文件路徑
if((fp=fopen(a“w“))==NULL)?????????????//以只寫方式打開文件
{
printf(“ERROR!\n“);
return;
}
fputs(“圖書數據庫\n“fp);????????????????//保存圖書數組
fputs(“圖書編號\t圖書名字\t\t圖書借出“fp);
for(i=0;i {
fprintf(fp“\n%-8d\t%-15s\t\t%8d“book[
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????14091??2009-11-20?12:16??圖書管理\圖書管理.cpp
?????文件?????433152??2010-03-15?23:06??圖書管理\圖書管理.doc
?????目錄??????????0??2009-11-20?12:31??圖書管理
-----------?---------??----------?-----??----
???????????????447243????????????????????3
- 上一篇:ssm redis實現sso單點登錄
- 下一篇:C#+sql簡單的留言板
評論
共有 條評論