C語言程序設(shè)計課程設(shè)計報告-圖書借閱管理系統(tǒng)_第1頁
C語言程序設(shè)計課程設(shè)計報告-圖書借閱管理系統(tǒng)_第2頁
C語言程序設(shè)計課程設(shè)計報告-圖書借閱管理系統(tǒng)_第3頁
C語言程序設(shè)計課程設(shè)計報告-圖書借閱管理系統(tǒng)_第4頁
C語言程序設(shè)計課程設(shè)計報告-圖書借閱管理系統(tǒng)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課 程 設(shè) 計 報 告課程名稱 c語言程序設(shè)計 課題名稱 圖書借閱管理系統(tǒng) 專 業(yè) 網(wǎng)絡(luò)工程 班 級 1002班 學(xué) 號 姓 名 指導(dǎo)教師 2011年 6 月 30 日湖南工程學(xué)院課 程 設(shè) 計 任 務(wù) 書課程名稱 c語言程序設(shè)計 課 題 圖書借閱管理系統(tǒng) 專業(yè)班級 網(wǎng)絡(luò)工程1002班 學(xué)生姓名 學(xué) 號 指導(dǎo)老師 審 批 任務(wù)書下達(dá)日期 2011 年 6 月20 日任務(wù)完成日期 2011 年 7 月 03 日一、設(shè)計內(nèi)容與設(shè)計要求1設(shè)計內(nèi)容:問題描述:對一個有n本圖書的圖書館,通過該系統(tǒng)實現(xiàn)對該班級學(xué)生的基本信息進行錄入、顯示、修改、刪除、保存等操作的管理。功能要求:(1)、本系統(tǒng)采用一個包含

2、n個數(shù)據(jù)的結(jié)構(gòu)體數(shù)組,每個數(shù)據(jù)的結(jié)構(gòu)應(yīng)當(dāng)包括:書號、書名、作者、出版社、出版日期、單價、是否借出等。(2)、本系統(tǒng)顯示這樣的菜單:a. 圖書基本信息錄入b. 圖書基本信息顯示c. 圖書基本信息刪除d. 圖書基本信息修改e. 圖書基本信息查詢(按書號查詢、書名等)g. 退出系統(tǒng)(3)、執(zhí)行一個具體的功能之后,程序?qū)⒅匦嘛@示菜單。2設(shè)計要求:掌握結(jié)構(gòu)化程序設(shè)計的主體思想,以自頂向下逐步求精的方法編制程序解決一些實際的問題,為將來編寫軟件積累一些典型的案例處理經(jīng)驗。1. 設(shè)計正確,方案合理。2. 界面友好,使用方便。3. 程序精煉,結(jié)構(gòu)清晰。4. 設(shè)計報告5000字以上,含程序設(shè)計說明,用戶使用說明

3、,源程序清單及程序框圖。5. 上機演示。6. 按學(xué)號順序選課題號,并在規(guī)定的時間內(nèi)獨自完成相關(guān)課題的c源程序編寫、調(diào)整和運行。源程序及編譯生成各文件均保存在軟盤中;7. 按本任務(wù)書的要求,按附錄的要求編寫課程設(shè)計報告(word文檔格式)。并用a4的復(fù)印紙打印并裝訂; 二、進度安排第 18 周 星期一 08:0012:00熟悉這次課程設(shè)計的目的和課程設(shè)計的要求,明確了解一些要用到的文件和調(diào)用函數(shù)等,然后再把整個程序設(shè)計的總體框架、流程圖等構(gòu)思出來,并進行上機程序設(shè)計。 星期二 14:3018:30機房上機,在計算機上編輯源程序。調(diào)試程序,在改正錯誤的同時不斷完善程序,使源代碼滿足課程設(shè)計的要求和

