導航:首頁 > 萬維百科 > 圖書查詢系統網站設計

圖書查詢系統網站設計

發布時間:2020-11-26 22:19:52

1、圖書信息管理系統設計(turbo C 版的)

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

struct BOOK
{
int id,usr[10],total,store,days[10];
char name[31],author[21];
}books[100];
/*上面是結構體的定義,用於存放書籍及借書的信息。*/

void page_title(char *menu_item)
{
clrscr();
printf(">>> 圖 書 管 理 系 統 <<<\n\n- %s -\n\n",menu_item);
}
/*上面是列印頁眉的函數,同時通過參數menu_item,可以顯示當前的狀態。*/

void return_confirm(void)
{
printf("\n按任意鍵返回……\n");
getch();
}
/*上面是返回前請求確認的函數,以便在返回前觀察結果*/

int search_book(void)
{
int n,i;
printf("請輸入圖書序號:");
scanf("%d",&i);
for(n=0;n<100;n++)
{
if(books[n].id==i)
{
printf("書名:%s\n",books[n].name);
printf("作者:%s\n",books[n].author);
printf("存數:%d of ",books[n].store);
printf("%d\n",books[n].total);
return n;
}
}
printf("\n輸入錯誤或無效圖書序號.\n");
return -1;
}
/*上面的函數是在數組中找到圖書號匹配的記錄,顯示其信息並返
回數組下標,如果找不到相應記錄則提示錯誤並返回-1。*/

void book_out(void)
{
int n,s,l,d;
page_title("借閱圖書");
if((n=search_book())!=-1&&books[n].store>0)
{
printf("請輸入借書證序號:");
scanf("%d",&s);
printf("請輸入可借天數:");
scanf("%d",&d);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==0)
{
books[n].usr[l]=s;
books[n].days[l]=d;
break;
}
}
books[n].store--;
}
if(n!=-1&&books[n].store==0) printf("此書已經全部借出.\n");
return_confirm();
}
/*上面是借書的函數,首先調用找書函數*/

void book_in(void)
{
int n,s,l;
page_title("歸還圖書");
if((n=search_book())!=-1&&books[n].store<books[n].total)
{
printf("借閱者圖書證列表:\n");
for(l=0;l<10;l++)
if (books[n].usr[l]!=0)
printf("[%d] - %d天\n",books[n].usr[l],books[n].days[l]);
printf("請輸入借書證序號:");
scanf("%d",&s);
for(l=0;l<10;l++)
{
if(books[n].usr[l]==s)
{
books[n].usr[l]=0;
books[n].days[l]=0;
break;
}
}
books[n].store++;
}
if(n!=-1&&books[n].store==books[n].total)
printf("全部入藏.\n");
return_confirm();
}

void book_add(void)
{
int n;
page_title("注冊新書");
for(n=0;n<100;n++)
if(books[n].id==0) break;
printf("序號:");
scanf("%d",&books[n].id);
printf("書名:");
scanf("%s",&books[n].name);
printf("作者:");
scanf("%s",&books[n].author);
printf("數量:");
scanf("%d",&books[n].total);
books[n].store=books[n].total;
return_confirm();
}
void book_del(void)
{
int n;
page_title("注銷舊書");
if((n=search_book())!=-1) books[n].id=0;
printf("該書已注銷.\n");
return_confirm();
}

void main(void)
{
menu: page_title("操作選單");
printf("請用數字鍵選擇操作\n\n");
printf("1 借閱圖書\n2 歸還圖書\n\n");
printf("3 注冊新書\n4 注銷舊書\n\n");
printf("\n0 退出\n");
switch(getch())
{
case '1' : book_out();break;
case '2' : book_in();break;
case '3' : book_add();break;
case '4' : book_del();break;
case '0' : exit(0);
}
goto menu;
}
{
int n;
page_title("廣?症慕");
if((n=search_book())!=-1) books[n].id=0;
printf("乎慕廝廣?.\n");
return_confirm();
}

void main(void)
{
menu: page_title("荷恬僉汽");
printf("萩喘方忖囚僉夲荷恬\n\n");
printf("1 処堋夕慕\n2 拷珊夕慕\n\n");
printf("3 廣過仟慕\n4 廣?症慕\n\n");
printf("\n0 曜竃\n");
switch(getch())
{
case '1' : book_out();break;
case '2' : book_in();break;
case '3' : book_add();break;
case '4' : book_del();break;
case '0' : exit(0);
}
goto menu;
}

