數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——宿舍管理查詢軟件_第1頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——宿舍管理查詢軟件_第2頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——宿舍管理查詢軟件_第3頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——宿舍管理查詢軟件_第4頁
數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——宿舍管理查詢軟件_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)宿舍管理查詢軟件班級學(xué)號班學(xué)生姓名提交日期2015年7月24日成 績 計(jì)算機(jī)與通信工程學(xué)院一、需求分析1、 程序設(shè)計(jì)任務(wù) 為宿舍管理人員編寫一個(gè)宿舍管理查詢軟件。程序設(shè)計(jì)要求:A. 采用交互工作方式B. 建立數(shù)據(jù)文件 ,數(shù)據(jù)文件按關(guān)鍵字(姓名、學(xué)號、房號)進(jìn)行排序(冒泡、選擇、插入排序等任選一種)查詢菜單: (用二分查找實(shí)現(xiàn)以下操作)A. 按姓名查詢 B. 按學(xué)號查詢 C. 按房號查詢打印任一查詢結(jié)果(可以連續(xù)操作)2、功能要實(shí)現(xiàn)交互工作方式,各項(xiàng)操作結(jié)束后均應(yīng)返回主菜單;系統(tǒng)本無任何信息數(shù)據(jù),要建立數(shù)據(jù)文件,需開發(fā)一個(gè)信息錄入功能,即首先創(chuàng)建一個(gè)學(xué)員線性表,同時(shí)我們可以將數(shù)據(jù)

2、暫時(shí)保存在內(nèi)存中,所以我們未開發(fā)信息存盤功能;信息錄入后都保存在內(nèi)存中,用戶看不到,需要設(shè)計(jì)一個(gè)信息顯示功能,信息的顯示應(yīng)該便于查閱,所以需具備按各種關(guān)鍵字顯示的功能;本系統(tǒng)按關(guān)鍵字(姓名、學(xué)號、房號)進(jìn)行冒泡排序,采用二分查找方式分別實(shí)現(xiàn)按關(guān)鍵字(姓名、學(xué)號、房號)查詢功能;由于有些同學(xué)因?yàn)椴煌蚨x校,所以設(shè)計(jì)了刪除功能;由于有新同學(xué)入校,所以設(shè)計(jì)了插入功能;當(dāng)用戶操作完畢需要退出時(shí),我們提供了退出選項(xiàng),便于使用者退出交互式工作系統(tǒng)。3、 功能模塊圖4、 流程圖5、 輸入和輸出 輸入的形式1)開始創(chuàng)建線性表:按先后順序輸入姓名(20個(gè)字以內(nèi)),學(xué)號(整型),房號(整型)。2)根據(jù)用戶所選

3、擇的操作鍵,然后再根據(jù)程序的相應(yīng)提示進(jìn)行輸入。 選擇操作鍵1(按姓名排序):無輸入; 選擇操作鍵2(按學(xué)號排序):無輸入; 選擇操作鍵3(按房號排序):無輸入; 選擇操作鍵4(按姓名查找):輸入要查找的姓名; 選擇操作鍵5(按學(xué)號查找):輸入要查找的學(xué)號; 選擇操作鍵6(按房號查找):輸入要查找的房號; 選擇操作鍵7(按學(xué)號插入):按照提示順序輸入要插入的學(xué)生姓名,學(xué)號,房號; 選擇操作鍵8(按學(xué)號刪除):輸入要?jiǎng)h除學(xué)生的學(xué)號。 輸出的形式及范圍 根據(jù)用戶選擇的不同,會有不同的輸出。 選擇操作鍵1(按姓名排序):輸出以姓名首字母排序的所有學(xué)生信息; 選擇操作鍵2(按學(xué)號排序):輸出按學(xué)號從小到

4、大排列的所有學(xué)生信息; 選擇操作鍵3(按房號排序):輸出按房號從小到大排列的所有學(xué)生信息; 選擇操作鍵4(按姓名查找):若查找成功,則輸出相應(yīng)學(xué)生信息,若不成功,則輸 出該學(xué)生不存在; 選擇操作鍵5(按學(xué)號查找):若查找成功,則輸出相應(yīng)學(xué)生信息,若不成功,則輸 出該學(xué)生不存在; 選擇操作鍵6(按房號查找):若查找成功,則輸出相應(yīng)學(xué)生信息,若不成功,則輸 出該學(xué)生不存在。 選擇操作鍵7(按學(xué)號插入):輸出插入后的所有學(xué)生信息; 選擇操作鍵8(按學(xué)號刪除):輸出所需刪除的學(xué)生信息,確認(rèn)刪除后,輸出刪除后 的所有學(xué)生信息。6、 測試數(shù)據(jù)開始錄入的數(shù)據(jù):姓名 學(xué)號 房號 劉備 1 102 孫權(quán) 6 2