4、實現(xiàn)課程設(shè)計的要求和實現(xiàn)課程設(shè)計的基本功能。 星期三 08:0012:00繼續(xù)修改、編輯、調(diào)試程序。不斷改正錯誤后,要保證程序能成功編譯成目標(biāo)文件,鏈接成功成為可執(zhí)行文件。再運行能通過,這樣才能算已經(jīng)完成了本課題的基本功能。之后,開始撰寫課程設(shè)計報告。 星期四 08:0012:00繼續(xù)修改、編輯、調(diào)試程序。 第19周 星期一 08:0012:00繼續(xù)修改、編輯、調(diào)試程序。 星期二 14:3018:30 答辯,檢查課設(shè)報告 目錄 一、課題的主要功能.6二、課題的功能模塊的劃分.6三、主要功能的實現(xiàn).9四、程序調(diào)試.12五、總結(jié).14六、附件.15七、評分表.24 一、課題的主要功能 為了方便管理

5、員存存儲新的圖書,并便于及時的查找,插入信息以及刪除輸入信息,還能知道圖書的價格,出版社,作者等等的信息,還可以幫助用戶及時了解到圖書是否被借出。二、課題功能的模塊劃分主要算法的設(shè)計:(1) 主函數(shù)的算法設(shè)計開始圖1:輸入選擇- 圖書信息查詢始退出圖書信息刪除函數(shù)圖書信息修改函數(shù)圖書信息顯示函數(shù)圖書信息錄入函數(shù)結(jié)束(2)圖書信息錄入:錄入圖書的書名,價格,出版社和作者如圖:開始輸入要添加的本數(shù)輸入圖書基本信息函數(shù)保存函數(shù)返回函數(shù)結(jié)束首先,從文件中調(diào)用函數(shù)讀入函數(shù),再輸入要添加的書本數(shù),然后添加圖書信息,并保存。(3)圖書信息顯示:顯示圖書的基本信息:如圖:開始輸出函數(shù)結(jié)束返回主菜單首先,輸出所

6、有圖書的信息,并輸出圖書記錄數(shù),然后調(diào)用輔助函數(shù)進行菜單選擇,操作完成后返回主菜單。(4)圖書信息刪除:刪除某些圖書的資料;(5)圖書信息修改:修改選定圖書的資料;如圖開始讀入函數(shù)輸入函數(shù)是否相等輸出信息選擇表達(dá)式資料1資料2料2資料3資料4資料5資料6資料7選擇返回主菜單結(jié)束首先,選擇修改信息,輸入要修改的書本號,再輸入要要修改的選項及內(nèi)容;若成功則否則調(diào)用報錯函數(shù)。(6)圖書信息查詢:按書的編號、書名來查詢圖書的資料;如圖:開始選擇方法按書名查找按書號查找刪除、修改刪除、修改選擇查詢方式 ,1按書名查詢,2按作者查詢, 然后定位,再調(diào)用輸出函數(shù);退出系統(tǒng):查詢完畢,推出此系統(tǒng)。三、主要功能

7、的實現(xiàn)主函數(shù):利用無限次循環(huán)實現(xiàn)各函數(shù)的調(diào)用,系統(tǒng)根據(jù)輸入的字母選項來調(diào)用相應(yīng)的函數(shù)。錄入函數(shù):實現(xiàn)圖書信息的錄入。如圖:、查詢函數(shù):實現(xiàn)對圖書信息的查詢刪除函數(shù):實現(xiàn)圖書信息的刪除;修改函數(shù):允許對已錄入的圖書信息進行重新修改。顯示函數(shù):顯示所有圖書的信息。退出函數(shù):退出系統(tǒng)四、程序的調(diào)試程序調(diào)試是指對程序的查錯和排錯。為了便于查錯、閱讀,在設(shè)計該程序的時候我采用了結(jié)構(gòu)化程序方法編輯,添加了盡可能多的注釋,這為我后來的調(diào)試過程帶來了很多方便。在上機調(diào)試之前我對所編的程序作了紙面上的檢查,先消滅一些低級錯誤,所謂的低級錯誤是指由于人為的輸入不仔細(xì)等造成的,如沒有搭配完整,漏寫 ;號,拼寫錯誤等