2、誰可以幫我設計一個在線圖書銷售網站的網站規劃方案,非常非常感謝

1系統設計思想
1.本系統設計以專題學習網站管理系統設計為核心,以先進的計算機多媒體技術、數據處理技術、互連網技術為技術基礎。
2. 專題學習網站的資源組織和管理系統採用基於Browser/Server的三層結構,如圖3-1所示。

圖3-1專題學習網站資源組織和管理系統三層結構圖
3. 本系統以《國家遠程教育工程資源建設技術規范》對資源的描述為主要參考。
4.對所包含資源進行科學合理的組織,為學生提供網路輔助學習環境,為教師提供網路輔助教學平台,使學生在學習過程中逐漸培養學習知識的能力、審美能力、創新能力,使教師在教學過程中提高信息化教學能力。
3.2系統設計原則
1.實用性原則:根據教與學的需要和專業建設與發展需要進行設計開發,邊使用,邊改進。
2.系統性原則:整個網站管理系統是一個有機的整體,各功能模塊既相互獨立又彼此聯系。
3.交互性原則:專題學習網站要有良好的交互性,能及時對學生的學習活動做出相應的反饋。表現的知識應該是可操縱的、不斷更新的。
4.可擴展性原則: 便於在原有功能基礎上增加新的功能模塊,具有一定的開放性:
5.一致性原則:管理系統的設計與頁面系統的設計及資料庫的設計保持名稱、使用者許可權等的一致性。
3.3系統功能設計
1.用戶管理子系統功能
(1)用戶注冊(新市民注冊)
(2)驗證用戶的注冊信息
(3)用戶進入系統時的身份驗證
(4)用戶可以自行修改個人信息
(5)顯示詳細的用戶信息
(6)根據用戶提供的有關信息找回忘記的密碼
2.資源管理子系統功能
(1)對教學資源進行分類管理
(2)為用戶提供資源檢索功能
(3)用戶可以下載資源庫中的資源
3.在線調查與評價子系統
(1)對幾種身份不同的人進行在線問卷調查,並對問卷調查結果進行在線統計。
(2)學生作品進行在線評價,包括自評、互評、點評。
4.課程項目設計管理子系統的功能
(1)對學習任務(課程設計項目)進行管理
(2)對學習者進行分組
(3)提供課程項目的查詢功能
(4)提供課程項目設計結果(學生網站作品)的上傳功能
5.交流討論子系統功能
(1)版主的申請
(2)版主對版面內容及討論內容的管理
(3)用戶之間可以自由討論
(4)用戶可以直接向管理員提問
(5) 提供資源上傳功能,用戶可以把自己創造的資源上傳到此交流系統
6.管理員管理子系統要求
(1)對管理員身份的驗證
(2)對資料庫中的用戶進行管理
(3)對資料庫中的資源信息進行管理
(4)對交流系統中版主的管理
(5)對交流系統中討論區的管理
(6)對交流系統中新上傳資源的管理
(7)回復用戶留言
3.4系統總體框架
根據系統功能設計的總體要求,本網站管理系統分為下述6個子系統:
1.用戶管理子系統
對用戶許可權和用戶資料進行管理。可輸入、修改用戶信息,並能對用戶身份予以驗證。具體包括用戶登錄頁面、新用戶注冊頁面、忘記密碼找回頁面、老用戶信息修改頁面等。
2.資源管理子系統
按教學需要對學習資源進行了分類,同時提供資源搜索和資源下載功能。具體分為教程列表頁面、媒體素材庫頁面、課件庫頁面、典型範例頁面、學生作品庫頁面、文獻資料庫頁面、資源搜索和搜索結果頁面等。
3.在線調查與評價子系統
(1)對各類用戶進行各種問卷調查並對問卷調查結果進行統計。包括學生問卷頁面、教師問卷頁面、家長問卷頁面、嘉賓問卷頁面等。
(2)對已上傳的學生作品進行在線評價。包括學生自評頁面、學生互評頁面、教師或專家點評頁面等。
4.課程設計項目管理子系統
管理課程設計項目。包括課程項目登記頁面、課程項目查詢頁面等。
5.交流討論子系統:
向用戶提供一個交流討論的空間。可以具體細分為討論版主頁面、討論主題頁面、回復主題頁面、給管理員留言頁面、討論者信息頁面。
6.管理員管理子系統:
對整個系統進行管理。包括用戶管理頁面、資源庫管理頁面、討論版管理頁面、版主管理頁面、修改刪除主題頁面、修改刪除主題回復頁面、新—上傳資源管理頁面和留言回復頁面、刪除留言頁面。
本專題學習網站管理系統整體框架如圖3-2所示.

