圖書登記管理程序設計.doc_第1頁
圖書登記管理程序設計.doc_第2頁
圖書登記管理程序設計.doc_第3頁
圖書登記管理程序設計.doc_第4頁
圖書登記管理程序設計.doc_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

圖書登記管理程序設計人員介紹:09024114 王蕊 09024120 李翔宇 09024121 宋江雪一題目內容的描述設計一個圖書登記管理程序。該程序具有下列功能:(1)通過鍵盤輸入某本圖書的信息,如書名、編號、作者、出版社、價格等(2)給定圖書編號,刪除該本圖書的信息;(3)給定圖書編號,顯示該本圖書的所有信息;(4)給定書名,顯示該本圖書的所有信息;(5)提供兩種統(tǒng)計信息的功能,分別是按作者與出版社統(tǒng)計。二軟件描述功能介紹:圖書登記管理程序可以通過鍵盤輸入圖書的信息來查詢相應的圖書。查詢方式可分為按作者姓名、圖書編號、出版社、類別等幾大類。軟件可以按類別和作者統(tǒng)計圖書。可輸出所有圖書的信息??蓱糜趫D書館作為圖書管理系統(tǒng)軟件。 性能描述:(1) 讀者可以通過鍵盤輸入想要查詢的圖書信息,包括圖書的編號、書名、作者姓名、出版社、類別、庫存量等。(2) 在提示輸入的界面,給出明確提示信息,包括輸入項目,輸入格式和結束方式。(3) 提供多級多線索交叉查詢。(4) 查詢失敗是返回輸入界面,重新輸入信息。(5) 在使用統(tǒng)計功能時,可以按類別和作者統(tǒng)計。(6) 可重新輸入或修改圖書信息。程序開始主菜單用戶選擇輸入圖書信息按書號搜索按作者搜索按出版社搜索刪除圖書信息按類別統(tǒng)計退出程序輸入信息繼續(xù)輸入繼續(xù)搜索按作者統(tǒng)計修改圖書信息輸出所有圖書信息三程序模塊結構圖1 總體設計:2詳細設計:1輸入圖書信息:NoYesYesNo輸入信息格式是否正確開始保存信息是否繼續(xù)輸入結束2 刪除圖書信息:NoYes開始輸入圖書編號是否刪除刪除信息結束開始3 圖書搜索:NoYesYesNo按出版社按作者按書號選擇檢索方式輸入書號輸入作者輸入出版社搜索圖書輸出 圖書不存在是否存在輸出 圖書信息輸入任意信息結束是否繼續(xù)搜索4 圖書統(tǒng)計:開始選擇統(tǒng)計方式輸入類別輸入作者檢索圖書輸出統(tǒng)計信息輸入任意信息結束此模塊中輸出統(tǒng)計信息中需要傳值調用輸出共有多少書籍被搜索到。5 修改圖書信息:NoYes開始輸入書號調出圖書信息是否修改輸入新圖書信息覆蓋原圖書信息結束四源程序#define MAX 300#include#include#include#includeint all=0; /*全局變量*/struct bookInfo /*結構體類型定義*/ int num; /*圖書編號*/ char bookname10; /*書名*/ char writer5; /*作者*/ char from10; /*出版社*/ char price5; /*價格*/ char type2; /*類別*/ int kunum; /*庫存量*/init=0,0,0,0,0,0,0;struct bookTypestruct bookInfo bookMAX; int num;bo;#include menu.c#include choice.c#include Init.c#include Input.c#include Print.c#include search.c#include semenu.c#include count.c#include Delete.c#include modify.c#include output.cmain() /*主函數朱延巍*/ int choice,index; textcolor(14); do clrscr(); choice=choiceItem(); switch (choice) case 1:clrscr();Input();break; case 2:Delete();break; case 3:Searchmain();break; case 4:Countmain();break; case 5:modify();break; case 6:output();break; case 0:clrscr(); printf(nnntt謝謝您的使用!); printf(nntt朱延巍 (05020231) All Rights Reserved.); printf(nnntt按任意鍵退出.); break; while(choice); getch();void Init() /*初始化函數*/ int i,u; printf(nnt刪除所有圖書信息?(yes-1,no-0)n); scanf(%d,&u); if(u!=0) for(i=0;iMAX;i+) bo.booki.num=0; strcpy(bo.booki.bookname,init.bookname); strcpy(bo.booki.writer,init.writer); strcpy(bo.booki.from,init.from); strcpy(bo.booki.price,init.price); strcpy(bo.booki.type,init.type); bo.booki.kunum=0; ; all=0; else main(); int choiceItem() /*選擇功能函數*/ int choice; do DisplayMenu(); scanf(%d,&choice); while(choice6); return choice;DisplayMenu() /*顯示主菜單*/ int i; textcolor(14);/*yellow 14 blue 9*/ gotoxy(30,3);putch(0xc9); for(i=0;i=19;i+) putch(0xcd); putch(0xbb); gotoxy(30,4);putch(0xba); printf( 圖書登記管理程序 ); putch(0xba); gotoxy(30,5);putch(0xc8); for(i=0;i=19;i+) putch(0xcd); putch(0xbc); gotoxy(12,7);putch(0xc9); for(i=0;i=53;i+) putch(0xcd); putch(0xbb); gotoxy(12,8);putch(0xba); gotoxy(67,8);putch(0xba); gotoxy(12,9);putch(0xba); printf( 輸入圖書信息. .1nn); gotoxy(67,9);putch(0xba); gotoxy(12,10);putch(0xba); gotoxy(67,10);putch(0xba); gotoxy(12,11);putch(0xba); printf( 依書號刪除圖書信息. .2nn); gotoxy(67,11);putch(0xba); gotoxy(12,12);putch(0xba); gotoxy(67,12);putch(0xba); gotoxy(12,13);putch(0xba); printf( 圖書檢索. .3nn); gotoxy(67,13);putch(0xba); gotoxy(12,14);putch(0xba); gotoxy(67,14);putch(0xba); gotoxy(12,15);putch(0xba); printf( 圖書統(tǒng)計. .4nn); gotoxy(67,15);putch(0xba); gotoxy(12,16);putch(0xba); gotoxy(67,16);putch(0xba); gotoxy(12,17);putch(0xba); printf( 修改或追加圖書信息. .5n); gotoxy(67,17);putch(0xba); gotoxy(12,18);putch(0xba); gotoxy(67,18);putch(0xba); gotoxy(12,19);putch(0xba); printf( 輸出所有圖書信息. .6n); gotoxy(67,19);putch(0xba); gotoxy(12,20);putch(0xba); gotoxy(67,20);putch(0xba); gotoxy(12,21);putch(0xba); printf( 退出. .0n); gotoxy(67,21);putch(0xba); gotoxy(12,22);putch(0xba); gotoxy(67,22);putch(0xba); gotoxy(12,23);putch(0xc8); for(i=0;i=53;i+) putch(0xcd); putch(0xbc); printf(nntt請選擇: );void Input() /*輸入功能函數*/ FILE *fp; int i,u=1,n; printf(n 示例:); gotoxy(3,3);putch(0xc9); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xbb); gotoxy(3,4);putch(0xba); printf( 書 號 ); putch(0xba); printf( 書 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 價 格 ); putch(0xba); printf( 類 別 ); putch(0xba); printf( 庫存量 ); putch(0xba); gotoxy(3,5);putch(0xc7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xb6); gotoxy(3,6);putch(0xba); printf( 001 ); putch(0xba); printf( USA ); putch(0xba); printf( LuXun ); putch(0xba); printf( XinHua ); putch(0xba); printf( 16.5 ); putch(0xba); printf( t ); putch(0xba); printf( 5 ); putch(0xba); gotoxy(3,7);putch(0xc8); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xbc); for(i=0;u!=0;i+) if(strcpy(bo.booki.from,init.from)=0); printf(nnt 第%d本:n,i+1); printf(nt請輸入該本圖書編號: ); scanf(%d,&bo.booki.num); printf(nt請輸入該本圖書書名: ); scanf(%s,&bo.booki.bookname); printf(nt請輸入該本圖書作者: ); scanf(%s,&bo.booki.writer); printf(nt請輸入該本圖書出版社: ); scanf(%s,&bo.booki.from); printf(nt請輸入該本圖書價格: ); scanf(%s,&bo.booki.price); printf(nt請輸入該本圖書類別 (/h/t/b中的一類): ); scanf(%s,&bo.booki.type); printf(nt請輸入該本圖書庫存量: ); scanf(%d,&bo.booki.kunum); all=all+1; printf(nt要繼續(xù)輸入圖書信息么?(是請按1,否請按0); scanf(%d,&u);clrscr(); if(fp=fopen(book_list,wb)=NULL) printf(文件打開錯誤!n); return; for(i=0;bo.booki.num!=0;i+) if(fwrite(&bo.booki,sizeof(struct bookInfo),1,fp)!=1) printf(文件寫入錯誤!n); fclose(fp); void Print_aInfo(int index) /*輸出單本圖書信息*/ FILE *fp; int temp,n,i; fp=fopen(book_list,rb); for(temp=0;temp=MAX;temp+) fread(&bo.booktemp,sizeof(struct bookInfo),1,fp); clrscr(); printf(n ); printf(當前該本圖書信息:); gotoxy(3,4);putch(0xc9); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xbb); gotoxy(3,5);putch(0xba); printf( 書 號 ); putch(0xba); printf( 書 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 價 格 ); putch(0xba); printf( 類 別 ); putch(0xba); printf( 庫存量 ); putch(0xba); gotoxy(3,6);putch(0xc7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xb6); gotoxy(3,7);putch(0xba); printf( %d,bo.bookindex.num); gotoxy(13,7); putch(0xba); printf( %s,bo.bookindex.bookname); gotoxy(23,7); putch(0xba); printf( %s,bo.bookindex.writer); gotoxy(33,7); putch(0xba); printf( %s,bo.bookindex.from); gotoxy(43,7); putch(0xba); printf( %s,bo.bookindex.price); gotoxy(53,7); putch(0xba); printf( %s,bo.bookindex.type); gotoxy(63,7); putch(0xba); printf( %d,bo.bookindex.kunum); gotoxy(73,7); putch(0xba); gotoxy(3,8);putch(0xc8); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xbc); fclose(fp); printf(n); output() /*輸出所有圖書信息*/FILE *fp;int i,n=0,d;clrscr();gotoxy(3,4);putch(0xc9); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xcb); for(i=0;i=8;i+) putch(0xcd); putch(0xbb); gotoxy(3,5);putch(0xba); printf( 書 號 ); putch(0xba); printf( 書 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 價 格 ); putch(0xba); printf( 類 別 ); putch(0xba); printf( 庫存量 ); putch(0xba); gotoxy(3,6);putch(0xc7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xd7); for(i=0;i=8;i+) putch(0xc4); putch(0xb6);fp=fopen(book_list,rb);for(d=0;d=MAX;d+)fread(&bo.bookd,sizeof(struct bookInfo),1,fp);if(bo.bookd.num!=0) gotoxy(3,7+n);putch(0xba); /*!*/ printf( %d,bo.bookd.num); gotoxy(13,7+n); putch(0xba); printf( %s,bo.bookd.bookname); gotoxy(23,7+n); putch(0xba); printf( %s,bo.bookd.writer); gotoxy(33,7+n); putch(0xba); printf( %s,bo.bookd.from); gotoxy(43,7+n); putch(0xba); printf( %s,bo.bookd.price); gotoxy(53,7+n); putch(0xba); printf( %s,bo.bookd.type); gotoxy(63,7+n); putch(0xba); printf( %d,bo.bookd.kunum); gotoxy(73,7+n); putch(0xba); gotoxy(3,8+n);putch(0xcc); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xce); for(i=0;i=8;i+) putch(0xcd); putch(0xb9); n+=2;gotoxy(3,7+n);putch(0xba); printf( 書 號 ); putch(0xba); printf( 書 名 ); putch(0xba); printf( 作 者 ); putch(0xba); printf( 出版社 ); putch(0xba); printf( 價 格 ); putch(0xba); printf( 類 別 ); putch(0xba); printf( 庫存量 ); putch(0xba);gotoxy(3,8+n);putch(0xc8);for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xca); for(i=0;i=8;i+) putch(0xcd); putch(0xbc);fclose(fp);printf(nnnt按任意鍵返回菜單.); getch();void modify() /*修改圖書信息*/FILE *fp;int i;clrscr();printf(nnt您想要修改第幾本圖書(若想要追加圖書請輸入追加圖書的序號)? );scanf(%d,&i);fp=fopen(book_list,rb+);fread(&bo.booki-1,sizeof(struct bookInfo),1,fp);Print_aInfo(i-1);printf(nt您正在修改該本圖書信息:);printf(nnt請輸入修改后該本圖書編號: ); scanf(%d,&bo.booki-1.num); printf(nt請輸入修改后該本圖書書名: ); scanf(%s,&bo.booki-1.bookname); printf(nt請輸入修改后該本圖書作者: ); scanf(%s,&bo.booki-1.writer); printf(nt請輸入修改后該本圖書出版社: ); scanf(%s,&bo.booki-1.from); printf(nt請輸入修改后該本圖書價格: ); scanf(%s,&bo.booki-1.price); printf(nt請輸入修改后該本圖書類別 (/h/t/b中的一類): ); scanf(%s,&bo.booki-1.type); printf(nt請輸入修改后該本圖書庫存量: ); scanf(%d,&bo.booki-1.kunum); fwrite(&bo.booki-1,sizeof(struct bookInfo),1,fp); fclose(fp); printf(nt圖書信息保存成功!); printf(nt按任意鍵返回菜單.); getch();void Delete() /*刪除功能函數*/ FILE *fp; int i,num,u,v=0; clrscr(); printf(ntt請輸入圖書編號,系統(tǒng)將刪除該本圖書信息:); scanf(%d,&num); fp=fopen(book_list,rb); for(i=0;iMAX;i+) fread(&bo.booki,sizeof(struct bookInfo),1,fp); if(bo.booki.num=num) v=v+1; Print_aInfo(i); printf(nt確認刪除信息?(是-1,否-0); scanf(%d,&u); if(u!=0) bo.booki.num=0; strcpy(bo.booki.bookname,init.bookname); strcpy(bo.booki.writer,init.writer); strcpy(bo.booki.from,init.from); strcpy(bo.booki.price,init.price); strcpy(bo.booki.type,init.type); bo.booki.kunum=0; all=all-1; printf(ntt圖書信息刪除成功!); printf(ntt按任意鍵退出.); getch(); clrscr(); break; else printf(ntt按任意鍵退出.); getch(); clrscr(); break; if(v=0) printf(ntt不存在圖書.nn); printf(ntt按任意鍵退出.); getch(); clrscr(); main(); if(fp=fopen(book_list,wb)=NULL) printf(文件打開錯誤!n); return; for(i=0;bo.booki.num!=0;i+) if(fwrite(&bo.booki,sizeof(struct bookInfo),1,fp)!=1) printf(文件寫入錯誤!n); fclose(fp);SearchItem() /*顯示檢索菜單*/ int i; clrscr(); gotoxy(30,3);putch(0xc9); for(i=0;i=19;i+) putch(0xcd); putch(0xbb); gotoxy(30,4);putch(0xba); printf( 檢索功能菜單 ); putch(0xba); gotoxy(30,5);putch(0xc8); for(i=0;i=19;i+) putch(0xcd); putch(0xbc); gotoxy(12,8);putch(0xc9); for(i=0;i=53;i+) putch(0xcd); putch(0xbb); gotoxy(12,9);putch(0xba); gotoxy(67,9);putch(0xba); gotoxy(12,10);putch(0xba); printf( 依書號查詢. .1nn); gotoxy(67,10);putch(0xba); gotoxy(12,11);putch(0xba); gotoxy(67,11);putch(0xba); gotoxy(12,12);putch(0xba); printf( 依作者查詢. .2nn); gotoxy(67,12);putch(0xba); gotoxy(12,13);putch(0xba); gotoxy(67,13);putch(0xba); gotoxy(12,14);putch(0xba); printf( 依出版社查詢. .3nn); gotoxy(67,14);putch(0xba); gotoxy(12,15);putch(0xba); gotoxy(67,15);putch(0xba); gotoxy(12,16);putch(0xba); printf( 返回主菜單. .0nn); gotoxy(67,16);putch(0xba); gotoxy(12,17);putch(0xba); gotoxy(67,17);putch(0xba); gotoxy(12,18);pu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論