5、31 周瑜 3 124正確輸入:查找的數(shù)據(jù):6(按學(xué)號)正確輸出:孫權(quán) 6 2312、 詳細(xì)設(shè)計(jì)1、數(shù)據(jù)結(jié)構(gòu)typedef struct /定義結(jié)構(gòu)體成員char name20;int num; /學(xué)號和房號都為整型int room;stu;stu stud;typedef structint length; /當(dāng)前長度stu *elem; /存儲空間基址int listsize; /當(dāng)前分配的存儲容量linklist; 2、數(shù)據(jù)int f;f為全局變量,指選擇的操作鍵數(shù)char name20;name 為姓名int num;num 為學(xué)號int room;room 為房號int length

6、; length 為線性表的當(dāng)前長度stu *elem; elem 指示線性表的基地址int listsize;listsize為當(dāng)前分配的存儲容量char c;c 為進(jìn)入主界面的任意鍵char ch;ch 為判斷字符y或nint i,j;在冒泡排序中,i 為外層循環(huán)次數(shù),j 為內(nèi)層循環(huán)次數(shù)int i;在打印學(xué)生信息時(shí),i作為循環(huán)變量int m;int n;int a;m,n,a在二分查找中分別代表房號,學(xué)號,姓名int i,j,k;i,j,k在按學(xué)號插入中作為循環(huán)變量int i,j,k=-1;i,j,k在按學(xué)號刪除中作為循環(huán)變量3、函數(shù)調(diào)用 具體函數(shù)如下:void init(linklist

7、 &l):用于線性表初始化,通過調(diào)用C語言文件操作函數(shù)來實(shí)現(xiàn)。void create(linklist &l):用于創(chuàng)建學(xué)生信息表,通過線性表來實(shí)現(xiàn)。void sort3(linklist &l):用于按房號排序,通過采用冒泡排序的算法來實(shí)現(xiàn)。void sort2(linklist &l):用于按學(xué)號排序,通過采用冒泡排序的算法來實(shí)現(xiàn)。void sort1(linklist &l):用于按姓名排序,通過采用冒泡排序的算法來實(shí)現(xiàn)。void chazhao3(linklist &l):用于按房號從小到大查找,通過采用二分查找的算法來實(shí)現(xiàn)。void c

8、hazhao2(linklist &l):用于按學(xué)號從小到大查找,通過采用二分查找的算法來實(shí)現(xiàn)。void chazhao1(linklist &l):用于按姓名從小到大查找,通過采用二分查找的算法來實(shí)現(xiàn)。void print1(linklist &l):用于打印學(xué)生信息,通過調(diào)用文件操作函數(shù)實(shí)現(xiàn)。void print2(linklist &l,int mid) :用于打印查找到的學(xué)生信息,通過調(diào)用文件查找函數(shù)實(shí)現(xiàn)。int panduan2(char ch):用于如果學(xué)生不存在,判斷是否繼續(xù)查找,通過if語句,文件操作函數(shù)實(shí)現(xiàn)void panduan3() :用于

9、如果已無學(xué)生記錄則返回主界面,通過調(diào)用其他函數(shù)和文件操作函數(shù)實(shí)現(xiàn)。void disp() :用于返回主界面,通過調(diào)用menu()函數(shù)實(shí)現(xiàn)。void menu():用于列出操作菜單,通過輸入輸出語句實(shí)現(xiàn)。void main() :程序操作的入口,是程序的主函數(shù),可以按照已定義的函數(shù)調(diào)用子函數(shù)。4、主程序:int main() /主函數(shù)linklist l; /定義線性表 linit(l); /調(diào)用初始化函數(shù)char ch;system("color a");printf("n");printf(" *歡迎進(jìn)入宿舍管理查詢系統(tǒng)*n");p

10、rintf("n");printf("請按任意鍵開始操作:");scanf("%c",&ch);system("cls");/將屏幕先前顯示的內(nèi)容清理掉create(l); /調(diào)用線性表創(chuàng)建函數(shù)system("cls");t=1;menu(); /調(diào)用主菜單函數(shù) while(f!=0)system("cls");switch(f)case 1: sort1(l); /調(diào)用按姓名排序函數(shù) printf("n"); if(l.length=0) pri