圖3-2網站管理系統整體結構圖
3.5系統特點
此專題學習網站管理系統主要有如下特點:
1.整個系統完全架構於B/S模式結構之上,使用戶易於學習使用。
2.學習資源豐富,對各種媒體都有良好的支持,用戶可在瀏覽器中任意顯示播放。
3.此網站管理系統對站內資源提供了瀏覽、檢索和下載功能。
4.此網站管理系統為用戶提供了交流討論的空間,用戶可對一些熱點問題發表自己的看法,也可向其他用戶求教。
5.此網站管理系統提供了各種問卷調查和在線評價方式,用戶可參與問卷調查也可對已上傳的作品進行在線評價。
6.系統包含了用戶許可權管理機制,通過新用戶注冊功能注冊的用戶只有基本的使用許可權,管理員具有特殊許可權。

3、圖書信息管理系統設計

#include <iostream>
#include <iomanip>
#include <string>
#include <fstream>//輸入/輸出文件流類
using namespace std;
const int Maxr=100;//最多的讀者
const int Maxb=100;//最多的圖書
const int Maxbor=5;//每位讀者最多借五本書
//讀者類,實現對讀者的信息的描述

class Reader
{
private:
int tag; //刪除標記 1:已刪 0:未刪
int no; //讀者編號
char name[10]; //讀者姓名
int borbook[Maxbor];//所借圖書
public:
Reader() {}
char *getname() {return name;} //獲取姓名
int gettag() {return tag;} //獲取刪除標記
int getno() {return no;} //獲取讀者編號
void setname(char na[]) //設置姓名
{
strcpy(name,na);

}
void delbook(){ tag=1; }//設置刪除標記 1:已刪 0:未刪
void addreader(int n,char *na)//增加讀者
{
tag=0;
no=n;
strcpy(name,na);
for(int i=0;i<Maxbor;i++)
borbook[i]=0;
}
void borrowbook(int bookid)//借書操作
{
for(int i=0;i<Maxbor;i++)
{
if (borbook[i]==0)
{
borbook[i]=bookid;
return;

}
}

}
int retbook(int bookid)//還書操作
{
for(int i=0;i<Maxbor;i++)
{
if(borbook[i]==bookid)
{
borbook[i]=0;
return 1;

}
}
return 0;
}
void disp()//讀出讀者信息
{
cout << setw(5) << no <<setw(10) << name<<"借書編號:[";
for(int i=0;i<Maxbor;i++)
if(borbook[i]!=0)
cout << borbook[i] << "|";
cout << "]"<<endl;

}
};
//讀者類庫,實現建立讀者的個人資料
class RDatabase
{
private:
int top; //讀者記錄指針
Reader read[Maxr];//讀者記錄
public:
RDatabase() //構造函數,將reader.txt讀到read[]中
{
Reader s;
top=-1;
fstream file("reader.txt",ios::in);//打開一個輸入文件
while (1)
{
file.read((char *)&s,sizeof(s));
if (!file)break;
top++;
read[top]=s;
}
file.close(); //關閉 reader.txt
}
void clear()//刪除所有讀者信息
{
top=-1;
}
int addreader(int n,char *na)//添加讀者時先查找是否存在
{
Reader *p=query(n);
if (p==NULL)
{
top++;
read[top].addreader(n,na);
return 1;
}
return 0;
}
Reader *query(int readerid)//按編號查找
{
for (int i=0;i<=top;i++)
if (read[i].getno()==readerid &&
read[i].gettag()==0)
{
return &read[i];
}
return NULL;
}
void disp() //輸出所有讀者信息
{
for (int i=0;i<=top;i++)
read[i].disp();
}
void readerdata();//讀者庫維護
~RDatabase() //析構函數,將read[]寫到reader.txt文件中
{
fstream file("reader.txt",ios::out);
for (int i=0;i<=top;i++)
if (read[i].gettag()==0)
file.write((char *)&read[i],sizeof(read[i]));
file.close();
}
};
void RDatabase::readerdata()
{
char choice;
char rname[20];
int readerid;
Reader *r;
while (choice!='0')
{
cout <<"\n\n\t\t\t讀 者 維 護\n\n\n\t\t 1 新 增\n\n\t\t 2 更 改\n\n\t\t 3 刪 除\n\n\t\t 4 查 找\n\n\t\t 5 顯 示\n\n\t\t 6 全 刪\n\n\t\t 0 退 出"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout << "輸入讀者編號:";
cin >> readerid;
cout << "輸入讀者姓名:";
cin >> rname;
addreader (readerid,rname);
break;
case '2':
cout << "輸入讀者編號:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout << " 該讀者不存在 "<<endl;
break;
}
cout << "輸入新的姓名:";
cin >> rname;
r->setname(rname);
break;
case '3':
cout << " 輸入讀者編號:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout <<" 該讀者不存在" << endl;
break;
}
r->delbook();
break;
case '4':
cout << "讀入讀者編號:";
cin >> readerid;
r=query(readerid);
if (r==NULL)
{
cout <<"該讀者不存在"<< endl;
break;
}
r->disp();
break;
case '5':
disp();
break;
case '6':
clear();
break;
default:cout<<"輸入錯誤,請從新輸入:";break;
}
}
}

