圖書管理系統(tǒng)源代碼_第1頁
圖書管理系統(tǒng)源代碼_第2頁
圖書管理系統(tǒng)源代碼_第3頁
圖書管理系統(tǒng)源代碼_第4頁
圖書管理系統(tǒng)源代碼_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、#include header.h#include struct.hint printmainui() /主界面,并返回選擇,int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *歡迎來到圖書管理系統(tǒng)* );printf(n );printf(n );printf(n *1 管理員 );printf(n );printf(n *2 教師 );printf(n );printf(n *3 學(xué)生 );printf(n );printf(n *0 退出程序 );printf(n );printf(

2、n );printf(n n); printf( );scanf(%d,&ret);return ret;int printadminui() /管理員界面int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊貴的管理員你好* );printf(n );printf(n );printf(n *1 圖書上架 );printf(n );printf(n *2 圖書下架 );printf(n );printf(n *3 圖書瀏覽 );printf(n );printf(n *4 用戶管理 );

3、printf(n );printf(n *0 上一層 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printuermanageui()int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊貴的管理員你好* );printf(n );printf(n );printf(n *1 教師用戶 );printf(n );printf(n *2 學(xué)生用戶 );printf(n );print

4、f(n *3 瀏覽全部 );printf(n );printf(n *0 上一層 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printuerfunui()int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊貴的管理員你好* );printf(n );printf(n );printf(n *1 查詢 );printf(n );printf(n *2 增加 );printf(n

5、);printf(n *3 刪除 );printf(n );printf(n *0 上一層 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printteacherui() /教師界面int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *尊敬的老師你好* );printf(n );printf(n );printf(n *1 借書 );printf(n );printf(n *2 還書

6、);printf(n );printf(n *3 圖書瀏覽 );printf(n );printf(n *4 續(xù)借書籍 );printf(n );printf(n *0 上一層 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int printstudentui() /學(xué)生界面 int ret = 0;system(cls);printf( n);printf(n ); printf(n );printf(n );printf(n *親愛的同學(xué)你好* );printf(n );printf(n )

7、;printf(n *1 借書 );printf(n );printf(n *2 還書 );printf(n );printf(n *3 圖書瀏覽 );printf(n );printf(n *4 續(xù)借書籍 );printf(n );printf(n *0 上一層 );printf(n );printf(n );printf(n n); printf( );scanf(%d,&ret);return ret;int login()/登陸return -1;int adminoperation(int choice);/管理員界面的操作聲明book* scanbooks(book* books,

8、int *count);/讀取書籍信息void printbooks(book* books,int count);/打印書籍信息void printbook(book book);book* uploadbooks();/圖書上架void savebook(book book,file* fp);/保存書籍信息void savebooks(book* books,book book ,int lastcount,int updatecount);void saveuser(user user,file* fp);/保存用戶信息void saveusers(user* users,user u

9、ser,int lastcount,int updatecount,char* filename);book* downbooks();user* scanuers(user* users,int *count,char* filename);void printusers(user* users,int count);void printuser(user user);void userfunrealized(int choice,char* filename);void uermanagerealized(int choice);void adduser(char* filename);v

10、oid deluser(char * filename);void tip();/提示信息void mainoperation(int choice)/對(duì)于主界面的選擇操作int choice1= 0;switch(choice)case 1:dochoice1 = printadminui();adminoperation(choice1);while(choice1 != 0);break;case 2:printteacherui();break;case 3:printstudentui();break;case 0:break;default:break;int adminopera

11、tion(int choice)/管理員界面的操作int count = 0;switch(choice)case 1:uploadbooks();system( pause ); break;case 2:downbooks();system( pause ); break;case 3:int count=0;book* books= 0;books = scanbooks(books,&count);printbooks(books,count);system( pause ); break;case 4:int choice1 = 0;dochoice1 = printuermanag

12、eui();uermanagerealized(choice1);while(choice1 != 0);break;case 0:break;default:break;return choice;book* scanbooks(book* books,int* count)int num = 0;/用于存儲(chǔ)讀取到的書籍種數(shù)int i;file *fp;books = 0; fp = fopen(book.txt,r);fscanf(fp,%d,&num);*count = num;if(num 0)books = (book*)malloc(num * sizeof(book);for(i

13、 = 0; i num; i+)booksi.bookid = (char*)malloc(sizeof(char) * 256);booksi.bookname= (char*)malloc(sizeof(char) * 256);booksi.author= (char*)malloc(sizeof(char) * 256);booksi.pubdate= (char*)malloc(sizeof(char) * 256);booksi.price= (char*)malloc(sizeof(char) * 256);booksi.style= (char*)malloc(sizeof(c

14、har) * 256);fscanf(fp,%s,booksi.bookid);/讀取數(shù)編號(hào)fscanf(fp,%s,booksi.bookname);/讀取書名fscanf(fp,%s,booksi.author);/讀取作者fscanf(fp,%s,booksi.pubdate);/讀取出版日期fscanf(fp,%s,booksi.price);/讀取金額fscanf(fp,%s,booksi.style);/讀取類別fscanf(fp,%d,&(booksi.totalcount);/總?cè)霂炝縡scanf(fp,%d,&(booksi.nowcount);/庫存量fscanf(fp,%

15、d,&(booksi.outcount);/借出數(shù)量fclose(fp);return books;void printbooks(book* books,int count)int i ;if(count = 0)printf( );printf(圖書信息為空!);return ;for(i = 0 ; i count; i+)printf( t第%d款圖書 n,i+1);printbook(booksi);void printbook(book book)printf(n ); printf(n 圖書編號(hào):%st圖書名稱:%st作 者:%st ,book.bookid,book.bookn

16、ame,book.author);printf(n 出版日期:%st金 額:%stt類 別:%st ,book.pubdate,book.price,book.style);printf(n 入庫總量:%dt現(xiàn)庫存量:%dtt借出數(shù)量:%dt ,book.totalcount,book.nowcount,book.outcount);printf(n n); book* uploadbooks()book one;book* books =0;char choice = z;int count=0;int i =0;char bookid256;int flag = -1;/是否庫存已有該書籍

17、標(biāo)志,-1無,大于等于0則有增加books = scanbooks(books,&count);/讀取原書籍信息system(cls);/以下開始進(jìn)行添加操作tip();/輸出提示信息printf(n請(qǐng)你輸入圖書編號(hào):);scanf(%s,bookid);for(i = 0; i count;+i)if(strcmp(bookid,booksi.bookid) = 0)flag = i;/存在某種書籍只需要改變數(shù)量if(flag != -1)printf(n管理員你好,你正在添加編號(hào)為%s的書籍為已有書籍。,bookid);printbook(booksflag);printf(n你確定更新其

18、數(shù)量嗎?(1-y,0-n);while(!(choice = y| choice = y|choice = n|choice = n)scanf(%c,&choice);if(choice = y | choice = y)/更改入庫量,現(xiàn)存數(shù)量printf(n輸入更新數(shù)量:);scanf(%d,&one.totalcount);booksflag.totalcount += one.totalcount;booksflag.nowcount += one.totalcount;savebooks(books,one,count,0);printf(n成功添加編號(hào)為%s的書籍:%d本n,boo

19、kid,one.totalcount);elseone.bookid = (char*)malloc(sizeof(char) * 256);one.bookname= (char*)malloc(sizeof(char) * 256);one.author= (char*)malloc(sizeof(char) * 256);one.pubdate= (char*)malloc(sizeof(char) * 256);one.price= (char*)malloc(sizeof(char) * 256);one.style= (char*)malloc(sizeof(char) * 256

20、);printf(n管理員你好,你正在添加編號(hào)為%s的書籍為新進(jìn)書籍。你確定歸類它嗎?(1-y,0-n),bookid);while(!(choice = y| choice = y|choice = n|choice = n)scanf(%c,&choice);if(choice = y | choice = y)/錄取新書籍信息printf(n圖書編號(hào):);scanf(%s,one.bookid);/讀取數(shù)編號(hào)printf(n圖書名稱:);scanf(%s,one.bookname);/讀取書名printf(n作 者:);scanf(%s,one.author);/讀取作者printf(n

21、出版日期:);scanf(%s,one.pubdate);/讀取出版日期printf(n金 額:);scanf(%s,one.price);/讀取金額printf(n類 別:);scanf(%s,one.style);/讀取類別printf(n入庫總量:);scanf(%d,&one.totalcount);/總?cè)霂炝縫rintf(n現(xiàn)庫存量:);scanf(%d,&one.nowcount);/庫存量printf(n借出數(shù)量:);scanf(%d,&one.outcount);/借出數(shù)量savebooks(books,one,count,1);/寫入文件return books;book*

22、downbooks()book one;book* books =0;char choice = z;int count=0;int i =0;char bookid256;int flag = -1;/是否庫存已有該書籍標(biāo)志,-1無,大于等于0則有books = scanbooks(books,&count);/讀取原書籍信息system(cls);/以下開始進(jìn)行添加操作tip();/輸出提示信息printf(n請(qǐng)你輸入圖書編號(hào):);scanf(%s,bookid);for(i = 0; i count;+i)if(strcmp(bookid,booksi.bookid) = 0)flag

23、= i;/存在某種書籍只需要改變數(shù)量if(flag != -1)printf(n管理員你好,你正在下架編號(hào)為%s的書籍為已有書籍。,bookid);printbook(booksflag);printf(n請(qǐng)核對(duì)是否有未歸還的書籍,若有建議不要下架。n你確定讓其下架嗎?(1-y,0-n);while(!(choice = y| choice = y|choice = n|choice = n)scanf(%c,&choice);if(choice = y | choice = y)/更改入庫量,現(xiàn)存數(shù)量booksflag.bookid = bookscount-1.bookid;booksfl

24、ag.bookname = bookscount-1.bookname;booksflag.author = bookscount-1.author;booksflag.nowcount = bookscount-1.nowcount;booksflag.outcount = bookscount-1.outcount;booksflag.price = bookscount-1.price;booksflag.pubdate = bookscount-1.pubdate;booksflag.style = bookscount-1.style;booksflag.totalcount = b

25、ookscount-1.totalcount;savebooks(books,one,count,-1);printf(n成功下架編號(hào)為%s的書籍:%d本n,bookid,booksflag.totalcount);elseprintf(n管理員你好,系統(tǒng)中不存在你正在下架編號(hào)為%s的書籍。,bookid);return books;void savebooks(book* books,book book ,int lastcount,int updatecount)int i = 0;file* fp = fopen(book.txt,w);fprintf(fp,%dn,lastcount+

26、updatecount);/寫入書本種數(shù)for(i = 0 ; i lastcount+updatecount;+i)if(i lastcount)savebook(booksi,fp);elsesavebook(book,fp);fclose(fp);void savebook(book book,file* fp)fprintf(fp,%sn,book.bookid);/存儲(chǔ)數(shù)編號(hào)fprintf(fp,%sn,book.bookname);/存儲(chǔ)書名fprintf(fp,%sn,book.author);/存儲(chǔ)作者fprintf(fp,%sn,book.pubdate);/存儲(chǔ)出版日期fp

27、rintf(fp,%sn,book.price);/存儲(chǔ)金額fprintf(fp,%sn,book.style);/存儲(chǔ)類別fprintf(fp,%dn,(book.totalcount);/存儲(chǔ)總?cè)霂炝縡printf(fp,%dn,(book.nowcount);/存儲(chǔ)庫存量fprintf(fp,%dn,(book.outcount);/存儲(chǔ)借出數(shù)量void saveuser(user user,file* fp)/保存用戶信息int i = 0;fprintf(fp,n%s,user.userid);fprintf(fp,n%s,user.username);fprintf(fp,n%d,

28、user.borrowcount);for(i = 0; i user.borrowcount;+i)fprintf(fp,n%s,user.borrowbooksi.bookid);void saveusers(user* users,user user ,int lastcount,int updatecount,char* filename)int i = 0;file* fp = fopen(filename,w);fprintf(fp,n%d,lastcount+updatecount);for(i = 0; i lastcount+updatecount;+i)if(i 0)use

29、rs = (user*)malloc(num * sizeof(user);for(i = 0; i 0)usersi.borrowbooks = (borrowbooks*)malloc(sizeof(borrowbooks) * usersi.borrowcount);for(j = 0; j usersi.borrowcount;+j)fscanf(fp,%s,usersi.borrowbooksj.bookid);/讀取用戶編號(hào)fclose(fp);return users;void printusers(user* users,int count)int i = 0;for(i = 0; i count; +i)printf(n編號(hào)為%s用戶信息:,usersi.userid); pr

溫馨提示

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

評(píng)論

0/150

提交評(píng)論