11、ntf("已無學(xué)生記錄n"); printf("n"); disp(); menu(); elseprintf("按姓名排序:n");print1(l);disp(); /調(diào)用返回主界面 menu(); break;case 2: sort2(l); /調(diào)用按學(xué)號排序函數(shù) printf("n"); if(l.length=0) printf("已無學(xué)生記錄n");printf("n"); disp(); menu(); elseprintf("按學(xué)號排序:n&quo

12、t;);print1(l);disp(); menu();break;case 3: sort3(l); /調(diào)用按房號排序函數(shù) printf("n"); if(l.length=0) printf("已無學(xué)生記錄n"); printf("n"); disp(); menu(); elseprintf("按房號排序:n");print1(l);disp(); menu();break; case 4:sort1(l); /先調(diào)用按姓名排序函數(shù)進(jìn)行排序 chazhao1(l); /再調(diào)用按姓名查找函數(shù)進(jìn)行(二分)查找

13、break;case 5: sort2(l); /先調(diào)用按學(xué)號排序函數(shù)進(jìn)行排序 chazhao2(l); /再調(diào)用按學(xué)號查找函數(shù)進(jìn)行(二分)查找 break;case 6: sort3(l); /先調(diào)用按房號排序函數(shù)進(jìn)行排序 chazhao3(l); /再調(diào)用按房號查找函數(shù)進(jìn)行(二分)查找 break;case 7: sort2(l); /調(diào)用插入函數(shù) insert(l); system("cls");printf("顯示插入后的學(xué)生信息:n");print1(l);disp(); menu(); break;case 8: Delete(l); /調(diào)用

14、刪除函數(shù)if(l.length=0)printf("n");printf("學(xué)生記錄已被刪除完n");printf("n");disp(); menu();elseprintf("顯示刪除后的學(xué)生信息:n");print1(l);disp(); menu();break;3、 調(diào)試分析為了避免繁瑣、改進(jìn)算法,在一些函數(shù)中調(diào)用了其它的函數(shù)。如:在按(姓名、學(xué)號、房號)查找中都調(diào)用了 panduan1(ch) 和panduan2(ch)函數(shù)。在插入和刪除模塊中,顯示學(xué)生的信息的下面總是有主界面,經(jīng)過調(diào)試,運(yùn)用syste

15、m("cls")函數(shù)清屏后,顯示的只有學(xué)生的信息了,再按鍵即可返回主界面。本程序多次運(yùn)用了 disp()、menu()、system("cls")、fflush(stdin)等函數(shù),經(jīng)過多次調(diào)試,已經(jīng)很好的控制了顯示的學(xué)生信息與主界面的轉(zhuǎn)換。通過本次課程設(shè)計(jì),對線性表、冒泡排序、二分查找的應(yīng)用有了更深入的了解。4、 用戶手冊首先,運(yùn)行程序進(jìn)入“歡迎進(jìn)入宿舍管理查詢系統(tǒng)”界面,然后進(jìn)入線性表創(chuàng)建界面中,輸入學(xué)生的信息,創(chuàng)建好學(xué)生信息以后單擊任意鍵則進(jìn)入操作界面(主界面),然后可按鍵進(jìn)行操作。單擊數(shù)字鍵“1”,則為按姓名排序 單擊數(shù)字鍵“2”,則為按學(xué)號排序

16、單擊數(shù)字鍵“3”,則為按房號排序 單擊數(shù)字鍵“4”,則為按姓名查找單擊數(shù)字鍵“5”,則為按學(xué)號查找 單擊數(shù)字鍵“6”,則為按學(xué)號查找單擊數(shù)字鍵“7”,則為按學(xué)號插入 單擊數(shù)字鍵“8”,則為按學(xué)號刪除系統(tǒng)中有如下關(guān)鍵詞: 提示:當(dāng)輸入的數(shù)字鍵為0時(shí),退出操作;請輸入數(shù)字鍵(18為操作鍵);請按任意鍵進(jìn)入主界面。5、 測試結(jié)果(1) 歡迎界面(2) 按任意鍵進(jìn)入線性表的創(chuàng)建界面,并輸入數(shù)據(jù),開始創(chuàng)建(3) 按操作鍵選擇操作(4) 按姓名排序(5) 按學(xué)號排序(6) 按房號排序(7) 按姓名查找(8) 按學(xué)號查找(9) 按房號查找(10) 按學(xué)號插入(11) 按學(xué)號刪除6、 附錄源程序: /采用順序

17、線性表解決宿舍管理問題 (C語言)#include<stdio.h>#include<stdlib.h>#include<string.h>#define N 40 /線性表存儲空間的初始分配量#define increase 10 /線性表存儲空間的分配量增量int f,t=0; /定義全局變量typedef struct char name20;int num; /學(xué)號和房號都為整型int room;stu;stu stud;typedef structint length; /當(dāng)前長度stu *elem; /存儲空間基址int listsize; /當(dāng)

