c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁(yè)
c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁(yè)
c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁(yè)
c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁(yè)
c語言圖書管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上河南工業(yè)大學(xué)C語言課程設(shè)計(jì)報(bào)告20112012學(xué)年第2學(xué)期課 程:C語言課程設(shè)計(jì)課程設(shè)計(jì)名稱:圖書管理系統(tǒng)姓 名:晁永兵學(xué) 號(hào):0學(xué) 院:信息科學(xué)與工程學(xué)院專 業(yè):軟件工程班 級(jí):2班 2012年05月04日一、需求分析為了滿足圖書管理的要求,通過計(jì)算機(jī)技術(shù)給圖書管理人員和讀者借、還書帶來便利。使用c語言編寫了圖書此管理系統(tǒng)。本系統(tǒng)主要實(shí)現(xiàn)圖書信息管理的功能,通過此系統(tǒng)可對(duì)圖書館庫(kù)存圖書信息進(jìn)行管理和維護(hù)操作。實(shí)現(xiàn)了圖書館內(nèi)管理的幾乎所有功能,包括查詢、添加、刪除、修改圖書信息,以及對(duì)圖書信息的存檔、讀取、排序。所設(shè)計(jì)的系統(tǒng)以菜單方式工作,為用戶提供清晰的使用提示,依

2、據(jù)用戶的選擇來進(jìn)行各種處理,并且在此過程中能夠盡可能的處理用戶使用過程中可能出現(xiàn)的異常情況。圖書信息包括作者名、書名、出版社、出版時(shí)間、圖書編號(hào)、價(jià)格、借書人姓名、借書人性別、借書人學(xué)號(hào)。圖書信息的錄入和顯示要求有一定的規(guī)范格式,錄入的圖書信息用文件形式保存,并可以對(duì)其進(jìn)行瀏覽、查詢、修改、刪除等基本操作。整個(gè)程序?qū)崿F(xiàn)鏈表操作,對(duì)圖書信息的操作逐個(gè)地進(jìn)行。二、算法設(shè)計(jì):1設(shè)計(jì)思想:整個(gè)系統(tǒng)制造的而過程中,涉及了較多C語言知識(shí)點(diǎn),對(duì)于不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作以分析和總結(jié),并結(jié)合這個(gè)課題進(jìn)行綜合的應(yīng)用,在一定程度上做到了對(duì)所學(xué)知識(shí)融會(huì)貫通。進(jìn)一步加深、鞏固了所學(xué)的專業(yè)的基本理論知識(shí)

3、,培養(yǎng)了綜合分析問題、解決問題的能力。在設(shè)計(jì)程序時(shí),實(shí)現(xiàn)了程序的模塊化、結(jié)構(gòu)化。在主函數(shù)中調(diào)用各種子函數(shù),操作界面簡(jiǎn)單,易操作。 2設(shè)計(jì)表示:(1)整個(gè)系統(tǒng)除了主函數(shù)外,另外還有各種功能子函數(shù),利用循環(huán)語句do-while()和選擇語句switch()實(shí)現(xiàn)各個(gè)子函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的數(shù)字選項(xiàng)來調(diào)用相應(yīng)的函數(shù),以實(shí)現(xiàn)相應(yīng)的功能。主函數(shù)中首先從文件讀取信息到鏈表中,以用于后面其他函數(shù)的操作??傮w主要實(shí)現(xiàn)了圖書的錄入、存儲(chǔ)、查詢、添加、刪除、修改、排序等功能。(2)在主函數(shù)中選擇管理員登錄或者學(xué)生登錄,并且輸入正確密碼后才可以進(jìn)入系統(tǒng),若連續(xù)3次輸入密碼錯(cuò)誤將會(huì)被強(qiáng)制退出。(3) Create_

4、Books_Doc();這是一個(gè)指針函數(shù),它主要實(shí)現(xiàn)了鏈表的創(chuàng)建,它返回的時(shí)一個(gè)單向鏈表的頭。其他函數(shù)調(diào)用時(shí)只需調(diào)用它返回的頭即可。Clear();此為清屏操作,在運(yùn)行中可以隨時(shí)將屏幕清空。 (4) Print_Book_Doc ();這個(gè)函數(shù)為鏈表的輸出函數(shù),把鏈表的頭傳給函數(shù)后,可以表格的形式輸出整個(gè)鏈表的所有信息。、(5)save();這個(gè)函數(shù)為保存信息到文件的函數(shù),使用時(shí)將鏈表的頭傳給函數(shù),函數(shù)可將整個(gè)鏈表的所有信息存入到磁盤文件中。并覆蓋掉源文件,以便以后調(diào)用。Read()這個(gè)函數(shù)為讀取文件的函數(shù),將文件中的數(shù)據(jù)讀入鏈表中。 (7)search_book1();search_book