//圖書類,實現對圖書的描述,圖書的編號,書名,借出,還入等
class Book
{
private:
int tag;//刪除標記 1:已刪 0:未刪
int no;//圖書編號
char name[20];//書名
int onshelf;//是否再架 1:再架 2:已借
public:
Book(){}
char *getname() { return name; }//獲取姓名
int getno(){ return no; }//獲取圖書編號
int gettag(){ return tag; }//獲取刪除標記
void setname(char na[])//設置書名
{
strcpy(name,na);
}
void delbook(){ tag=1;}//刪除圖書
void addbook(int n,char *na)//增加圖書
{
tag=0;
no=n;
strcpy(name,na);
onshelf=1;
}
int borrowbook()//借書操作
{
if (onshelf==1)
{
onshelf=0;
return 1;
}
return 0;
}
void retbook()//還書操作
{
onshelf=1;
}
void disp()//輸出圖書
{
cout << setw(6) << no << setw(18) << name << setw(10)
<<(onshelf==1? "在架":"已借") <<endl;
}
};

//圖書庫類,實現對圖書的維護,查找,刪除等
class BDatabase
{
private:
int top; //圖書記錄指針
Book book[Maxb]; //圖書記錄
public:
BDatabase()//構造函數,將book.txt讀到book[]中
{
Book b;
top=-1;
fstream file("book.txt",ios::in);
while (1)
{
file.read((char *)&b,sizeof(b));
if (!file) break;
top++;
book[top]=b;
}
file.close();
}
void clear()//全刪
{
top=-1;
}
int addbook(int n,char *na)//增加圖書
{
Book *p=query(n);
if (NULL==p)
{
top++;
book[top].addbook(n,na);
return 1;
}
return 0;
}
Book *query(int bookid)//查找圖書
{
for (int i=0;i<=top;i++)
if (book[i].getno()==bookid &&book[i].gettag()==0)
{
return &book[i];
}
return NULL;
}
void bookdata();//圖書庫維護
void disp()
{
for (int i=0;i<=top;i++)
if (book[i].gettag()==0)
book[i].disp();
}
~BDatabase()//析構函數,將book[]寫到book.txt文件中
{
fstream file("book.txt",ios::out);
for (int i=0;i<=top;i++)
if (book[i].gettag()==0)
file.write((char *)&book[i],sizeof(book[i]));
file.close();
}
};
void BDatabase::bookdata()
{
char choice;
char bname[40];
int bookid;
Book *b;
while (choice!='0')
{
cout <<"\n\n\n\t\t\t圖 書 維 護 "<<endl<<endl;
cout<<"\t\t1 新 增\n \t\t2 更 改\n\t\t3 刪 除\n\t\t4 查 找\n\t\t5 顯 示\n\t\t6 全 刪\n\t\t0 退 出"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout << "輸入圖書編號:"<<endl;
cin >> bookid;
cout << "輸入圖書書名:"<<endl;
cin >> bname;
addbook(bookid,bname);
break;
case '2':
cout << "輸入圖書編號:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout << " 該圖書不存在 "<<endl;
break;
}
cout << "輸入新的書名:"<<endl;
cin >> bname;
b->setname(bname);
break;
case '3':
cout <<" 讀入圖書編號:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout <<" 該圖書不存在" << endl;
break;
}
b->delbook();
break;
case '4':
cout << " 讀入圖書編號:"<<endl;
cin >> bookid;
b=query(bookid);
if (b==NULL)
{
cout <<" 該圖書不存在"<< endl;
break;
}
b->disp();
break;
case '5':
disp();
break;
case '6':
clear();
break;
default:cout<<"輸入錯誤,請從新輸入:";
}
}
}
//main() 函數的實現,程序的主界面的引導
void main()
{
char choice;
int bookid,readerid;
RDatabase ReaderDB;
Reader *r;
BDatabase BookDB;
Book *b;
while(choice!='0')
{
cout <<endl<<endl<<"\t\t\t 圖 書 管 理 系 統\n\n\n";

cout <<"\t\t\t1 借 書\n\n\t\t\t2 還 書 \n\n\t\t\t3 圖 書 維 護\n\n\t\t\t4 讀 者 維 護\n\n\t\t\t0 離 開"<<endl;
cin >> choice;
switch (choice)
{
case '1':
cout <<" 借書 讀者編號:";
cin >>readerid;
cout <<" 圖書編號: ";
cin >>bookid;
r=ReaderDB.query(readerid);//按編號查找
if (NULL==r)
{
cout <<" 不存在該讀者,不能借書"<< endl;
break;
}
b=BookDB.query(bookid);
if (b==NULL)
{
cout <<" 不存在該圖書,不能借書"<< endl;
break;
}
if (b->borrowbook()==0)
{
cout << " 該圖書已借出,不能借書"<< endl;
break;
}
r->borrowbook(b->getno());
break;
case '2':
cout<<"還書\n 讀者編號:";
cin >>readerid;
cout << " 圖書編號:";
cin >>bookid;
r=ReaderDB.query(readerid);
if (r==NULL)
{
cout <<" 不存在該讀者,不能還書" << endl;
break;
}
b=BookDB.query(bookid);
if (b==NULL)
{
cout <<" 不存在該圖書,不能還書" <<endl;
break;
}
b->retbook();
r->retbook(b->getno());
break;
case '3':
BookDB.bookdata();
break;
case '4':
ReaderDB.readerdata();
break;
default:cout<<"輸入錯誤,請從新輸入:";
}
}
}