18、前分配的存儲容量linklist; void init(linklist &l)/線性表初始化l.length=0;l.elem=(stu *)malloc(N*sizeof(stu );l.listsize=N;void menu()/操作菜單printf("n");printf(" *請按鍵選擇操作*n");printf("n");printf("n");printf(" 1 按姓名排序 2 按學(xué)號排序n");printf("n");printf(" 3

19、 按房號排序 4 按姓名查找n");printf("n");printf(" 5 按學(xué)號查找 6 按房號查找n");printf("n");printf(" 7 按學(xué)號插入 8 按學(xué)號刪除n");printf("n");printf("n");printf("n");printf("n");printf("提示:當(dāng)輸入的數(shù)字鍵為0時(shí),退出操作n");if(t=1)printf("請輸入數(shù)字鍵(18

20、為操作鍵):");/18為有效數(shù)字操作鍵 scanf("%d",&f);if(f<0|f>9)system("cls"); printf("n");printf("輸入數(shù)字不對,請?jiān)谠幹剌?n"); printf("n");menu();void disp() /返回主界面char c;fflush(stdin);printf("n");printf("請按任意鍵進(jìn)入主界面:");scanf("%c",&

21、amp;c);system("cls");void panduan3() /如果已無學(xué)生記錄則返回主界面 printf("n");printf("已無學(xué)生記錄n");printf("n"); disp(); menu();void shuru(linklist l) /輸入學(xué)生的信息printf("請輸入姓名:");fflush(stdin); / 清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù)gets(); /輸入一行字符串(姓名)printf("請輸入學(xué)號:");s

22、canf("%d",&stud.num);printf("請輸入房號:");scanf("%d",&stud.room);void create(linklist &l)/創(chuàng)建學(xué)生信息表if(l.length>=l.listsize) /判斷學(xué)生的人數(shù)是否超過初值,如果超過,則重新分配stu *newbase;newbase=(stu*)realloc(l.elem,(N+increase)*sizeof(stu );l.elem=newbase;l.listsize+=increase;int i=2;

23、char ch;printf("n");printf(" *開始創(chuàng)建線性表*n");printf("n");printf("請輸入第1個(gè)學(xué)生的信息n");shuru(l); /調(diào)用輸入函數(shù)ch=getchar();strcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;l.length+;printf("n");printf("是否繼續(xù)輸入?<y

24、/n>:");scanf("%c",&ch);printf("n");printf("n");while(ch='y') printf("請輸入第%d個(gè)學(xué)生的信息n",i); shuru(l);strcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;l.length+;i+;ch=getchar(); printf("n"

25、);printf("是否繼續(xù)輸入?<y/n>:");scanf("%c",&ch);printf("n");printf("n"); if(ch='n') system("cls");void sort3(linklist &l)/按房號排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(l.elemi.room>l.elemj.r

26、oom)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;void sort2(linklist &l)/按學(xué)號排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<l.length-1;i+)for(j=i+1;j<l.length;j+)if(l.elemi.num>l.elemj.num)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;void sort1(linklist &l)/按姓名排序(采用冒泡排序)int i,j;stu temp;for(i=0;i<

27、;l.length-1;i+)for(j=i+1;j<l.length;j+)if(strcmp(,)>0)temp=l.elemi;l.elemi=l.elemj;l.elemj=temp;void print1(linklist &l)/打印學(xué)生信息int i;printf("n");printf("姓名 學(xué)號 房號n");printf("n");for(i=0;i<l.length;i+)printf("%-15s %-3d %5dn"

28、,,l.elemi.num,l.elemi.room);void print2(linklist &l,int mid) /打印查找到的學(xué)生信息 printf("查找成功->該學(xué)生信息為:n");printf("姓名 學(xué)號 房號n");printf("n");printf("%-15s %-5d %-5dn",,l.elemmid.num,l.elemmid.room);int panduan1(char ch) /判斷是否繼續(xù)查找scanf(&qu

29、ot;%c",&ch);printf("是否繼續(xù)查找?<y/n>:"); fflush(stdin);scanf("%c",&ch);if(ch='y')system("cls");return(1); elsereturn 0;int panduan2(char ch) /如果學(xué)生不存在,判斷是否繼續(xù)查找scanf("%c",&ch);printf("該學(xué)生不存在,是否繼續(xù)查找?<y/n>:"); fflush(stdi

30、n);scanf("%c",&ch);if(ch='y')system("cls");return(1); elsereturn 0;void chazhao3(linklist &l)/按房號從小到大查找(采用二分查找)if(l.length=0) panduan3(); /此函數(shù)功能為:返回主界面else int low=0,high=l.length,mid,flag=0;/flag作為標(biāo)志符,為1則表示查找成功,否則沒有所要查找的學(xué)生int m;char ch;printf("n");print