5、2();search_book3();search_book4();search_book5();這五個(gè)函數(shù)為查詢圖書信息函數(shù),它們分別按編號(hào)、書名、作者、借書人姓名、借書人學(xué)號(hào)進(jìn)行查詢。查詢到信息后返回信息所在節(jié)點(diǎn),查詢不到則返回空指針。(8)InsertDoc();Sorting_order1();Sorting_order2();DeleteDoc ();info_change ();這四個(gè)函數(shù)為功能函數(shù),InsertDoc();添加圖書信息、Sorting_order1();將圖書按編號(hào)排序、Sorting_order2();將圖書按價(jià)格排序、DeleteDoc ();刪除圖書信息、i

6、nfo_change ();修改圖書信息。調(diào)用時(shí)將鏈表頭指針傳遞給函數(shù),函數(shù)返回經(jīng)過功能操作后的頭指針。3結(jié)構(gòu)體系設(shè)計(jì):以下為部分流程圖:圖書管理系統(tǒng)主界面流程圖圖書管理系統(tǒng)退出系統(tǒng)登錄學(xué)生登錄管理員登錄清屏操作圖書信息新建圖書信息添加圖書信息刪除圖書信息瀏覽圖書信息修改管理員版圖書管理系統(tǒng)管理員版圖書管理系統(tǒng)流程圖圖書信息排序圖書信息查詢圖書查詢系統(tǒng)主界面流程圖按照?qǐng)D書號(hào)查詢按照?qǐng)D書名查詢按照?qǐng)D書作者查詢按照借書人姓名查詢 按照借書人學(xué)號(hào)查詢退出查詢圖書查詢系統(tǒng)主界面排序頁(yè)面排序系統(tǒng)退出排序清屏操作按照?qǐng)D書編號(hào)排序按照?qǐng)D書價(jià)格排序5設(shè)計(jì)過程中的想法與程序中的不足:總的來說這個(gè)程序大致實(shí)現(xiàn)了題

7、目的要求,但是這套程序仍然存在著很多的問題與不足。比如,程序中主函數(shù)寫的有點(diǎn)繁瑣,有太多的嵌套,不是那么井然有序,條理清晰,程序注釋也不是很完善,對(duì)信息處理功能還有些不足之處,提示信息不明確。還有就是沒能做到模糊查詢。這個(gè)系統(tǒng)主要是參照課本手機(jī)通訊錄模版編寫的,同時(shí)也得到了老師和同學(xué)的一些幫助。我在做系統(tǒng)的過程中也遇到了很多問題,有的是知識(shí)不足,有的是考慮不夠周全。事實(shí)證明,只靠自己的知識(shí)面還是很窄,獨(dú)立處理問題能力不是很強(qiáng),以后還要加強(qiáng)對(duì)c語言的學(xué)習(xí)。 我認(rèn)為對(duì)于C語言編寫的程序來說,使用方法大致都是一樣的,所以如果要改進(jìn)的話,就是要改進(jìn)一些算法,盡量把界面編寫清楚,提示信息全面,方便易用。

8、三、調(diào)試與測(cè)試:上機(jī)操作(部分截圖)系統(tǒng)主界面(選擇數(shù)字進(jìn)入,退出系統(tǒng))選擇1輸入密碼進(jìn)入管理員版系統(tǒng),然后出現(xiàn)功能菜單;選擇1進(jìn)入錄入系統(tǒng),錄入后瀏覽;選擇8進(jìn)行清屏;由于版面原因,其他操作頁(yè)面可以上機(jī)運(yùn)行進(jìn)行操作,在此就不再一一列出。四、小節(jié):在這一個(gè)星期的實(shí)踐中,通過編寫這個(gè)圖書管理系統(tǒng),我體會(huì)到了c語言學(xué)習(xí)的實(shí)用性。將理論和實(shí)踐結(jié)合在一起,用先進(jìn)的計(jì)算機(jī)工具方便人們的生活。C語言程序的編寫首先要從大局考慮,把自己編寫整個(gè)程序的思想都寫在草稿上,這樣有助于自己編寫程序,在編寫時(shí)要完善注釋,方便其他人理解程序。編寫的程序從理論上來說并沒有錯(cuò),但一上機(jī)就問題不斷。甚至有些課本上的知識(shí)照搬不變

