課程設(shè)計-基于C語言的圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
課程設(shè)計-基于C語言的圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
課程設(shè)計-基于C語言的圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
課程設(shè)計-基于C語言的圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
課程設(shè)計-基于C語言的圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要圖書管理系統(tǒng)的設(shè)計主要運用了二叉樹的相關(guān)知識,一方面采用二叉樹排序作為索引表的主要原因是為了方便用書序列號為關(guān)鍵字進(jìn)行查閱,根據(jù)日常我們的借書經(jīng)驗來看,到圖書館借書的人或者到書店買書的人,都可以通過多種查詢方式來獲取所需要的書的信息,通過數(shù)的序列號能進(jìn)行更加精確的查找,對于一個實用的管理系統(tǒng)來說缺省查找是必不可少的;采用二分查找實現(xiàn)精確查找;書籍入庫操作應(yīng)由系統(tǒng)管理員進(jìn)行,假設(shè)此書已有收藏那么只增加庫存量即可,而否那么要按系統(tǒng)設(shè)計要求添加相應(yīng)的節(jié)點數(shù)據(jù);書籍銷毀的操作同樣應(yīng)由系統(tǒng)管理員進(jìn)行,只能銷毀已存在的、且未出借的書,只需在索引表中將該節(jié)點刪除即可完成書籍的銷毀工作;本系統(tǒng)中采用字符串的模式匹配算法來實現(xiàn)信息的缺省檢索結(jié)點的設(shè)計采用標(biāo)準(zhǔn)c語言提供的一種叫做結(jié)構(gòu)體的復(fù)合數(shù)據(jù)類型存儲書的信息,然后再采用二杈樹的二杈鏈表存儲結(jié)構(gòu)把單本的書關(guān)聯(lián)起來。這樣就可對館藏的所有書進(jìn)行統(tǒng)一的管理了。關(guān)鍵字:圖書借閱,圖書管理,二叉樹

目錄1前言 61.1課程設(shè)計的目的 61.2圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)的根本要求 61.3數(shù)據(jù)結(jié)構(gòu)相關(guān)知識的闡述 62功能描述 73系統(tǒng)設(shè)計 73.1設(shè)計思路 73.2系統(tǒng)功能模塊圖 8系統(tǒng)構(gòu)成 8管理員 83.3管理員功能模塊 94算法設(shè)計 114.1節(jié)點數(shù)據(jù)的設(shè)計 114.1.1圖書的存儲結(jié)構(gòu)模型 114.1.1管理員存儲模型 114.2公共參變量說明 124.2.1administer*admins,*current_admin=NULL 124.2.2libcard*clients,*current_client=NULL; 124.3二叉排序樹的插入模塊的設(shè)計 124.4二叉排序樹的創(chuàng)立模塊的設(shè)計 134.5二叉排序樹的查找模塊設(shè)計 144.6二叉排序樹的刪除模塊設(shè)計 154.7主函數(shù)的設(shè)計 175詳細(xì)設(shè)計 185.1采用排序二叉樹作為存儲結(jié)構(gòu) 185.2創(chuàng)立鏈表的二叉樹 185.3二叉排序樹的插入模塊,采用遞歸算法實現(xiàn) 195.4本模塊實現(xiàn)二叉排序樹的建立 205.5二叉排序樹的查找算法 215.6二叉排序樹的刪除算法 225.7顯示管理員信息 236調(diào)試分析 306.1進(jìn)入系統(tǒng) 306.2成進(jìn)入系統(tǒng)之后你就可以進(jìn)行相關(guān)操作了 317課程設(shè)計總結(jié) 358參考文獻(xiàn) 351前言1.1課程設(shè)計的目的通過數(shù)據(jù)結(jié)構(gòu)課程設(shè)計能更加熟練的掌握C語言以及數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識,能宏觀的把握數(shù)據(jù)結(jié)構(gòu)的各個相關(guān)局部的知識,深入的理解各個分支結(jié)構(gòu)的作用和運用,特別是通過本此課程設(shè)計更能熟練的掌握和運用二叉樹的相關(guān)知識,如通過二叉樹能實現(xiàn)查找、刪除、排序等從而實現(xiàn)對圖書借閱管理。因而課程設(shè)計的主要目的就是使同學(xué)們能熟練的運用數(shù)據(jù)結(jié)構(gòu)的相關(guān)知識實現(xiàn)各種功能。1.2圖書借閱管理系統(tǒng)的設(shè)計與實現(xiàn)的根本要求對每種書登記內(nèi)容包括書號、書名、作者、現(xiàn)存量和庫存量;對所有藏書以書號為關(guān)鍵字建立索引表——排序二杈樹,用以方便進(jìn)行二分查找;采編入庫:新購一種書,確定書號后,登記到圖書帳目表中,如果表中已有,那么只將庫存量增加;借閱:如果一種書的現(xiàn)存量大于0,那么借出一本,登記借閱者的書證號和歸還期限,改變現(xiàn)存量;歸還:注銷對借閱者的登記,改變該書的現(xiàn)存量。系統(tǒng)主要功能如下:輸出形式:能按書號、書名、著作者查找?guī)齑娴臅畔ⅲ荒馨磳W(xué)生的借書證號顯示學(xué)生信息和借閱信息;書籍入庫;借書功能實現(xiàn);還書功能實現(xiàn)。