4、基於VFP的學校圖書查詢系統的設計

太沒創意了
連廣告都做的一樣.
免費的在網上不好找
你可以通過你們學校找找你的學長
讓同校的學長給你篇參考參考.

借閱管理:包括借閱查詢.查詢內容包括客戶信息,借閱日期,圖書編號,圖書名稱.
庫房管理:包括庫存圖書信息的一些情況,以及每天借還情況.
基礎信息管理:包括圖書信息,系統開發說明.
財務管理:借閱情況.
系統管理:許可權認證.進入系統管理員許可權界面,對系統數據修改和維護.
退出系統.
實現目標:針對圖書館行業的行業特點,圖書管理系統在實施後,應能達到以下目標
(1)統界面友好美觀,操作簡單易行.
(2)全面自動化信息管理,可隨時掌握圖書的進借存信息.
(3)靈活准確的收費,提高工作效率.
(4)查詢靈活方便,數據存儲安全可靠.
(5)功能全面,實用性強.
系統結構圖:本系統共6個部分,5個完整的功能模塊.
許可權認證:
主界面:(表單)包含系統菜單,在主程序中建立事件循環即可運行.
菜單:圖書菜單管理
資料庫:圖書管理數據,包含客戶信息表,入庫登記,系統操作員表,借閱登記表,圖書信息表.
表單:退出系統,系統登陸,系統開發說明,銷售查詢表,圖書管理系統,圖書信息表.
退出系統:在獲得一定的信息後,可回到退出系統界面,點擊"退出系統"即可退出.

5、書籍(圖書)查詢系統

$留個標記,絕對救急
$帶著你的問題和Email來找我,
$如有進一步需求 ,可以與我們取得聯系,祝你順利畢業.
----
此回復針對所有需要此源碼的頁面訪問和圍觀者有效.
$帶著你的問題和Email來找我,

6、圖書信息管理系統設計圖書信息

我這剛剛做好一個,郵箱留下,給你發過去。

7、圖書館管理系統設計??