9、,也不能得到正確的結(jié)果。有時(shí)一個(gè)程序改了一遍又一遍,但就是不能成功,編程顯得枯燥乏味,看似簡(jiǎn)單的程序題,在調(diào)試時(shí)卻屢屢出錯(cuò)。經(jīng)反復(fù)的修改后,結(jié)果正確了,這時(shí)所有的乏味都顯得那么無力,一切都是值得的。我認(rèn)為,開發(fā)一套系統(tǒng),最重要的是細(xì)心,并且思考要全面,結(jié)合實(shí)際,充分考慮到客戶的需求和現(xiàn)實(shí)意義。不管什么系統(tǒng),只用運(yùn)用到實(shí)際應(yīng)用中,才具有現(xiàn)實(shí)意義。 所以c語言程序的實(shí)用性很強(qiáng),我們以后還要更加努力認(rèn)真地學(xué)習(xí)編程語言。附錄:源代碼:#include<stdio.h>#include<math.h>#include<string.h>#include<stdl

10、ib.h>struct books_list char author20; /*作者名*/ char bookname20; /*書名*/ char publisher20; /*出版單位*/ char pbtime15; /*出版時(shí)間*/ char booknum10; /*圖書編號(hào)*/ float price; /*價(jià)格*/ char lendername20; /*借書人姓名*/ char lendersex10; /*借書人性別*/ char lendernum20; /*借書人學(xué)號(hào)*/ struct books_list * next; /*鏈表的指針域*/;/*清屏函數(shù)*/v

11、oid Clear() system("cls");/*保存數(shù)據(jù)至文件*/void save(struct books_list * head) struct books_list *p; FILE *fp; p=head; fp=fopen("f1.txt","w+"); fprintf(fp,"%20s%20s%20s%20s%20s%20f%20s%20s%20s",p->booknum,p->bookname,p->author,p->publisher,p->pbtime,p

12、->price,p->lendername,p->lendersex,p->lendernum); while(p->next!= NULL) p=p->next; fprintf(fp,"%20s%20s%20s%20s%20s%20f%20s%20s%20s",p->booknum,p->bookname,p->author,p->publisher,p->pbtime,p->price,p->lendername,p->lendersex,p->lendernum); fclos

13、e(fp); printf("已將數(shù)據(jù)保存到 f1.txt 文件n");/*插入*/struct books_list * InsertDoc(struct books_list * head,struct books_list * book)char a;struct books_list * ptr,* p;p=head;ptr=book;if(head=NULL) head=ptr; head->next=NULL;else while(p->next!=NULL) p=p->next; p->next=ptr; ptr->next=NU

14、LL;printf("是否保存插入的圖書信息?(Y/N)");getchar();scanf("%c",&a);if(a='Y'|a='y') save(head);else printf("n未保存插入后數(shù)據(jù)!nn");return head;/*新建鏈表頭節(jié)點(diǎn)*/struct books_list * Create_Books_Doc()struct books_list * head,*p;int size=sizeof(struct books_list);head=NULL; char