1.3數(shù)據(jù)結(jié)構(gòu)相關(guān)知識的闡述本課程設(shè)計運用到得數(shù)據(jù)結(jié)構(gòu)局部主要在于二叉樹的運用,采用二杈樹的二杈鏈表存儲結(jié)構(gòu)把單本的書關(guān)聯(lián)起來,這樣就可對館藏的所有書進(jìn)行統(tǒng)一的管理;采用排序二叉樹作為索引表的優(yōu)點是方便按索書號為關(guān)鍵字進(jìn)行查詢;對于一個實用的管理系統(tǒng)來說缺省查找是必不可少的,本系統(tǒng)中采用字符串的模式匹配算法來實現(xiàn)信息的缺省檢索。采用二分查找實現(xiàn)精確查找;運用二叉樹的插入、刪除、排序來實現(xiàn)對圖書的添加、刪除、排列。2功能描述二叉樹的排序主要用于對圖書管理系統(tǒng)的圖書進(jìn)行排序,采用二杈樹的二杈鏈表存儲結(jié)構(gòu)把單本的書關(guān)聯(lián)起來。這樣就可對館藏的所有書進(jìn)行統(tǒng)一的管理了。二叉樹的插入用于實現(xiàn)對圖書管理系統(tǒng)的圖書進(jìn)行添加,對二叉樹的節(jié)點插入新節(jié)點,然后從新排列新序列來實現(xiàn)圖書的插入。二叉樹的刪除主要用來對圖書管理系統(tǒng)的圖書進(jìn)行銷毀,對二叉樹節(jié)點的刪除,節(jié)點表示一本圖書,刪除節(jié)點就表示銷毀不需要的圖書信息。3系統(tǒng)設(shè)計3.1設(shè)計思路由于課程設(shè)計的要求是用純的c語言實現(xiàn),不能采用數(shù)據(jù)庫等操作數(shù)據(jù),故節(jié)點的設(shè)計采用標(biāo)準(zhǔn)c語言提供的一種叫做結(jié)構(gòu)體的復(fù)合數(shù)據(jù)類型存儲書的信息,然后再采用二杈樹的二杈鏈表存儲結(jié)構(gòu)把單本的書關(guān)聯(lián)起來。這樣就可對館藏的所有書進(jìn)行統(tǒng)一的管理了。根據(jù)我們?nèi)粘探?jīng)驗,客戶到圖書館借書或者到書店買書,客戶可以通過多種查詢方式獲得所需要的書,通過索書號只能進(jìn)行精確查找,對于一個實用的管理系統(tǒng)來說缺省查找是必不可少的,本系統(tǒng)中采用字符串的模式匹配算法來實現(xiàn)信息的缺省檢索。采用二分查找實現(xiàn)精確查找。書籍入庫操作應(yīng)由系統(tǒng)管理員進(jìn)行,假設(shè)此書已有收藏那么只增加庫存量即可,而否那么要按系統(tǒng)設(shè)計要求添加相應(yīng)的節(jié)點數(shù)據(jù)。書籍銷毀的操作同樣應(yīng)由系統(tǒng)管理員進(jìn)行,只能銷毀已存在的、且未出借的書。只需在索引表中將該節(jié)點刪除即可完成書籍的銷毀工作。根據(jù)業(yè)務(wù)實際,客戶借書、還書的操作都需得管理員上班〔即本系統(tǒng)中的登錄〕,而在每一個單位時間內(nèi)每個管理員只能受理一個客戶??蛻粲袡?quán)提出借/還書但是對借/還書的操作那么是由系統(tǒng)管理員完成的。借書功能顯然是針對具體客戶而言的,所以不管你是誰,要借書就得說明你是誰〔即先登錄在借書〕??蛻裘拷枰槐緯紤?yīng)該對客戶的借書信息有個詳細(xì)的說明,根據(jù)業(yè)務(wù)實際對于客戶應(yīng)該還有借書數(shù)目的限制條件。還書功能與借數(shù)功能相似,但業(yè)務(wù)邏輯是相反的。根據(jù)業(yè)務(wù)邏輯實際當(dāng)借書超過一定時間還會對違例客戶進(jìn)行一定的懲罰〔通常為罰款〕。3.2系統(tǒng)功能模塊圖3.2.1系統(tǒng)構(gòu)成功能說明:描述圖書管理系統(tǒng)的主體局部。3.2.2管理員功能說明:描述圖書管理員的管理局部。3.3管理員功能模塊功能說明:描述圖書管理系統(tǒng)管理員的全部功能系統(tǒng)局部。4算法設(shè)計4.1節(jié)點數(shù)據(jù)的設(shè)計4.1.1圖書的存儲結(jié)構(gòu)模型typedefstructbook{ longintstarting;//借書日期 longintending;//應(yīng)還日期 charbookinform[120];//這里面存儲書籍的描述信息 longintcallnum;//索書號 charbookname[30]; charwriter[20]; inttotalstorage,nowstorage;//書本的館藏量,現(xiàn)有量}book;/*本結(jié)構(gòu)體用于創(chuàng)立二叉樹*/typedefstructvolume{ bookbooks;structvolume*lchild; structvolume*rchild;}volume,*Btvolume; 說明:采用二叉樹而非鏈表進(jìn)行圖書的管理4.1.1管理員存儲模型typedefstructadminister{ charadminID[12]; charpassword[12];charadminname[20];//管理員名字... charadminmessage[150]; structadminister*next;}administer;說明:采用二叉樹而非鏈表進(jìn)行圖書的管理4.2公共參變量說明4.2.1administer*admins,*current_admin=NULL;說明:admins作為鏈接所有管理員的頭指針 current_admin用于管理當(dāng)前登陸的管理員用戶 同一時刻只允許最多一名管理員登錄4.2.2libcard*clients,*current_client=NULL;說明:clients作為鏈接所有客戶的頭指針 current_client用于管理當(dāng)前登陸的客戶 同一時刻最多只允許一名客戶登錄4.3二叉排序樹的插入模塊的設(shè)計——voidinsertBST(Btvolume*bst,book*key)功能說明:利用二叉樹的結(jié)點插入方法對結(jié)點進(jìn)行插入設(shè)置,從而來實現(xiàn)對圖書信息進(jìn)行插入。如下列圖:4.4二叉排序樹的創(chuàng)立模塊的設(shè)計——voidcreateBST(Btvolume*bst,intmanner)功能說明:在二叉樹的根節(jié)進(jìn)行創(chuàng)立,通過文件和鍵盤的信息輸入方法來添加相關(guān)結(jié)點及相關(guān)圖書信息。如下列圖:4.5二叉排序樹的查找模塊設(shè)計——BtvolumesearchBST(Btvolumebst,longintkey)功能說明:利用二叉樹的結(jié)點查找方法對結(jié)點進(jìn)行查找設(shè)置,從而來實現(xiàn)對圖書信息進(jìn)行查找。如下列圖:4.6二叉排序樹的刪除模塊設(shè)計——intdelBST(Btvolumebst,intkey)功能說明:利用二叉樹的結(jié)點刪除方法對結(jié)點進(jìn)行刪除設(shè)置,然后從新排列,從而來實現(xiàn)對圖書信息進(jìn)行刪除,如下列圖:4.7主函數(shù)的設(shè)計功能說明:主要目的是對圖書管理的實現(xiàn),通過對算法設(shè)計和組織,利用圖形化界面來實現(xiàn)用戶和管理員對圖書系統(tǒng)的訪問。如下列圖:5詳細(xì)設(shè)計5.1采用排序二叉樹作為存儲結(jié)構(gòu)#include<stdlib.h>#include<stdio.h>#include<math.h>#include<string.h>#include<time.h>//函數(shù)結(jié)構(gòu)體#defineMAXNUM10typedefstructbook{ longintstarting;//借書日期 longintending;//應(yīng)還日期 charbookinform[120];//這里面存儲書籍的描述信息 longintcallnum;//索書號 charbookname[30]; charwriter[20]; inttotalstorage,nowstorage;//書本的館藏量,現(xiàn)有量}book;5.2創(chuàng)立鏈表的二叉樹功能:本結(jié)構(gòu)體用于創(chuàng)立鏈表的二叉樹,通過對結(jié)點的生成來創(chuàng)立新的二叉樹,最終生成圖書管理系統(tǒng)。typedefstructvolume{ bookbooks; structvolume*lchild;//左孩子局部 structvolume*rchild;//右孩子局部}volume,*Btvolume;typedefstructlibcard{ charuserID[12]; charpassword[12];//用戶的密碼 charclientname[20];//用戶的名字 charusermessage[150];//用戶信息 bookborrow[10];//每本借書證限借書十本 structlibcard*next;}libcard;typedefstructadminister{ charadminID[12]; charpassword[12]; charadminname[20];//管理員的名字... charadminmessage[150]; structadminister*next;}administer;administer*admins,*current_admin=NULL;libcard*clients,*current_client=NULL;5.3二叉排序樹的插入模塊,采用遞歸算法實現(xiàn)功能:本結(jié)構(gòu)體用于二叉排序樹的插入模塊,采用遞歸算法實現(xiàn),通過對結(jié)點的插入來創(chuàng)立新的二叉樹,最終生成圖書管理系統(tǒng)。voidinsertBST(Btvolume*bst,book*key){ Btvolumes; if(*bst==NULL)//遞歸結(jié)束條件 { s=(Btvolume)malloc(sizeof(volume)); s->books.callnum=key->callnum; s->books.nowstorage=key->nowstorage; s->books.totalstorage=key->totalstorage; s->books.starting=key->starting; s->books.ending=key->ending; strcpy(&(s->books.bookinform),&(key->bookinform)); strcpy(&(s->books.bookname),&(key->bookname)); strcpy(&(s->books.writer),&(key->writer));s->lchild=NULL; s->rchild=NULL; *bst=s; }//遞歸結(jié)束條件 elseif(key->callnum<(*bst)->books.callnum) { insertBST(&((*bst)->lchild),key); } elseif(key->callnum>(*bst)->books.callnum) { insertBST(&((*bst)->rchild),key); } else { (*bst)->books.nowstorage+=key->nowstorage; (*bst)->books.totalstorage+=key->totalstorage; }}5.4本模塊實現(xiàn)二叉排序樹的建立功能說明:1、參數(shù)Btvolume*bst為待創(chuàng)立樹的根節(jié)點 2、只有庫存量為空的時候才能調(diào)用本模塊 3、只有管理員才能調(diào)用本模塊 4、參數(shù)manner用于指定從文件創(chuàng)立還是從鍵盤創(chuàng)立 manner=1:鍵盤、manner=2:從文件 5、只有在系統(tǒng)初始化是才允許從鍵盤創(chuàng)立voidcreateBST(Btvolume*bst,intmanner){ book*key; FILE*f_book_store=NULL; f_book_store=fopen("book_store.txt","r"); *bst=NULL; while(1){ key=(book*)malloc(sizeof(book));// if(manner==1) { /*輸入書本信息*/ key->starting=0; key->ending=0; printf("輸入索書號:"); scanf("%ld",&(key->callnum)); if(key->callnum==0){ free(key); break; }/*輸入書本信息*/printf("輸入入庫量:"); scanf("%d",&(key->totalstorage)); key->nowstorage=key->totalstorage; printf("輸入書本名:"); scanf("%s",&(key->bookname)); printf("輸入著"); scanf("%s",&(key->writer)); printf("輸入書描述:"); scanf("%s",&(key->bookinform)); } else { if(!feof(f_book_store))//判斷文件是否結(jié)束 { key=read_book_file(f_book_store); if(key->callnum<-1) { free(key); key=NULL; } } else { free(key); break; } } if(key!=NULL) insertBST(bst,key);//調(diào)用插入操作實現(xiàn)新書入庫 } fclose(f_book_store);/////////////////////////////////////////////////////////////////////// f_book_store=fopen("book_store.txt","w"); write_book_file(f_book_store,*bst); fclose(f_book_store);///////////////////////////////////////////////////////////////////////}5.5二叉排序樹的查找算法功能:按索書號為關(guān)鍵字進(jìn)行二分查找,采用遞歸算法實現(xiàn),通過對結(jié)點的查找來創(chuàng)立新的二叉樹,最終生成圖書管理系統(tǒng)。BtvolumesearchBST(Btvolumebst,longintkey){ if(bst==NULL) returnNULL; if(bst->books.callnum==key) returnbst; if(bst->books.callnum<key) returnsearchBST(bst->rchild,key); returnsearchBST(bst->lchild,key);}5.6二叉排序樹的刪除算法功能:實現(xiàn)對館藏的書籍進(jìn)行銷毀,返回是否成功intdelBST(Btvolumebst,intkey){ intsuccess=0; Btvolumep,f,s,q; p=bst; f=NULL;//實現(xiàn)對圖書管理 while(p) { if(p->books.callnum==key) break; f=p; if(p->books.callnum>key) p=p->lchild; else p=p->rchild; }//選擇對左節(jié)點還是右結(jié)點進(jìn)行訪問 if(p==NULL) { success=1; returnsuccess;//結(jié)點為空,對結(jié)點訪問成功 } if(p->lchild==NULL) { if(f==NULL) bst=p->rchild; elseif(f->lchild==p) f->lchild=p->rchild; else f->rchild=p->rchild; free(p); success=1; }//訪問結(jié)點的左孩子和右孩子成功 else { q=p; s=p->lchild; while(s->rchild) { q=s; s=s->rchild; } if(q==p) q->lchild=s->lchild; else q->rchild=s->lchild; p->books.callnum=s->books.callnum;//對左右孩子進(jìn)行設(shè)置 free(s); success=1; } returnsuccess;}5.7顯示管理員信息功能:本結(jié)構(gòu)體重要用于對管理員信息進(jìn)行管理,顯示管理員的信息。voiddisplay_admins(administer*head){ inti=0; administer*temp=head; if(head==NULL) { printf("您好,當(dāng)前無管理員!\n"); return; } while(temp!=NULL) { printf("\n"); printf("管理員ID:%s\n",temp->adminID); printf("管理員姓名:%s\n",temp->adminname); printf("管理員信息:%s\n",temp->adminmessage); printf("\n"); temp=temp->next; }}voiddisplay(volume*key){ time_tt; if(key==NULL) { printf("對不起,本館目前無此藏書!\n"); return; } printf("\n"); printf("索書號:%d\n",key->books.callnum); printf("書名:%s\n",key->books.bookname); printf("作者:%s\n",key->books.writer); printf("描述:%s\n",key->books.bookinform); printf("館藏量:%d\n",key->books.totalstorage); printf("可借量:%d\n",key->books.nowstorage); printf("\n");}/* 登錄模塊 返回登錄的用戶類型 用戶必須先登錄才能對圖書進(jìn)行操作*/intlogin(){ administer*temp_admin=NULL; libcard*temp_client=NULL; inttype,temp; view_01(); scanf("%d",&type); while(1) { switch(type) { case1: if(current_admin!=NULL) { printf("對不起,登錄人數(shù)已滿,您目前還不能登陸!\n"); break; } temp_admin=(administer*)malloc(sizeof(administer)); printf("請輸入管理員ID:"); scanf("%s",&temp_admin->adminID); printf("請輸入登錄密碼:"); GetPassword(&temp_admin->password,12); //scanf("%s",&temp_admin->password); if(check_admin(&temp_admin))//調(diào)用函數(shù)檢查 { current_admin=temp_admin; returntype; } else { printf("對不起,密碼錯誤!\n"); free(temp_admin);//如果登錄失敗那么不能進(jìn)行更多的操作 current_admin=NULL; break; } case2: if(current_client!=NULL) { printf("對不起,登錄人數(shù)已滿,您目前還不能登陸!\n"); break; } temp_client=(libcard*)malloc(sizeof(libcard)); printf("請輸入借閱證號:"); scanf("%s",&temp_client->userID); printf("請輸入密碼:"); GetPassword(&temp_client->password,12); //scanf("%s",&temp_client->password); if(check_client(&temp_client))//調(diào)用函數(shù)檢查 { current_client=temp_client; returntype; } else { printf("對不起,密碼錯誤!\n"); free(temp_client); current_client=NULL; break; } } printf("(0、退出)\n"); scanf("%d",&temp); if(!temp)return0; }} 讀取管理員用戶信息文件 administer*read_admin_file(FILE*filepoint){administerwz;administer*head=NULL;administer*p1=NULL;administer*p2=NULL;//對管理員進(jìn)行訪問while(1) { fread(&wz,sizeof(administer),1,filepoint); p1=(administer*)malloc(sizeof(administer));//設(shè)置管理員權(quán)限 if(feof(filepoint)) { free(p1); break; } strcpy(p1->adminID,wz.adminID); strcpy(p1->adminname,wz.adminname); strcpy(p1->adminmessage,wz.adminmessage); strcpy(p1->password,wz.password); p1->next=p2; p2=p1; } head=p2;return(head);}讀取管理員用戶信息文件/* 寫入管理員用戶的信息*/intwrite_admin_file(FILE*filepoint,administer*head){while(head!=NULL)//把鏈表中的數(shù)據(jù)存入文件{ fwrite(head,sizeof(administer),1,filepoint); head=head->next;}return0;}/* /* 管理員 管理員能進(jìn)行圖書的購入或者銷毀,還能對圖書進(jìn)行查詢操作以及瀏覽客戶資料 但是管理員自己不能借書*/voidadmin(volume**Btroot){ inta,b,oper; volume*temp; libcard*head; FILE*filepoint=NULL; system("cls");////////////清屏 if(current_admin==NULL) { printf("您還未登錄!\n"); login(); system("cls");////////////清屏 return;//不管登錄是否成功都將回到原處 } while(1) { system("cls");////////////清屏 view_02(); scanf("%d",&oper); switch(oper) { case1: in_stor(Btroot); break; case2: printf("輸入索書號進(jìn)行銷毀:"); scanf("%d",&a); if(!out_stor(Btroot,a)) printf("對不起,本館并未藏有此書!\n"); break; case3: search(*Btroot); break; case4: preorder(*Btroot); break; case5: display_clients(clients); break; case6: display_admins(admins); break; case7: clientsev(Btroot); if(current_admin==NULL) return; break; case8: logout(1); if(current_client!=NULL)//假設(shè)此時管理員有登陸者轉(zhuǎn)到管理員界面 clientsev(Btroot); return; default:return; } system("pause"); }}intmain(){ inta=0,b; intcases=0,goornot; FILE*f_book_store=NULL,*f_admin=NULL,*f_client=NULL; bookbooker; volumeroot,*Btroot; /* 讀取所有管理員和客戶 */ f_admin=fopen("user_admin.txt","r"); admins=read_admin_file(f_admin); fclose(f_admin); f_client=fopen("user_client.txt","r"); clients=re

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論