8.某高校圖書館管理信息系統的分析、設計與實施
某高校圖書館藏書200餘萬冊,擁有包括在校學生、教職員工在內的讀者2萬余名,每天的借閱量近萬冊。在手工操作方式下,圖書的編目和借閱等工作量大、准確性低且不易修改維護,讀者借書只能到圖書館手工方式查找書目,不能滿足借閱需求。因此,需要建立圖書管理信息系統,以實現對讀者借閱、圖書采購和保管等工作的信息化管理,並實現文獻的電子化檢索和閱讀。
圖書館由館長負責全面工作,下設辦公室、技術部、信息咨詢部、文獻建設部、流通部、閱覽部。各部門的主要功能是:
(1) 辦公室:負責本館的行政和總務工作。
(2) 技術部:負責圖書館計算機系統的開發、維護和多功能電子閱覽室、多媒體製作室、視聽室的管理。
(3) 信息咨詢部:負責國際聯機檢索、光碟檢索、手工檢索查新和資源共享等工作。
(4) 文獻建設部:負責圖書、期刊、電子文獻的采購、編目和典藏工作。
(5) 流通部:負責圖書借閱流通工作。
(6) 閱覽部:負責各個閱覽室的管理工作。
圖書館管理系統所要實現主要功能和業務流程如下:
(1) 讀者信息管理。讀者分為學生讀者和教職工讀者兩類,讀者訪問系統時將檢驗讀者賬號和密碼,只有具有合法身份的讀者才允許進入系統。讀者的信息包括讀者類型信息、讀者借閱信息、讀者預約信息、讀者罰款信息等。
(2) 書目查詢。讀者進入圖書管理系統後,可以根據需要檢索書名或期刊。檢索條件可以是書名、圖書編號、作者姓名或關鍵字等條件,如果查詢信息不確切還可以進行模糊查詢。
(3) 圖書采編。由文獻建設部相關人員根據讀者需求情況、書籍出版情況等定期進行書籍采購。圖書采購入庫經過編目等處理後,將其目錄存入資料庫,提供給讀者檢所使用。目錄信息包括圖書編號、圖書類別、書名、作者、出版社、定價、出版日期、數量等。
(4) 圖書借閱。可辦理讀者借閱、還書、續借等手續。讀者查找到所需圖書後,到圖書館辦理借閱手續,借閱期限為60天,借閱期滿後可續借一次,續借期為30天。辦理借閱手續之前要先查詢讀者所借圖書是否超額,如果超額,則不能辦理。學生讀者最多可借10冊,教工讀者最多可借15冊。讀者還書時要先查詢是否超期,如果超期則進入罰款程序。
(5) 圖書預約。讀者檢索到需要的圖書後,如果該圖書均已被借出,則可進行圖書預約,當該圖書歸還後通知預約讀者前來辦理借閱手續,該圖書可為預約讀者保留三天,如果讀者在三天內未辦理借閱手續,則取消預約資格。
(6) 電子讀物管理。電子讀物管理處理電子讀物的閱覽、檢索、下載等事務。
(7) 系統維護。為圖書管理人員提供圖書統計信息和讀者統計信息,以便於管理人員從宏觀上掌握圖書館運行的總體狀況。

8、2、 圖書信息管理系統設計

自己寫的課程設計
和你這個差不多的
僅供參考

#include<stdio.h>
#include<math.h>
#include<string.h>
#include<stdlib.h>

struct books_list
{

char author[20]; /*作者名*/
char bookname[20]; /*書名*/
char publisher[20]; /*出版單位*/
char pbtime[15]; /*出版時間*/
char loginnum[10]; /*登陸號*/
float price; /*價格*/
char classfy[10]; /*分類號*/
struct books_list * next; /*鏈表的指針域*/
};

struct books_list * Create_Books_Doc(); /*新建鏈表*/
void InsertDoc(struct books_list * head); /*插入*/
void DeleteDoc(struct books_list * head , int num);/*刪除*/
void Print_Book_Doc(struct books_list * head);/*瀏覽*/
void search_book(struct books_list * head); /*查詢*/
void info_change(struct books_list * head);/*修改*/
void save(struct books_list * head);/*保存數據至文件*/

/*新建鏈表頭節點*/
struct books_list * Create_Books_Doc()
{
struct books_list * head;
head=(struct books_list *)malloc(sizeof(struct books_list)); /*分配頭節點空間*/
head->next=NULL; /*頭節點指針域初始化,定為空*/
return head;
}

