




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、寧 波 工 程 學(xué) 院2013 2014 學(xué)年第 二 學(xué)期電信學(xué)院C語言課程設(shè)計報告題 目: 圖書信息管理系統(tǒng)設(shè)計 班 級: 計科13-2 姓 名: 傅天一 學(xué) 號:指導(dǎo)教師: 洪立 2014 年 6 月目錄目錄21、系統(tǒng)功能和結(jié)構(gòu)31.1系統(tǒng)設(shè)計目的31.2系統(tǒng)功能分析31.3系統(tǒng)結(jié)構(gòu)分析32、核心技術(shù)介紹33、函數(shù)功能介紹34、設(shè)計體會及總結(jié)4參考文獻:4附錄一:51、 系統(tǒng)功能和結(jié)構(gòu)1.1系統(tǒng)設(shè)計目的為了滿足圖書管理的要求,通過計算機技術(shù)給圖書管理人員和讀者借、還書帶來便利。使用c語言編寫了圖書管理系統(tǒng)。本系統(tǒng)主要實現(xiàn)圖書信息管理的功能,通過此系統(tǒng)可對圖書館庫存
2、圖書信息進行管理和維護操作。實現(xiàn)了圖書館內(nèi)管理的一般功能,包括查詢、借書、還書、添加、刪除、修改圖書信息等。所設(shè)計的系統(tǒng)以菜單方式工作,為用戶提供清晰的使用提示,依據(jù)用戶的選擇來進行各種處理,并且在此過程中能夠盡可能的兼容用戶使用過程中可能出現(xiàn)的異常情況。圖書信息包括編號、書名、作者、出版社、出版日期、價格、在庫狀態(tài)等。圖書信息的錄入和顯示要求有一定的規(guī)范格式,錄入的圖書信息用文件形式保存,并可以對其進行瀏覽、查詢、修改、刪除等基本操作。整個程序?qū)崿F(xiàn)鏈表操作,對圖書信息的操作逐個地進行,一個圖書信息的更改不應(yīng)影響其他的圖書記錄。這種系統(tǒng)設(shè)計的人很多,也有很多種系統(tǒng)??偟母杏X他們做的界面不夠人性
3、化,不夠美觀。所以我在功能完善的前提下要做到界面更加美觀和人性化。整個系統(tǒng)制造的而過程中,涉及了較多C語言知識點,對于不同的數(shù)據(jù)類型、程序控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)作以分析和總結(jié),并結(jié)合這個課題進行綜合的應(yīng)用,在一定程度上做到了對所學(xué)知識融會貫通。進一步加深、鞏固了所學(xué)的專業(yè)的基本理論知識,培養(yǎng)了綜合分析問題、解決問題的能力。在設(shè)計程序時,實現(xiàn)了程序的模塊化、結(jié)構(gòu)化。在主函數(shù)中調(diào)用各種子函數(shù),操作界面簡單,易操作。1.2系統(tǒng)功能分析(系統(tǒng)提供主界面,各種功能操作以獨立的函數(shù)為基礎(chǔ),運用對鏈表操作的技術(shù)來實現(xiàn)通訊錄的管理,同時對操作結(jié)果在計算機中做永久保存。) 整個系統(tǒng)可以分為信息錄入、信息瀏覽、信息查
4、詢、信息排序、信息刪除和信息修改的功能。系統(tǒng)提供主界面,各種功能操作以獨立的函數(shù)為基礎(chǔ),運用對鏈表操作的技術(shù)來實現(xiàn)圖書信息的管理,同時對操作結(jié)果在計算機中做永久保存。開始菜單頁面輸入數(shù)字編號選項進入選擇子頁面結(jié)束1.3系統(tǒng)結(jié)構(gòu)分析程序總體結(jié)構(gòu)圖 選擇0程序?qū)哟螆D 開始選擇數(shù)字編號 0 1 2 3 4 圖書信息修改圖書信息查詢圖書信息瀏覽圖書信息錄入退出圖書管理系統(tǒng)圖書信息排序圖書信息保存圖書信息刪除圖書信息增加 5 6 7 8 程序流程圖開始 圖書信息錄入 0 1圖書信息瀏覽 0 2圖書信息查詢 0 3圖書信息修改 0 4圖書信息增加 0 5圖書信息刪除 0 6圖書信息排序 0 7圖書信息保存
5、 0 8 退出圖書管理系統(tǒng) 2、 核心技術(shù)介紹簡單選擇排序技術(shù):基本思想:每一趟在后面n-i 個待排記錄中選取排序碼最小的記錄作為有序序列中的第i 個記錄。排序過程: 首先通過n-1次關(guān)鍵字比較,從n個記錄中找出關(guān)鍵字最小的記錄,將它與第一個記錄交換。 再通過n-2次比較,從剩余的n-1個記錄中找出關(guān)鍵字次小的記錄,將它與第二個記錄交換。 重復(fù)上述操作,共進行n-1趟排序后,排序結(jié)束實現(xiàn)代碼為:void bookpaixu(struct book*p,int n)int j,i,k;char c1;struct book temp;printf("n排序前圖書的信息記錄為:n&quo
6、t;);printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");for(i=0;i<n;i+)printf("n%10s%10s%10s%10s%10s%10s%10sn",(p+i)->no,(p+i)->name,(p+i)->author,(p+i)->fenlei,(p+i)->
7、;putfrom,(p+i)->puttime,pi.price);printf("n按登錄號排序(D),還是按作者名排序(A)?"); /選擇排序的方式c1=getchar();getchar();if(c1='d'|c1='D') /選擇登錄號由小到大排序for(i=0;i<n-1;i+) k=i;for(j=i+1;j<n;j+)if(strcmp(pk.no,pj.no)>0) /使用選擇法進行排序k=j;if(k!=i) /如果最小熟不熟默認的pi,再交換,temp=pk;pk=pi;pi=temp;prin
8、tf("n排序后圖書的信息記錄為:n"); /輸出排序后圖書的信息printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");for(i=0;i<n;i+)printf("n%10s%10s%10s%10s%10s%10s%10sn",(p+i)->no,(p+i)->name,(p+i
9、)->author,(p+i)->fenlei,(p+i)->putfrom,(p+i)->puttime,pi.price);else if(c1='a'|c1='A') /選擇作者名由小到大排序for(i=0;i<n-1;i+)k=i;for(j=i+1;j<n;j+)if(strcmp(pk.author,pj.author)>0)k=j;if(k!=i) /使用選擇法進行排序temp=pk;pk=pi;pi=temp;printf("n排序后圖書的信息記錄為:n");printf("
10、n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格"); /輸出排序后圖書的信息for(i=0;i<n;i+)printf("n%10s%10s%10s%10s%10s%10s%10sn",(p+i)->no,(p+i)->name,(p+i)->author,(p+i)->fenlei,(p+i)->putf
11、rom,(p+i)->puttime,pi.price);elseprintf("n您輸入的為非法字符!n");3、 函數(shù)功能介紹stdlib.h是包含文件stdlib 頭文件即standard library標(biāo)準(zhǔn)庫頭文件。stdlib 頭文件里包含了C、C+語言的最常用的系統(tǒng)函數(shù)。該文件包含了的C語言標(biāo)準(zhǔn)庫函數(shù)的定義。stdlib.h里面定義了五種類型、一些宏和通用工具函數(shù)。 類型例如size_t、wchar_t、div_t、ldiv_t和lldiv_t; 宏例如EXIT_FAILURE、EXIT_SUCCESS、RAND_MAX和MB_CUR_MAX等等; 常用的
12、函數(shù)如malloc()、calloc()、realloc()、free()、system()、atoi()、atol()、rand()、srand()、exit()等等。 系統(tǒng)使用的主要函數(shù) void menu();int bookluru(struct book*p,int n); (錄入圖書信息) void bookliulan(struct book*p,int n); (圖書信息瀏覽) void bookchaxun(struct book*p,int n);(圖書信息查詢)void bookxiugai(struct book*p,int n); (圖書信息修改) int bookz
13、engjia(struct book*p,int n); (圖書信息增加)int bookshanchu(struct book*p,int n); (圖書信息刪除) void bookpaixu(struct book*p,int n); (圖書信息排序) void DLsearch(struct book*p,int n); (按登入號查詢)void AUsearch(struct book*p,int n); (按作者名查詢)int bookzairu(struct book*p,int n); (圖書信息文件儲存 )void goout(); (退出程序) int bookbaocun
14、(struct book*p,int n); (圖書信息保存) void main() 系統(tǒng)使用的主要數(shù)據(jù)結(jié)構(gòu) struct book /定義一個book類結(jié)構(gòu)體。 char noL;char nameL;char authorL;char fenleiL;char puttimeL;char putfromL;char priceL;4、 設(shè)計體會及總結(jié)這次課程設(shè)計讓我掌握了許多的有用知識。首先通過不斷地學(xué)習(xí)和鍛煉更加熟練地掌握應(yīng)用軟件Microsoft Visual C+ 6.0 了。設(shè)計正確及合適的程序?qū)τ谖覀兂鯇W(xué)者來說是很大的難題,出現(xiàn)一丁點兒錯誤就得非很大的努力去修改,正式者一步步一
15、點點的努力讓我對C語言游樂更深的認識。同時我掌握了解決問題的方法,這無論是對以后的學(xué)習(xí)、生活都有無比重要的價值通過兩周的課程設(shè)計,第一次我試著用所學(xué)的C語言知識去編制生活中常用的程序。我們是小組選擇編輯圖書信息管理系統(tǒng)程序。由于分工合作,我負責(zé)的是查詢和排除模塊。起初對知識掌握的不夠全面,在整個設(shè)計過程中遇到很多問題。比如,編譯出現(xiàn)錯誤,對于格式的掌握還不夠透徹;在分界面運行完后,回不到系統(tǒng)的主界面,出現(xiàn)了死循環(huán);在刪除信息的板塊中,刪除了要保留的;運行時,屏幕顯示的字之間無空格。后來,通過小組互相幫組討論,查閱書籍,改善了程序。首先把原程序中的運用scanf()輸入字符,改為getchar(
16、),排除了接受回車鍵所出現(xiàn)的問題,能夠順利的返回主界面。其次,printf()中字符串控制的長度拉寬。最后還是能如期的完成此次實訓(xùn)。當(dāng)然,由于初次接觸圖書管理系統(tǒng)的設(shè)計,程序還是存在缺陷。比如操作起來不夠簡便、連貫,同時也沒考慮到實際問題。如圖書的價格要取大于等于零的數(shù)等??傊?,此次的課程設(shè)計還是對我們的專業(yè)很有幫助。既鞏固了我們的C語言知識,讓我們對一部分函數(shù)的功能有了更加深刻的理解,把所學(xué)運用到實際,也使我們在系統(tǒng)設(shè)計領(lǐng)域有了新的拓展,開發(fā)我們的思維。參考文獻:1 黃明等編著C語言課程設(shè)計北京:電子工業(yè)出版社 2 郭翠英編著C語言課程設(shè)計案例精編北京:中國水利水電出版社 3 寧正元數(shù)據(jù)結(jié)構(gòu)
17、(c語言)南京:東南大學(xué)出版社。2000年6月第1版 4 嚴蔚敏等 數(shù)據(jù)結(jié)構(gòu)(c語言版) 北京:清華大學(xué)出版社,1997年4月第1版 5 譚浩強編著C程序設(shè)計題解與上機指導(dǎo)(第3版) 北京:清華大學(xué)出版社 6 譚浩強編著C程序設(shè)計(第3版) 北京:清華大學(xué)出版社 7 洪國勝 等編著 C+ Builder程序設(shè)計輕松上手北京:清華大學(xué)出版社 8 寧正元數(shù)據(jù)結(jié)構(gòu)(c語言) 南京:東南大學(xué)出版社。2000年6月第1版 9 嚴蔚敏等 數(shù)據(jù)結(jié)構(gòu)(c語言版) 北京:清華大學(xué)出版社,1997年4月第1版。10 明日科技編著Visual C+程序開發(fā)范例寶典北京:人民郵電出版社。 11 胡學(xué)鋼等數(shù)據(jù)結(jié)構(gòu)算法設(shè)
18、計指導(dǎo)北京:清華大學(xué)出版社,1999年 第1版。 12 劉大有數(shù)據(jù)結(jié)構(gòu)(面向21世紀課程教材) 北京:高等教育出版社。2001年6月第1版。 13 胡學(xué)鋼等數(shù)據(jù)結(jié)構(gòu)算法設(shè)計指導(dǎo)北京:清華大學(xué)出版社,1999年 第1版。附錄一:系統(tǒng)使用方法:一開始運行程序時,就會出現(xiàn)一個讓你選擇的界面,1.圖書信息錄入;2圖書信息瀏覽;3圖書信息查詢;4圖書信息修改;5圖書信息增加;6圖書信息刪除;7圖書信息排序;8圖書信息保存;0退出圖書管理系統(tǒng);當(dāng)你輸入1時(首次錄入圖書信息時),界面就會輸出“添加前的圖書信息記錄有0個: 請輸入要錄入的圖書書目x(0<x<200):”,接著你就按要求輸入你要錄
19、入的圖書的信息就可以了。當(dāng)你輸入2時,就會在出現(xiàn)一個你錄入的圖書信息,你可以繼續(xù)選擇繼續(xù)或不,當(dāng)選擇繼續(xù)時頁面會跳轉(zhuǎn)到3圖書信息查詢界面此時會提示你請按登陸號查詢還是按作者名查詢?你可以按照提示進行查詢操作。當(dāng)你輸入4時,界面會提示你輸入要修改的圖書登陸號。接下來按照提示信息一步步修改圖書信息。當(dāng)你輸入5時,界面會提示你添加圖書信息按提示添加完后會顯示添加前的圖書信息記錄和添加后的圖書信息記錄。當(dāng)輸入6時,界面會提示輸入刪除圖書的登陸號,刪除后會顯示圖書刪除后的記錄。當(dāng)輸入7時,界面會提示按登陸號排序或按作者名排序,排序后會顯示排序后俄圖書信息記錄。當(dāng)輸入8時,界面會提示“圖書信息保存成功!”
20、當(dāng)輸入0時,將會退出圖書管理系統(tǒng)。Ps:操作每一步結(jié)束都回提示是否繼續(xù)操作(Y/N)。源代碼:#include<stdio.h> /頭文件#include<string.h>#include<stdlib.h>#define L 30 /宏定義#define Q 200struct book /定義一個book類結(jié)構(gòu)體。char noL;char nameL;char authorL;char fenleiL;char puttimeL;char putfromL;char priceL;/函數(shù)聲明 /函數(shù)聲明void menu();int bookluru
21、(struct book*p,int n); void bookliulan(struct book*p,int n); void bookchaxun(struct book*p,int n); void bookxiugai(struct book*p,int n); int bookzhengjia(struct book*p,int n);int bookshanchu(struct book*p,int n); void bookpaixu(struct book*p,int n); void DLsearch(struct book*p,int n); void AUsearch(
22、struct book*p,int n);int bookzairu(struct book*p,int n);void goout();int bookbaocun(struct book*p,int n); void main() /主函數(shù)char slect,yn;struct book recordQ; /定義book類結(jié)構(gòu)體變量存放圖書信息共200條int total=0,flag;total=bookzairu(record,Q); /從文件讀取圖書信息,不超過200條domenu(); /顯示菜單printf("請服務(wù)項編號:");slect=getchar(
23、);getchar();switch(slect) case'0': goout();break;case'1': total=bookluru(record,total);break; /函數(shù)調(diào)用case'2': bookliulan(record,total);break;case'3': bookchaxun(record,total);break;case'4': bookxiugai(record,total);break;case'5': total=bookzhengjia(recor
24、d,total);break;case'6': total=bookshanchu(record,total);break;case'7': bookpaixu(record,total);break;case'8': flag=bookbaocun(record,total);if("flag=1") printf("圖書信息保存成功!n");elseprintf("圖書信息保存失??!n");break;default:continue;if(slect='0') br
25、eak;printf("n還要繼續(xù)選擇嗎?(Y/N)"); /提示是否結(jié)束doyn=getchar();getchar();if (yn='Y'|yn='y')break;else if (yn='N'|yn='n')break;else printf("非法選項!n還要繼續(xù)選擇嗎?(Y/N)");while(1);while(yn!='N'&&yn!='n');/圖書管理系統(tǒng)主菜單.void menu()system("cls&qu
26、ot;);system("color 1e"); printf("nn"); printf("請選擇服務(wù)項目編號(0-8)n"); printf("*n"); printf("§*歡迎使用圖書信息管理系統(tǒng)*§n"); printf("§*§n"); printf("§§ §§n"); printf("§§ §§n");
27、 printf("§§ §§n"); printf("§§ * 1 . 圖書信息錄入. §§n"); printf("§§ * 2 . 圖書信息瀏覽. §§n"); printf("§§ * 3 . 圖書信息查尋. §§n"); printf("§§ * 4 . 圖書信息修改. §§n"); pri
28、ntf("§§ * 5 . 圖書信息增加. §§n"); printf("§§ * 6 . 圖書信息刪除. §§n"); printf("§§ * 7 . 圖書信息排序. §§n"); printf("§§ * 8 . 圖書信息保存. §§n"); printf("§§ * 0 . 退出圖書管理系統(tǒng). §§n
29、"); printf("§§ §§n"); printf("§§ §§n"); printf("§§ §§n"); printf("*n"); printf("n");int bookluru(struct book *p,int n)/錄入圖書信息.int i=0;int m;printf("n添加前的圖書信息記錄共有%d個:n",n); /顯示
30、原有的圖書信息printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");i=0;while(i<n)&&(strcmp(p->no,"")!=0) /輸入的登錄號不為空時,輸出圖書信息printf("%9s%9s%9s%9s%9s%9s%9sn",p->no,p->
31、;name,p->author,p->fenlei,p->puttime,p->putfrom,p->price);/信息輸出i+;p+;printf("n請輸入要錄入的圖書數(shù)目X(0<X<%d): ",200-n); /設(shè)置圖書信息存儲最大值scanf("%d",&m);i=0;while(i<m)printf("n");printf("請輸入第%d本圖書的信息:n",i+1);printf("登錄號: ");do gets(p->
32、no); /輸入登錄號,再輸入其他信息while(strcmp(p->no,"")=0);printf("書名為:"); gets(p->name); printf("作者名為:"); gets(p->author); printf("分類號為:"); gets(p->fenlei); printf("出版時間為:"); gets(p->puttime); printf("出版單位為:"); gets(p->putfrom); printf
33、("價格為:"); gets(p->price);p+;i+;return m+n;void bookliulan(struct book*p,int n)/圖書信息瀏覽.int i=0;printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");while(i<n) /輸出原有圖書信息printf("
34、%9s%9s%9s%9s%9s%9s%9sn",p->no,p->name,p->author,p->fenlei,p->puttime,p->putfrom,p->price);p+;i+;void bookchaxun(struct book*p,int n)/圖書信息查尋.char c;bookliulan(p ,n);doprintf("n請問按登錄號查詢(D),還是按作者名查詢(A)?"); /選擇查詢方式c=getchar();getchar();if(c='D'|c='d')D
35、Lsearch(p,n);break;else if(c='A'|c='a')AUsearch(p,n);break;elseprintf("n輸入的為非法字符!n");continue;while(c!='D'|c!='d'|c!='A'|c!='a');void DLsearch(struct book*p,int n)/按登錄號查詢.int i,x=0;char DLL;printf("n請輸入要查詢圖書的登錄號:");gets(DL);for(i=0;
36、i<n;i+)if(strcmp(DL,pi.no)=0) /輸入登錄號,如果在系統(tǒng)中找到則輸出圖書信息printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");printf("n%10s%10s%10s%10s%10s%10s%10sn",pi.no,,pi.author,pi.fenlei,pi.p
37、utfrom,pi.puttime,pi.price);x=1;break;if(x=0)printf("n對不起,圖書系統(tǒng)中沒有包含此書的信息!n");void AUsearch(struct book*p,int n)/按作者名查詢.int i,x=0;char AU20;printf("n請輸入要查詢圖書的作者姓名:");gets(AU);for(i=0;i<n;i+) if(strcmp(AU,pi.author)=0) /輸入作者姓名,如果在系統(tǒng)中找到則輸出圖書信息 printf("n %9s%9s%9s%9s%9s%9s%9s
38、n","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");printf("n%10s%10s%10s%10s%10s%10s%10sn",pi.no,,pi.author,pi.fenlei,pi.putfrom,pi.puttime,pi.price);x=1;if(x=0)printf("n對不起,圖書系統(tǒng)中沒有包含此書的信息!n"); /提示信息void
39、 bookxiugai(struct book*p,int n)/圖書信息修改.int i,k=0;char noL;bookliulan(p,n);printf("n請輸入要修改圖書的登錄號:");gets(no);for(i=0;i<n;i+,p+) if(strcmp(no,p->no)!=0) continue; /輸入的登錄號不匹配,結(jié)束本次循環(huán)elseprintf("n請輸入正確的圖書登錄號:");gets(p->no);printf("n請輸入正確的圖書書名:"); gets(p->name);
40、printf("n請輸入正確的圖書作者名:"); gets(p->author); printf("n請輸入正確的圖書分類號:"); gets(p->fenlei); printf("n請輸入正確的圖書出版時間:"); gets(p->puttime); printf("n請輸入正確的圖書出版單位:"); gets(p->putfrom); printf("n請輸入正確的圖書價格:"); gets(p->price);printf("n修改圖書圖書信息完成
41、!");k=1;if(k=0)printf("n對不起,圖書系統(tǒng)中沒有包含此書的信息!n");int bookzhengjia(struct book *p,int n)/圖書信息增加.int i=0;char c;struct book t;printf("n添加前圖書信息的記錄為:n"); bookliulan(p ,n);/顯示添加前圖書信息的記錄doprintf("請輸入新圖書信息的登錄號:");gets(t.no); printf("n請輸入新圖書信息的書名為:"); gets();
42、 printf("n請輸入新圖書信息的作者名為:"); gets(t.author); printf("n請輸入新圖書信息的分類號為:"); gets(t.fenlei); printf("n請輸入新圖書信息的出版時間為:"); gets(t.puttime); printf("n請輸入新圖書信息的出版單位為:"); gets(t.putfrom); printf("n請輸入新圖書信息的價格為:"); gets(t.price);for(i=0;i<n;i+)if(strcmp(t.no,
43、(p+i)->no)=0|strcmp(t.author,(p+i)->author)=0|strcmp(t.fenlei,(p+i)->fenlei)=0)printf("登錄號、作者名和分類號重復(fù),要重新輸入嗎(Y/N)?");c=getchar();putchar('n');break;if(i=n)*(p+i)=t; printf("n添加后圖書的信息記錄為:n"); /顯示添加后圖書的信息記錄printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號",
44、"書名","作者名","分類號","出版單位","出版時間","價格");for(i=0;i<n+1;i+)printf("n%9s%9s%9s%9s%9s%9s%9sn",pi.no,,pi.author,pi.fenlei,pi.putfrom,pi.puttime,pi.price);break;while(c='y'|c='Y');return n+1;int bookshanchu(struct
45、 book *p,int n)/圖書信息刪除.int i,x,y=0;char no20;printf("n刪除前圖書的信息記錄為:n");printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格"); /顯示刪除前圖書的信息記錄for(i=0;i<n;i+)printf("n%9s%9s%9s%9s%9s%9
46、s%9sn",(p+i)->no,(p+i)->name,(p+i)->author,(p+i)->fenlei,(p+i)->putfrom,(p+i)->puttime,pi.price);printf("n請輸入要刪除圖書的登陸號:");gets(no);for(x=0;x<n;x+)if(strcmp(no,px.no)!=0) /輸入的登錄號不匹配,結(jié)束本次循環(huán)continue;if(x<n)for(i=x;i<n;i+) /后一個圖書信息對前一個圖書信息覆蓋刪除 strcpy(pi.no,pi+1.
47、no); strcpy(pi.author,pi+1.author); strcpy(,pi+1.name); strcpy(pi.fenlei,pi+1.fenlei); strcpy(pi.price,pi+1.price); strcpy(pi.putfrom,pi+1.putfrom); strcpy(pi.puttime,pi+1.puttime);printf("圖書信息刪除后的記錄:n");printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名",&quo
48、t;作者名","分類號","出版單位","出版時間","價格"); /顯示圖書信息刪除后的記錄for(i=0;i<n-1;i+)printf("n%9s%9s%9s%9s%9s%9s%9sn",pi.no,,pi.author,pi.fenlei,pi.putfrom,pi.puttime,pi.price);y=1;elseprintf("n對不起,圖書系統(tǒng)中沒有包含此書的信息!n");return n-y; return 0;/對圖書信息排序
49、.void bookpaixu(struct book*p,int n)int j,i,k;char c1;struct book temp;printf("n排序前圖書的信息記錄為:n");printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");for(i=0;i<n;i+)printf("n%10s%
50、10s%10s%10s%10s%10s%10sn",(p+i)->no,(p+i)->name,(p+i)->author,(p+i)->fenlei,(p+i)->putfrom,(p+i)->puttime,pi.price);printf("n按登錄號排序(D),還是按作者名排序(A)?"); /選擇排序的方式c1=getchar();getchar();if(c1='d'|c1='D') /選擇登錄號由小到大排序for(i=0;i<n-1;i+) k=i;for(j=i+1;j<
51、;n;j+)if(strcmp(pk.no,pj.no)>0) /使用選擇法進行排序k=j;if(k!=i) /如果最小熟不熟默認的pi,再交換,temp=pk;pk=pi;pi=temp;printf("n排序后圖書的信息記錄為:n"); /輸出排序后圖書的信息printf("n %9s%9s%9s%9s%9s%9s%9sn","登錄號","書名","作者名","分類號","出版單位","出版時間","價格");for(i=0;i<n;i
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國康復(fù)醫(yī)療服務(wù)行業(yè)市場規(guī)模測算邏輯模型
- 2025年度南京地區(qū)建筑勞務(wù)派遣合作協(xié)議書
- 2025年度安防技術(shù)研發(fā)合伙人股份協(xié)議
- 二零二五年度荒山承包合同(生態(tài)修復(fù)與水源保護)
- 便利店裝修施工合同范本
- 2025年度簽待崗協(xié)議對員工職業(yè)生涯規(guī)劃指導(dǎo)手冊
- 2025年度平房房屋出租合同(含周邊商業(yè)合作權(quán)益)
- 2025年湖南體育職業(yè)學(xué)院單招職業(yè)傾向性測試題庫完整
- 2025年湖南商務(wù)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 2024年三季度報重慶地區(qū)A股主營業(yè)務(wù)收入增長率排名前十大上市公司
- 12詩詞四首《漁家傲-秋思》公開課一等獎創(chuàng)新教學(xué)設(shè)計 初中語文九年級下冊
- 技能人才評價新職業(yè)考評員培訓(xùn)在線考試(四川省)
- 金礦承包協(xié)議合同2024年
- 《有機化學(xué)》課程說課
- 軌道電路參數(shù)與狀態(tài)課件講解
- 2024年中華人民共和國企業(yè)所得稅年度納稅申報表(帶公式)20240301更新
- 2024年安徽省高考化學(xué)試卷(真題+答案)
- 現(xiàn)澆箱梁專項施工組織設(shè)計
- 結(jié)直腸癌治療研究進展2024年
- 員工薪酬確認書三篇
- DZ∕T 0148-2014 水文水井地質(zhì)鉆探規(guī)程(正式版)
評論
0/150
提交評論