8、,這些都是我們通過認(rèn)真的態(tài)度在運行之前可以解決、避免的。而且還可以減少機器時間。往往一連串的錯誤是由于漏寫或?qū)戝e一個字符引起的。經(jīng)過仔細(xì)檢查之后進行上機調(diào)試。進行編譯,如果在編譯和連接過程中發(fā)現(xiàn)錯誤,屏幕上顯示了出錯信息,根據(jù)提示找到出錯的位置,加以改正,再進行編譯如此反復(fù),直到順利通過編譯和連接為止。在本次實習(xí)過程中碰到的編譯、連接的錯誤主要有:1、缺少變量定義,定義位置不正確;由于該程序相對來講稍有些長,前后有些變量不容易聯(lián)系起來,但是在錯誤信息的提示下一般還是很容易找到。不過需要注意的是在定義的時候有些函數(shù)使用同樣的變量名而表示不同的作用,因而使用要很小心,定義及定義的位置要特別留意。為

9、減少這樣的錯誤我后來還是用不同的變量名來表示,結(jié)果引起的那些錯誤解決了。2、語法錯誤;大多的語法錯誤在通過書本參考下能夠修改。主要是平時看書不仔細(xì)、不太注意而產(chǎn)生的。如沒有注意具體數(shù)據(jù)使用是有一定的范圍限定;過分重視分號的重要性而在for、if、while語句中畫蛇添足加分號;在使用文件的時候忘記將文件先打開,對打開的方式與使用的情況不太注意而造成不匹配;還有漏掉形參的定義是值不能傳遞等等。這些語法錯誤有信息框的提示一般是能夠排除的。3、在注釋的時候不能同我們平常做筆記一樣隨心所欲地愛寫哪就寫哪,這造成我最后本來已經(jīng)編譯成功的程序一下子又多了很多錯誤。注釋的時候,注釋文字應(yīng)寫在一起中間不能有中

10、斷包含了c語言的語句,不然又引起錯誤格式不正確或是多了字符等。這又讓我學(xué)到了一點知識。編譯、連接的成功并不意味著程序的最終成功。邏輯上的錯誤機器不易檢查出來,這時需要對數(shù)據(jù)結(jié)果進行分析。這種錯誤的查找是最難的,需要編程序的人有相當(dāng)?shù)哪托暮图?xì)心去把問題找出來。這也是本次程序編輯過程中碰到的最大的難題。往往運行之后得不到另人滿意的結(jié)果,此時解決的方法一則用“分段檢查”的方法,在程序的不同位置設(shè)幾個printf函數(shù)語句,輸出有關(guān)變量的值,逐段往下檢查,或用debug進行調(diào)試,對檢查出的錯誤進行修改,當(dāng)調(diào)試完畢將設(shè)置的printf都刪去。若在程序中找不到問題,則再來考慮算法是否邏輯嚴(yán)謹(jǐn),再進行修改。如

11、此循環(huán)往復(fù),直到最后程序運行成功。在本次程序編輯過程中,我就是常遇到編譯能通過,能夠運行程序,但是總在輸入、刪除等操作完之后再想去看數(shù)據(jù)文件中存在的數(shù)據(jù)記錄的時候,卻一條記錄也顯示不出來,我懷疑是哪個對方對n變量的定義或使用出錯了,于是在每個主要函數(shù)的操作過程中添加了printf語句用來顯示n的變化,例如在執(zhí)行某個函數(shù)前添加插入語句顯示n的起始值,在執(zhí)行完該個函數(shù)后再添加插入語句顯示此時n的結(jié)果值,觀察n的變化是否正確,如果錯誤了,也就說明該函數(shù)編寫過程有錯。諸如這樣的調(diào)試方法,不斷縮小檢查范圍,最后將錯誤找到,進行修改。所以到最后我找到了錯誤,及時改正,終于把程序完成了,一切功能顯示正常。以