/*保存數據至文件*/
void save(struct books_list * head)
{
struct books_list *p;
FILE *fp;
p=head;
fp=fopen("data.txt","w+"); /*以寫方式新建並打開 data.txt文件*/
fprintf(fp,"┏━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━┳━━━━┓\n"); /*向文件輸出表格*/
fprintf(fp,"┃登錄號┃ 書 名 ┃ 作 者┃ 出版單位 ┃ 出版時間 ┃分類號┃ 價格 ┃\n");
fprintf(fp,"┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━╋━━━━┫\n");
/*指針從頭節點開始移動,遍歷至尾結點,依次輸出圖書信息*/
while(p->next!= NULL)
{
p=p->next;
fprintf(fp,"┃%-6.6s┃%-10.10s┃%-10.10s┃%-10.10s┃%-12.12s┃%-6.6s┃%.2f ┃\n",p->loginnum,p->bookname,p->author,p->publisher,p->pbtime,p->classfy,p->price);
}
fprintf(fp,"┗━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━┻━━━━┛\n");
fclose(fp);
printf(" 已將圖書數據保存到 data.txt 文件\n");
}

/*插入*/
void InsertDoc(struct books_list *head)
{
/*定義結構體指針變數 s指向開辟的新結點首地址 p為中間變數*/
struct books_list *s, *p;
char flag='Y'; /*定義flag,方便用戶選擇重復輸入*/
p=head;
/*遍歷到尾結點,p指向尾結點*/
while(p->next!= NULL)
{
p=p->next;
}
/*開辟新空間,存入數據,添加進鏈表*/
while(flag=='Y'||flag=='y')
{
s=(struct books_list *)malloc(sizeof(struct books_list));
printf("\n 請輸入圖書登陸號:");
fflush(stdin);
scanf("%s",s->loginnum);
printf("\n 請輸入圖書書名:");
fflush(stdin);
scanf("%s",s->bookname);
printf("\n 請輸入圖書作者名:");
fflush(stdin);
scanf("%s",s->author);
printf("\n 請輸入圖書出版社:");
fflush(stdin);
scanf("%s",s->publisher);
printf("\n 請輸入圖書出版時間:");
fflush(stdin);
scanf("%s",s->pbtime);
printf("\n 請輸入圖書分類號:");
fflush(stdin);
scanf("%s",s->classfy);
printf("\n 請輸入圖書價格:");
fflush(stdin);
scanf("%f",&s->price);
printf("\n");
p->next=s; /*將新增加的節點添加進鏈表*/
p=s; /*p指向尾節點,向後移*/
s->next=NULL;
printf(" ━━━━ 添加成功!━━━━");
printf("\n 繼續添加?(Y/N):");
fflush(stdin);
scanf("%c",&flag);
printf("\n");
if(flag=='N'||flag=='n')
{break;}
else if(flag=='Y'||flag=='y')
{continue;}
}
save(head); /*保存數據至文件*/
return;
}

/*查詢操作*/

void search_book(struct books_list *head)
{
struct books_list * p;
char temp[20];
p=head;
if(head==NULL || head->next==NULL) /*判斷資料庫是否為空*/
{
printf(" ━━━━ 圖書庫為空!━━━━\n");
}
else
{
printf("請輸入您要查找的書名: ");
fflush(stdin);
scanf("%s",temp);
/*指針從頭節點開始移動,遍歷至尾結點,查找書目信息*/
while(p->next!= NULL)
{
p=p->next;
if(strcmp(p->bookname,temp)==0)
{
printf("\n圖書已找到!\n");
printf("\n");
printf("登錄號: %s\t\n",p->loginnum);
printf("書名: %s\t\n",p->bookname);
printf("作者名: %s\t\n",p->author);
printf("出版單位: %s\t\n",p->publisher);
printf("出版時間: %s\t\n",p->pbtime);
printf("分類號: %s\t\n",p->classfy);
printf("價格: %.2f\t\n",p->price);
}
if(p->next==NULL)
{
printf("\n查詢完畢!\n");
}
}
}
return;
}

/*瀏覽操作*/

void Print_Book_Doc(struct books_list * head)
{
struct books_list * p;
if(head==NULL || head->next==NULL) /*判斷資料庫是否為空*/
{
printf("\n ━━━━ 沒有圖書記錄! ━━━━\n\n");
return;
}
p=head;
printf("┏━━━┳━━━━━┳━━━━━┳━━━━━┳━━━━━━┳━━━┳━━━━┓\n");
printf("┃登錄號┃ 書 名 ┃ 作 者┃ 出版單位 ┃ 出版時間 ┃分類號┃ 價格 ┃\n");
printf("┣━━━╋━━━━━╋━━━━━╋━━━━━╋━━━━━━╋━━━╋━━━━┫\n");
/*指針從頭節點開始移動,遍歷至尾結點,依次輸出圖書信息*/
while(p->next!= NULL)
{
p=p->next;
printf("┃%-6.6s┃%-10.10s┃%-10.10s┃%-10.10s┃%-12.12s┃%-6.6s┃%.2f ┃\n",p->loginnum,p->bookname,p->author,p->publisher,p->pbtime,p->classfy,p->price); /*循環輸出表格*/
}
printf("┗━━━┻━━━━━┻━━━━━┻━━━━━┻━━━━━━┻━━━┻━━━━┛\n");
printf("\n");
}