15、 flag='Y' while(flag='Y'|flag='y') p=(struct books_list *)malloc(sizeof(struct books_list);/*開辟新空間,存入數(shù)據(jù),添加進(jìn)鏈表*/here0: printf("n 請(qǐng)輸入圖書編號(hào):"); getchar(); scanf("%s",p->booknum); printf("n 請(qǐng)輸入圖書書名:"); getchar(); scanf("%s",p->bookname

16、); printf("n 請(qǐng)輸入圖書作者名:"); getchar(); scanf("%s",p->author); printf("n 請(qǐng)輸入圖書出版社:"); getchar(); scanf("%s",p->publisher); printf("n 請(qǐng)輸入圖書出版時(shí)間:"); getchar(); scanf("%s",p->pbtime); printf("n 請(qǐng)輸入圖書價(jià)格:"); getchar(); if(scanf(&

17、quot;%f",&p->price)!=1) printf("價(jià)格輸入有誤,請(qǐng)重新輸入!"); goto here0; printf("n 請(qǐng)輸入借書人姓名:"); getchar(); scanf("%s",p->lendername); printf("n 請(qǐng)輸入借書人性別:"); getchar(); scanf("%s",p->lendersex); printf("n 請(qǐng)輸入借書人學(xué)號(hào):"); getchar(); scanf(

18、"%s",p->lendernum); printf("n"); head=InsertDoc(head,p); printf(" 添加成功!"); printf("n 繼續(xù)添加(輸入Y或y繼續(xù),否則結(jié)束)?"); getchar(); scanf("%c",&flag); printf("n"); return head;/*修改操作*/void info_change(struct books_list * head) struct books_list *

19、 p; int panduan=0; char temp20,a; p=head; if(head=NULL) printf(" 圖書庫(kù)為空!n"); else printf("請(qǐng)輸入要修改圖書的書名:"); getchar(); scanf("%s",temp); while(p!=NULL) if(strcmp(p->bookname,temp)=0) printf("n 請(qǐng)輸入修改后的圖書編號(hào):"); getchar(); scanf("%s",p->booknum); pri

20、ntf("n 請(qǐng)輸入修改后的圖書書名:"); getchar(); scanf("%s",p->bookname); printf("n 請(qǐng)輸入修改后的圖書作者名:"); getchar(); scanf("%s",p->author); printf("n 請(qǐng)輸入修改后的圖書出版社:"); getchar(); scanf("%s",p->publisher); printf("n 請(qǐng)輸入修改后的圖書出版時(shí)間:"); getchar()

21、; scanf("%s",p->pbtime); printf("n 請(qǐng)輸入修改后的圖書價(jià)格:"); getchar(); scanf("%f",&p->price); printf("n 請(qǐng)輸入修改后的借書人姓名:"); getchar(); scanf("%s",p->lendername); printf("n 請(qǐng)輸入修改后的借書人性別:"); getchar(); scanf("%s",p->lendersex);

22、printf("n 請(qǐng)輸入修改后的借書人學(xué)號(hào):"); getchar(); scanf("%s",p->lendernum); printf("n");getchar(); panduan=1; p=p->next; if(panduan=0) printf("n 沒有此圖書記錄! nn"); else printf("是否保存修改后的圖書信息?(Y/N)"); scanf("%c",&a); if(a='Y'|a='y')

23、 save(head); else printf("n未保存修改后數(shù)據(jù)!nn"); return;/*按照?qǐng)D書號(hào)查詢*/void search_book1(struct books_list *head) int a=0; struct books_list * p; char temp20; p=head; if(head=NULL) printf(" 圖書庫(kù)為空!n"); else printf("請(qǐng)輸入您要查找圖書的編號(hào): "); getchar(); scanf("%s",temp); while(p!=

24、NULL) if(strcmp(p->booknum,temp)=0) printf("n圖書已找到!n"); printf("n"); printf("n"); printf("圖書號(hào) 書 名 作 者 出版單位 出版時(shí)間 價(jià)格 借書人姓名借書人性別 借書人學(xué)號(hào) n"); printf("n"); printf("%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-8.2f%-10.11s%-10.10s%-12.12sn",p->bo

25、oknum,p->bookname,p->author,p->publisher,p->pbtime,p->price,p->lendername,p->lendersex,p->lendernum); printf("n"); printf("n"); a+; p=p->next; if(p=NULL&&a=0) printf("n查詢完畢,未找到所要查詢的信息!n"); return;/*按照?qǐng)D書名查詢*/void search_book2(struct boo

26、ks_list *head) int a=0; struct books_list * p; char temp20; p=head; if(head=NULL) printf(" 圖書庫(kù)為空!n"); else printf("請(qǐng)輸入您要查找書本的名稱: "); getchar(); scanf("%s",temp); while(p!= NULL) if(strcmp(p->bookname,temp)=0) printf("n圖書已找到!n"); printf("n"); print

27、f("n"); printf("圖書號(hào) 書 名 作 者 出版單位 出版時(shí)間 價(jià)格 借書人姓名借書人性別 借書人學(xué)號(hào) n"); printf("n"); printf("%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-8.2f%-10.11s%-10.10s%-12.12sn",p->booknum,p->bookname,p->author,p->publisher,p->pbtime,p->price,p->lendername,p->

28、;lendersex,p->lendernum); printf("n"); printf("n"); a+; p=p->next; if(p=NULL&&a=0) printf("n查詢完畢,未找到所要查詢的信息!n"); return;/*按照?qǐng)D書作者查詢*/void search_book3(struct books_list *head) int a=0; struct books_list * p; char temp20; p=head; if(head=NULL) printf("

29、圖書庫(kù)為空!n"); else printf("請(qǐng)輸入您要查找圖書的作者: "); getchar(); scanf("%s",temp); while(p!= NULL) if(strcmp(p->author,temp)=0) printf("n圖書已找到!n"); printf("n"); printf("n"); printf("圖書號(hào) 書 名 作 者 出版單位 出版時(shí)間 價(jià)格 借書人姓名借書人性別 借書人學(xué)號(hào) n"); printf("n&

30、quot;); printf("%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-8.2f%-10.11s%-10.10s%-12.12sn",p->booknum,p->bookname,p->author,p->publisher,p->pbtime,p->price,p->lendername,p->lendersex,p->lendernum); printf("n"); printf("n"); a+; p=p->next; if(p=

31、NULL&&a=0) printf("n查詢完畢,未找到所要查詢的信息!n"); return;/*按照借書人姓名查詢*/void search_book4(struct books_list *head) int a=0; struct books_list * p; char temp20; p=head; if(head=NULL) printf(" 圖書庫(kù)為空!n"); else printf("請(qǐng)輸入您要查找的圖書借書人姓名: "); getchar(); scanf("%s",temp)

32、; while(p!= NULL) if(strcmp(p->lendername,temp)=0) printf("n圖書已找到!n"); printf("n"); printf("n"); printf("圖書號(hào) 書 名 作 者 出版單位 出版時(shí)間 價(jià)格 借書人姓名借書人性別 借書人學(xué)號(hào) n"); printf("n"); printf("%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-8.2f%-10.11s%-10.10s%-12.12sn

33、",p->booknum,p->bookname,p->author,p->publisher,p->pbtime,p->price,p->lendername,p->lendersex,p->lendernum); printf("n"); printf("n"); a+; p=p->next; if(p=NULL&&a=0) printf("n查詢完畢,未找到所要查詢的信息!n"); return;/*按照借書人學(xué)號(hào)查詢*/void search

34、_book5(struct books_list *head) int a=0; struct books_list * p; char temp20; p=head; if(head=NULL) printf(" 圖書庫(kù)為空!n"); else printf("請(qǐng)輸入您要查找圖書的借書人學(xué)號(hào): "); getchar(); scanf("%s",temp); while(p!= NULL) if(strcmp(p->lendernum,temp)=0) printf("n圖書已找到!n"); printf(

35、"n"); printf("n"); printf("圖書號(hào) 書 名 作 者 出版單位 出版時(shí)間 價(jià)格 借書人姓名借書人性別 借書人學(xué)號(hào) n"); printf("n"); printf("%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-8.2f%-10.11s%-10.10s%-12.12sn",p->booknum,p->bookname,p->author,p->publisher,p->pbtime,p->price,p

36、->lendername,p->lendersex,p->lendernum); printf("n"); printf("n"); a+; p=p->next; if(p=NULL&&a=0) printf("n查詢完畢,未找到所要查詢的信息!n"); return;/*刪除操作*/struct books_list * DeleteDoc(struct books_list * head)struct books_list * ptr1,* ptr2;int a=0;char b; char

37、 temp20; printf(" 請(qǐng)輸入您要?jiǎng)h除的圖書書名:"); scanf("%s",temp);while(head!=NULL&&strcmp(head->bookname,temp)=0) ptr2=head; head=head->next; free(ptr2); a=1; printf("已成功刪除!");if(head=NULL) printf("n鏈表為空,無法刪除!nn"); return NULL;ptr1=head;ptr2=head->next;whi

38、le(ptr2!=NULL) if(strcmp(ptr2->bookname,temp)=0) ptr1->next=ptr2->next; free(ptr2); a=1; printf("已成功刪除!"); elseptr1=ptr2; ptr2=ptr1->next;if(ptr2=NULL&&a=0) printf("n未找到要?jiǎng)h除的數(shù)據(jù)!nn"); goto here10;printf("是否保存刪除后的圖書信息?(Y/N)");getchar();scanf("%c&qu

39、ot;,&b);if(b='Y'|b='y') save(head);else printf("n未保存刪除后數(shù)據(jù)!nn");here10:return head;/*瀏覽*/void Print_Book_Doc(struct books_list * head)struct books_list * p1;if(head=NULL) printf("n鏈表為空,無法輸出!nn"); return; printf("n"); printf("圖書號(hào) 書 名 作 者 出版單位 出版時(shí)間

40、 價(jià)格 借書人姓名借書人性別 借書人學(xué)號(hào) n"); printf("n");for(p1=head;p1;p1=p1->next) printf("%-6.6s%-10.10s%-10.10s%-10.10s%-12.12s%-8.2f%-10.11s%-10.10s%-12.12sn",p1->booknum,p1->bookname,p1->author,p1->publisher,p1->pbtime,p1->price,p1->lendername,p1->lendersex,p1-

41、>lendernum); printf("n");printf("n");/*讀文件*/struct books_list * Read() struct books_list *p1,*head=NULL,*tail; FILE * fp; if(fp=fopen("f1.txt","r")=NULL) printf("File open error!n"); printf("此時(shí)文件中無圖書信息,請(qǐng)管理員先輸入圖書信息并進(jìn)行保存。nn"); goto end; wh

42、ile(!feof(fp) p1=(struct books_list *)malloc(sizeof(struct books_list); fscanf(fp,"%s%s%s%s%s%f%s%s%s",p1->booknum,p1->bookname,p1->author,p1->publisher,p1->pbtime,&p1->price,p1->lendername,p1->lendersex,p1->lendernum); if(head=NULL) head=p1; else tail->ne

43、xt=p1;tail=p1; tail->next=NULL; fclose(fp);end:return head;/*按照?qǐng)D書價(jià)格排序*/struct books_list * Sorting_order1(struct books_list * head)struct books_list *p1,*p2,*p3,*p4,*p5,*p6,*p7;int x=1;char b;for(p1=head;p1->next!=NULL;p4=p1,p1=p1->next) p3=p1; for(p2=p1->next,p5=p7=p2;p2!=NULL;p7=p2,p2=

44、p2->next)if(p1->price>=p2->price) p3=p2; p5=p7; if(p3!=p1) /*說明p1->price>=p2->price成立*/if(x&&p1=head) /*對(duì)p1=head時(shí)排序的處理*/ p6=p1->next; p1->next=p3->next; p3->next=p6; p5->next=p1; head=p3; p1=p3; x=0;else /*對(duì)p1!=head時(shí)排序的處理*/ p6=p1->next; p1->next=p3-&

45、gt;next; p3->next=p6; p4->next=p3; p5->next=p1; p1=p3; printf("是否保存排序后的圖書信息?(Y/N)");getchar();scanf("%c",&b);if(b='Y'|b='y') save(head);else printf("n未保存排序后數(shù)據(jù)!nn");return head;/*按照書號(hào)排序*/struct books_list * Sorting_order2(struct books_list *

46、head)struct books_list *p1,*p2,*p3,*p4,*p5,*p6,*p7;int x=1;char b;for(p1=head;p1->next!=NULL;p4=p1,p1=p1->next) p3=p1; for(p2=p1->next,p5=p7=p2;p2!=NULL;p7=p2,p2=p2->next)if(strcmp(p1->booknum,p2->booknum )>0) p3=p2; p5=p7; if(p3!=p1)if(x&&p1=head) p6=p1->next; p1->

47、;next=p3->next; p3->next=p6; p5->next=p1; head=p3; p1=p3; x=0; else p6=p1->next; p1->next=p3->next; p3->next=p6; p4->next=p3; p5->next=p1; p1=p3; printf("是否保存排序后的圖書信息?(Y/N)");getchar();scanf("%c",&b);if(b='Y'|b='y') save(head);else p

48、rintf("n未保存排序后數(shù)據(jù)!nn");return head;/*主函數(shù)*/int main(void) struct books_list * head=NULL, * p; int choice1,choice3,choice4,choice5,choice6,num=0; char choice2,password20; int size=sizeof(struct books_list); head=Read(); do printf(" 歡迎進(jìn)入圖書管理系統(tǒng) n"); printf(" n"); printf(" 1管理員登錄 n"); printf(" n"); printf(" 2學(xué)生登錄 n"); printf(" n"); printf("

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論