12、上是調(diào)試的全過程。五、總結(jié)課程設(shè)計是培養(yǎng)學(xué)生綜合運用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實際問題,鍛煉實踐能力的重要環(huán)節(jié),是對學(xué)生實際動手能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日新日異,c語言已經(jīng)成為當(dāng)今計算機應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說掌握c語言的運用技術(shù)是十分重要的。在科技高度發(fā)展的今天,計算機在人們之中的作用越來越突出。而c語言作為一種計算機的語言,我們學(xué)習(xí)它,有助于我們更好的了解計算機,與計算機進行交流,因此,c語言的學(xué)習(xí)對我們尤其重要。 在這個星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進行了c語言程序?qū)嵺`學(xué)習(xí)。在這之前,我們已經(jīng)對c

13、語言這門課程學(xué)習(xí)了一個學(xué)期,對其有了一定的了解,但是也僅僅是停留在了解的范圍,對里面的好多東西還是很陌生,的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。 由于時間的關(guān)系,我們的這次實踐課程老師并沒有給我們詳細(xì)的介紹,只是給我們簡單的介紹了幾個比較重要的實際操作。包括了程序模塊處理。簡單界面程序。高級界面程序。程序的添加修改。用程序做一元線性回歸處理以及用c語言程序來畫粒度分布圖等這幾樣比較重要的時間操作。 上機實驗是學(xué)習(xí)程序設(shè)計語言必不可少的實踐環(huán)節(jié),特別是c語言靈活、簡潔,更需要通過編程的實踐來真正掌握它。對于程序設(shè)計語言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語法規(guī)定、掌握程序設(shè)計方法、提高程序

14、開發(fā)能力,這些都必須通過充分的實際上機操作才能完成。學(xué)習(xí)c程序設(shè)計語言除了課堂講授以外,必須保證有不少于課堂講授學(xué)時的上機時間。因為學(xué)時所限,課程不能安排過多的統(tǒng)一上機實驗,所以希望學(xué)生有效地利用課程上機實驗的機會,盡快掌握用c語言開發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個良好的基礎(chǔ)。為此,我們結(jié)合課堂講授的內(nèi)容和進度,安排了12次上機實驗。課程上機實驗的目的,不僅僅是驗證教材和講課的內(nèi)容、檢查自己所編的程序是否正確,課程安排的上機實驗的目的可以概括為如下幾個方面:1加深對課堂講授內(nèi)容的理解課堂上要講授許多關(guān)于c語言的語法規(guī)則,聽起來十分枯燥無味,也不容易記住,死記硬背是不可取的。然而要使用c語

15、言這個工具解決實際問題,又必須掌握它。通過多次上機練習(xí),對于語法知識有了感性的認(rèn)識,加深對它的理解,在理解的基礎(chǔ)上就會自然而然地掌握c語言的語法規(guī)定。對于一些內(nèi)容自己認(rèn)為在課堂上聽懂了,但上機實踐中會發(fā)現(xiàn)原來理解的偏差,這是由于大部分學(xué)生是初次接觸程序設(shè)計,缺乏程序設(shè)計的實踐所致。 學(xué)習(xí)c語言不能停留在學(xué)習(xí)它的語法規(guī)則,而是利用學(xué)到的知識編寫c語言程序,解決實際問題。即把c語言作為工具,描述解決實際問題的步驟,由計算機幫助我們解題。只有通過上機才能檢驗自己是否掌握c語言、自己編寫的程序是否能夠正確地解題。 通過上機實驗來驗證自己編制的程序是否正確,恐怕是大多數(shù)同學(xué)在完成老師作業(yè)時的心態(tài)。但是在

16、程序設(shè)計領(lǐng)域里這是一定要克服的傳統(tǒng)的、錯誤的想法。因為在這種思想支配下,可能你會想辦法去掩蓋程序中的錯誤,而不是盡可能多地發(fā)現(xiàn)程序中存在的問題。自己編好程序上機調(diào)試運行時,可能有很多你想不到的情況發(fā)生,通過解決這些問題,可以逐步提高自己對c語言的理解和程序開發(fā)能力。2熟悉程序開發(fā)環(huán)境、學(xué)習(xí)計算機系統(tǒng)的操作方法一個c語言程序從編輯、編譯、連接到運行,都要在一定的外部操作環(huán)境下才能進行。所謂環(huán)境就是所用的計算機系統(tǒng)硬件、軟件條件,只有學(xué)會使用這些環(huán)境,才能進行程序開發(fā)工作。通過上機實驗,熟練地掌握c語言開發(fā)環(huán)境,為以后真正編寫計算機程序解決實際問題打下基礎(chǔ)。同時,在今后遇到其它開發(fā)環(huán)境時就會觸類旁

17、通,很快掌握新系統(tǒng)的使用。3學(xué)習(xí)上機調(diào)試程序完成程序的編寫,決不意味著萬事大吉。你認(rèn)為萬無一失的程序,實際上機運行時可能不斷出現(xiàn)麻煩。如編譯程序檢測出一大堆錯誤。有時程序本身不存在語法錯誤,也能夠順利運行,但是運行結(jié)果顯然是錯誤的。開發(fā)環(huán)境所提供的編譯系統(tǒng)無法發(fā)現(xiàn)這種程序邏輯錯誤,只能靠自己的上機經(jīng)驗分析判斷錯誤所在。程序的調(diào)試是一個技巧性很強的工作,對于初學(xué)者來說,盡快掌握程序調(diào)試方法是非常重要的。有時候一個消耗你幾個小時時間的小小錯誤,調(diào)試高手一眼就看出錯誤所在。 通過這次為數(shù)不多的幾天計算機實踐學(xué)習(xí),我們了解了一些關(guān)于c語言的知識,理解鞏固了我們c語言的理論知識,著對我們將來到社會工作將

18、會有莫大的幫助。同時它讓我知道,只要你努力,任何東西都不會太難。六、附件#include #include #include #include #define n sizeof(struct book)#define pt %-5d %10s %6s %6s %8s %3d n,p-num,p-name,p-where,p-author,p-pub,p-countstruct book /*圖書信息*/ int num; /*書號*/ char name10; /*書名*/ char where10; /*出版日期*/ char author15; /*作者*/ char pub20; /*出

19、版社*/ int count; /*單價*/ struct book *next;void find1 (struct book *p0);void find2 (struct book *p0);/*輸出模塊*/void print(struct book *p0) struct book *p; system(cls); p=p0-next; printf(nntt圖書信息表); printf(nn圖書編號-圖書名稱-出版日期-作者-出版社-單價n); while(p!=null) printf(pt); p=p-next; getch(); system(cls);/*輸入模塊*/str

20、uct book *creat() struct book *head,*p1,*p2; int i=0; head=p2=(struct book *)malloc(n); head-next=null; printf(nntt錄入圖書信息); printf(nt-); while(1) p1=(struct book *)malloc(n); printf(n 請輸入圖書編號(書號為結(jié)束): ); scanf(%d,&p1-num); if(p1-num!=0) printf(nn書名 作者 出版社 出版日期 單價n); scanf(%s%s%s%s%d,p1-name,p1-author

21、,p1-pub,p1-where,&p1-count); p2-next=p1; p2=p1; i+; else break; p2-next=null; free(p1); printf(ntt-); printf(ntt %d 種書錄入完畢,i); getch(); system(cls); return head;/*查找模塊*/void find(struct book *p0)int v; printf(1.按書名查找n); printf(2.按書號查找n); scanf(%d,&v); switch(v) case 1 : find1(p0);break; case 2:find2

22、(p0);break; default: ; void find1 (struct book *p0) system(cls); char name10; int flag=1; struct book *p; p=p0-next; printf(請輸入要查找的書名:n); scanf(%s,&name); for(p=p0;p;p=p-next) if(strcmp(p-name,name)=0) printf(nn圖書編號-圖書名稱-出版日期-作者-出版社-單價n); printf(pt); flag=0; break; if(flag) printf(n 暫無此圖書信息n); getch

23、(); void find2 (struct book *p0) system(cls); int num; int flag=1; struct book *p; p=p0-next; printf(請輸入要查找的書號:n); scanf(%d,&num); for(p=p0;p;p=p-next) if(p-num=num) printf(nn圖書編號-圖書名稱-出版日期-作者-出版社-單價n); printf(pt); flag=0; break; if(flag) printf(n 暫無此圖書信息n); getch(); /*刪除模塊*/void del(struct book *p0

24、)system(cls); char name10; int flag=1; struct book *p; p=p0; printf(請輸入要刪除的書名:n); scanf(%s,name); while(p!=null) if(strcmp(p-name,name)=0) p0-next=p-next; free(p); printf(t該書資料已刪除.); flag=0; break; p0=p; p=p-next; if(flag) printf(nt無此圖書信息。); getch(); system(cls); /*錄入模塊*/void insert(struct book *p0)

25、 struct book *p; system(cls); p=(struct book *)malloc(n); while(1) printf(n 請輸入要錄入的圖書編號(書號為退出): ); scanf(%d,&p-num); if(p-num!=0) if(p0-next!=null&p0-next-num=p-num) /*找到重號*/ p=p-next; free(p); printf(t該書已存在); else printf(nn書名 作者 出版社 出版日期 單價n); scanf(%s%s%s%s%d,p-name,p-author,p-pub,p-where,&p-count

26、); p-next=p0-next; p0-next=p; printf(t已成功錄入.); else break; getch(); system(cls);/*修改模塊*/void modify(struct book *p0) system(cls); char name10; int flag=1; int choice; struct book *p; p=p0-next; printf(請輸入要修改的書名:n); scanf(%s,name); while(p!=null&flag=1) if(strcmp(p-name,name)=0) printf(nt請選擇要修改的項:);

27、printf(nt 1.修改圖書編號n); printf(nt 2.修改圖書出版日期n); printf(nt 3.修改圖書作者n); printf(nt 4.修改圖書出版社n); printf(nt 5.修改圖書單價n); scanf(%d,&choice); switch(choice) case 1: printf(n 請輸入新的圖書編號:); scanf(%d,p-num); break; case 2: printf(n 請輸入新的圖書出版日期:); scanf(%s,p-where); break; case 3: printf(n 請輸入新的圖書作者:); scanf(%s,p-

28、author); break; case 4: printf(n 請輸入新的圖書出版社:); scanf(%s,p-pub); break; case 5: printf(n 請輸入新的圖書單價:); scanf(%d,p-count); break; printf(nt該項已成功修改。nt 新的圖書信息:); printf(nn圖書編號-圖書名稱-出版日期-作者-出版社-單價n); printf(pt); flag=0; p0=p; p=p0-next; if(flag) printf(nt暫無此圖書信息。); getch(); system(cls);/*讀文件*/struct book

29、*read_file() int i=0; struct book *p,*p1,*head=null; file *fp; if(fp=fopen(library.txt,rb)=null) printf(nn t*庫文件不存在,請創(chuàng)建!*); getch(); return null; head=(struct book *)malloc(n); p1=head; head-next=null; printf(n 已有圖書信息:); printf(nn圖書編號-圖書名稱-作者-出版社-出版日期-單價n); while(!feof(fp) p=(struct book *)malloc(n); printf(pt); i+; p1-next=p; p1=p; p1-next=null; fclose(fp); printf(n 共種%d 圖書信息,i); printf(nnn 文件中的信息以正確讀出。按任意鍵返回。); getch();system(cls); return (head); /*保存文件*/void save(struct book *head) file

溫馨提示

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

最新文檔

評論

0/150

提交評論