/*修改操作*/
void info_change(struct books_list * head)
{
struct books_list * p;
int panan=0; /*此變數用於判斷是否找到書目*/
char temp[20];
p=head;
printf("請輸入要修改的書名:");
scanf("%s",temp);
while(p->next!= NULL)
{
p=p->next;
if(strcmp(p->bookname,temp)==0)
{
printf("\n 請輸入圖書登陸卡號:");
fflush(stdin);
scanf("%s",p->loginnum);
printf("\n 請輸入圖書書名:");
fflush(stdin);
scanf("%s",p->bookname);
printf("\n 請輸入圖書作者名:");
fflush(stdin);
scanf("%s",p->author);
printf("\n 請輸入圖書出版社:");
fflush(stdin);
scanf("%s",p->publisher);
printf("\n 請輸入圖書出版時間:");
fflush(stdin);
scanf("%s",p->pbtime);
printf("\n 請輸入圖書分類號:");
fflush(stdin);
scanf("%s",p->classfy);
printf("\n 請輸入圖書價格:");
fflush(stdin);
scanf("%f",&p->price);
printf("\n");
panan=1;
}
}
if(panan==0)
{
printf("\n ━━━━ 沒有圖書記錄! ━━━━\n\n");
}
return;
}

/*刪除操作*/
void DeleteDoc(struct books_list * head)
{
struct books_list *s,*p; /*s為中間變數,p為遍歷時使用的指針*/
char temp[20];
int panan; /*此變數用於判斷是否找到了書目*/
panan=0;
p=s=head;
printf(" [請輸入您要刪除的書名]:");
scanf("%s",temp);
/*遍歷到尾結點*/
while(p!= NULL)
{
if(strcmp(p->bookname,temp)==0)
{
panan++;
break;
}
p=p->next;
}
if(panan==1)
{
for(;s->next!=p;) /*找到所需刪除卡號結點的上一個結點*/
{
s=s->next;
}
s->next=p->next; /*將後一節點地址賦值給前一節點的指針域*/
free(p);
printf("\n ━━━━ 刪除成功! ━━━━\n");
}
else /*未找到相應書目*/
{
printf(" 您輸入的書目不存在,請確認後輸入!\n");
}
return;
}

int main(void)
{
struct books_list * head;
char choice;
head=NULL;
for(;;) /*實現反復輸入選擇*/
{
printf(" ┏━┓━━━━━━━━━━━━━━━━━━━┏━┓\n");
printf(" ┃ ┃ socat 圖書管理系統 ┃ ┃\n");
printf(" ┃ ┗━━━━━━━━━━━━━━━━━━━┛ ┃\n");
printf(" ┃ ●[1]圖書信息錄入 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ●[2]圖書信息瀏覽 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ●[3]圖書信息查詢 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ●[4]圖書信息修改 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ●[5]圖書信息刪除 ┃\n");
printf(" ┃ ┃\n");
printf(" ┃ ●[6]退出系統 ┃\n");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━━━┛\n");
printf(" 請選擇:");
fflush(stdin);
scanf("%c",&choice);
if(choice=='1')
{
if(head==NULL)
{
head=Create_Books_Doc();
}
InsertDoc(head);

}
else if(choice=='2')
{
Print_Book_Doc(head);
}
else if(choice=='3')
{
search_book(head);
}
else if(choice=='4')
{
info_change(head);
}
else if(choice=='5')
{
DeleteDoc(head);
}
else if(choice=='6')
{
printf("\n");
printf(" ━━━━━━━━ 感謝使用圖書管理系統 ━━━━━━━━\n");
break;
}
else
{
printf(" ━━━━ 輸入錯誤,請重新輸入!━━━━");
break;
}
}
return 0;
}

9、求個圖書館查詢系統的設計文檔

圖書館查詢系統的設計
你個只是說編輯平台,沒說開發平台
怎麼搞的

與圖書查詢系統網站設計相關的知識