31、f("n");printf("按房號查找->請輸入要查找的房號:");scanf("%d",&m);printf("n");while(low<=high) mid=(low+high)/2;if(m=l.elemmid.room)flag=1;break;else if(m>l.elemmid.room)low=mid+1;else high=mid-1;if(flag=1) print2(l,mid);if(panduan1(ch) /調(diào)用判斷函數(shù)1chazhao3(l);else s

32、ystem("cls");menu();else if(panduan2(ch) /調(diào)用判斷函數(shù)2chazhao3(l); else system("cls");menu();void chazhao2(linklist &l)/按學(xué)號從小到大查找(采用二分查找) if(l.length=0) panduan3();elseint low=0,high=l.length,mid,flag=0;int n;char ch;printf("n");printf("n");printf("按學(xué)號查找-&

33、gt;請輸入要查找的學(xué)號:");scanf("%d",&n);printf("n");while(low<=high) mid=(low+high)/2;if(n=l.elemmid.num)flag=1;break;else if(n>l.elemmid.num)low=mid+1;else high=mid-1;if(flag=1) print2(l,mid);if(panduan1(ch) chazhao2(l);else system("cls");menu();else if(panduan2(

34、ch) chazhao2(l); else system("cls");menu(); void chazhao1(linklist &l)/按姓名從小到大查找(采用二分查找) if(l.length=0) panduan3();elseint low=0,high=l.length,mid,flag=0;printf("n");printf("n");printf("按姓名查找->請輸入要查找的姓名:");char a15,ch;scanf("%s",a);printf(&quo

35、t;n");while(low<=high) mid=(low+high)/2;if(strcmp(a,)=0)flag=1;break;else if(strcmp(a,)>0)low=mid+1;else high=mid-1;if(flag=1) print2(l,mid); /打印查找到的學(xué)生的信息if(panduan1(ch) chazhao1(l);else system("cls");menu();elseif(panduan2(ch)chazhao1(l);else system(

36、"cls");menu();void insert(linklist &l)/按學(xué)號從小到大插入該學(xué)生int i,j,k; char ch;printf("n");printf("插入的學(xué)生信息為:n");printf("姓名:");fflush(stdin);/ 清空輸入緩沖區(qū),得到正確的輸入數(shù)據(jù)gets(); printf("學(xué)號:");scanf("%d",&stud.num);printf("房號:");scanf

37、("%d",&stud.room);if(l.length=0)strcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;for(i=0;i<l.length;i+) if(stud.num<l.elemi.num) k=i;for(j=l.length;j>k;j-)l.elemj=l.elemj-1;strcpy(,);l.elemk.num=stud.num;l.ele

38、mk.room=stud.room;break;else strcpy(,);l.eleml.length.num=stud.num;l.eleml.length.room=stud.room;l.length+;fflush(stdin);printf("n");printf("是否繼續(xù)插入?<y/n>:");scanf("%c",&ch);if(ch='y') insert(l);else system("cls");v

39、oid Delete(linklist &l)/按學(xué)號刪除該學(xué)生int i,j,k=-1;char ch;printf("n");printf("n");printf("請輸入要?jiǎng)h除學(xué)生的學(xué)號:");scanf("%d",&stud.num);for(i=0;i<l.length;i+)if(stud.num=l.elemi.num)printf("該學(xué)生的信息為:n");printf("n");printf("%-15s %-3d %7dn&

40、quot;,,l.elemi.num,l.elemi.room);k=i;for(j=k;j<l.length-1;j+)l.elemj=l.elemj+1;printf("n");break; if(i>=l.length) printf("該學(xué)生不存在n");if(k>=0)l.length-;fflush(stdin);printf("n");printf("是否繼續(xù)刪除?<y/n>:");scanf("%c",&ch);sys

41、tem("cls");if(ch='y') Delete(l);else system("cls");int main() /主函數(shù)linklist l; /定義線性表 linit(l); /調(diào)用初始化函數(shù)char ch;system("color a");printf("n");printf(" *歡迎進(jìn)入宿舍管理查詢系統(tǒng)*n");printf("n");printf("請按任意鍵開始操作:");scanf("%c",&ch);system(&qu

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論