版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 課 程 設(shè) 計(jì) 任 務(wù) 書</p><p><b> 目 錄</b></p><p> 1 需求分析- 1 -</p><p> 2 算法基本原理- 1 -</p><p> 圖2-1單鏈表流程圖- 2 -</p><p> 3 類設(shè)計(jì)- 3 -</p
2、><p> 4 詳細(xì)設(shè)計(jì)- 3 -</p><p> 4.1 類的設(shè)計(jì)和實(shí)現(xiàn)- 3 -</p><p> 4.2 主函數(shù)設(shè)計(jì)- 9 -</p><p> 5 DOS界面程序運(yùn)行結(jié)果及分析- 10 -</p><p> 5.1 程序運(yùn)行結(jié)果- 10 -</p><p> 5.2運(yùn)
3、行結(jié)果分析- 11 -</p><p> 6 基于MFC的圖形界面程序開發(fā)- 12 -</p><p> 6.1 基于MFC的圖形界面程序設(shè)計(jì)- 12 -</p><p> 6.2 程序測試- 15 -</p><p> 6.3 MFC程序編寫總結(jié)- 19 -</p><p> 7 參考文獻(xiàn)- 2
4、0 -</p><p><b> 1 需求分析</b></p><p> ?。?)本演示程序中,集合的元素限定為小寫字母字符[‘a(chǎn)’..‘z’],集合的大小n<27。集合輸入的形式為一個(gè)以“#”為結(jié)束標(biāo)志的字符串,串中字符順序不限,且允許出現(xiàn)重復(fù)字符及非法字符,程序應(yīng)能自動(dòng)濾去。輸出的運(yùn)行結(jié)果字符串將不含重復(fù)字符及非法字符。</p><p&
5、gt; (2)演示程序以用戶和計(jì)算機(jī)的對話方式執(zhí)行,即在計(jì)算機(jī)終端上顯示“提示信息”之后,由用戶在鍵盤上輸入演示程序中規(guī)定的運(yùn)算命令;相應(yīng)的輸入數(shù)據(jù)(濾去輸入中的非法字符)和運(yùn)算結(jié)果顯示在其后。</p><p> ?。?)程序執(zhí)行的命令包括:</p><p> 1).構(gòu)造集合1;2).構(gòu)造集合2;3).求并集;4).求交集;5).求差集;6).結(jié)束。</p><p&
6、gt; “構(gòu)造集合1”和“構(gòu)造集合2”時(shí),需以字符串的形式鍵入集合元素。</p><p><b> ?。?)測試數(shù)據(jù)</b></p><p> 1).head1=”merry”,head2=”Christmas”,head1∪head2=”acehimrsty”,head1∩head2=”mr”,head1-head2=”ey”;</p><p
7、> 2).head1=”012abcde”,head2=”123cdefg”,head1∪head2=”abcdefg”,</p><p> head1∩head2=”cde”,head1-head2=”ab”。</p><p><b> 2 算法基本原理</b></p><p> 本課題采用數(shù)據(jù)抽象的程序設(shè)計(jì)方法,將程序劃分為四
8、個(gè)層次結(jié)構(gòu):元素節(jié)點(diǎn),有序鏈表,有序集和主控模塊,使得設(shè)計(jì)時(shí)思路清晰,實(shí)現(xiàn)時(shí)調(diào)試順利,各模塊具有較好的可重用性,確實(shí)得到了一次良好的程序設(shè)計(jì)訓(xùn)練。</p><p> 建立集合類,在類的成員函數(shù)中,通過尾插法生成一個(gè)有N個(gè)結(jié)點(diǎn)的單鏈表。單鏈表是集合存儲的基礎(chǔ),單鏈表建立算法需要一個(gè)計(jì)數(shù)循環(huán)語句,為每個(gè)元素建立一個(gè)結(jié)點(diǎn),插入頭結(jié)點(diǎn)之后。算法流程圖如下2-1所示。</p><p><b&
9、gt; 否</b></p><p><b> 是</b></p><p> 圖2-1單鏈表流程圖</p><p> 集合運(yùn)算系統(tǒng),是將兩單鏈表進(jìn)行交、并和差的集合運(yùn)算,其流程圖如圖2-2所示。</p><p> 圖2-2 集合運(yùn)算系統(tǒng)流程圖</p><p><b>
10、 3 類設(shè)計(jì)</b></p><p> 從上面的算法分析可以看到,本設(shè)計(jì)面臨的計(jì)算問題的關(guān)鍵是集合運(yùn)算??梢远x一個(gè)線性表類Linklist作為基類,從問題的需要來看,在線性表類應(yīng)包括對兩單鏈表的操作的成員函數(shù)。</p><p> 在集合的求解過程中,在線性表類Linklist的成員函數(shù)initLinklist(LinkList Head)中需要初始化類Linklist
11、的數(shù)據(jù)成員,再利用成員函數(shù) LinkList Merge(LinkList Head1,LinkList Head2),LinkList Insection(LinkList Head1,LinkList Head2),LinkList Deprive(LinkList Head1,LinkList Head2)分別求得兩集合的并,交,差運(yùn)算結(jié)果。</p><p><b> 4 詳細(xì)設(shè)計(jì)</b&
12、gt;</p><p> 整個(gè)程序分為兩個(gè)獨(dú)立的文檔,Linklist.cpp包含了單鏈表的定義和對兩集合運(yùn)算的成員函數(shù);main.cpp文件包括程序的主函數(shù),主函數(shù)中定義了一個(gè)類Linklist的對象,通過這個(gè)對象求解兩集合的交,并,差運(yùn)算結(jié)果。</p><p> 4.1 類的設(shè)計(jì)和實(shí)現(xiàn)</p><p> #include<iostream> &
13、lt;/p><p> using namespace std; </p><p> typedef struct Node</p><p><b> { </b></p><p> char data; </p><p> Node *next; </p><p>
14、 }Node,*LinkList; </p><p> #define SIZE sizeof(Node) </p><p> #define FALSE 0 </p><p> #define TRUE 1 </p><p> class Linklist</p><p><b> {</b
15、></p><p><b> public:</b></p><p> initLinklist(LinkList Head) </p><p><b> { </b></p><p><b> char ch;</b></p><p>
16、 Node *p=Head; </p><p> Head->next=NULL; </p><p> Head->data='\0'; </p><p><b> cin>>ch; </b></p><p> while(ch!='#') </p&g
17、t;<p><b> { </b></p><p> Node *newNode=(Node*)malloc(SIZE); </p><p> newNode->data=ch; </p><p> p->next=newNode; </p><p> p=p->next; &l
18、t;/p><p><b> cin>>ch; </b></p><p><b> } </b></p><p> p->next=NULL; </p><p><b> } </b></p><p> int Check(char
19、 ch,LinkList Head) </p><p><b> { </b></p><p> Node *temp=Head->next; </p><p> int flag=TRUE; </p><p> while(temp!=NULL) </p><p><b>
20、; { </b></p><p> if(temp->data==ch)</p><p><b> {</b></p><p> flag=FALSE; </p><p> return flag; </p><p><b> } </b>&l
21、t;/p><p> temp=temp->next; </p><p><b> } </b></p><p> return flag; </p><p><b> } </b></p><p><b> //合并兩個(gè)集合 </b><
22、/p><p> LinkList Merge(LinkList Head1,LinkList Head2) </p><p><b> { </b></p><p> LinkList Head=(Node*)malloc(SIZE); </p><p> Head->data='\0';Hea
23、d->next=NULL; </p><p> Node *p1=Head1->next; </p><p> Node *p2=Head2->next; </p><p> Node *p=Head; </p><p> while(p1!=NULL&&p2!=NULL) </p>&
24、lt;p><b> { </b></p><p> if(p1->data==p2->data)</p><p><b> { </b></p><p> if((Check(p1->data,Head)==TRUE)&&(p1->data>=97&&am
25、p;p1->data<=122)) </p><p><b> { </b></p><p> Node *newNode=(Node*)malloc(SIZE); </p><p> newNode->data=p1->data; </p><p> p->next=newNode
26、; </p><p> p=newNode; </p><p> p->next=NULL; </p><p><b> } </b></p><p><b> } </b></p><p><b> else </b></p>
27、;<p><b> { </b></p><p> if((Check(p1->data,Head)==TRUE)&&(p1->data>=97&&p1->data<=122)) </p><p><b> { </b></p><p>
28、Node *newNode=(Node*)malloc(SIZE); </p><p> newNode->data=p1->data; </p><p> p->next=newNode; </p><p> p=newNode; </p><p> p->next=NULL; </p><
29、;p><b> } </b></p><p> if((Check(p2->data,Head)==TRUE)&&(p2->data>=97&&p2->data<=122)) </p><p><b> { </b></p><p> Node *
30、newNode=(Node*)malloc(SIZE); </p><p> newNode->data=p2->data; </p><p> p->next=newNode; </p><p> p=newNode; </p><p> p->next=NULL; </p><p>
31、<b> } </b></p><p><b> } </b></p><p> p1=p1->next; </p><p> p2=p2->next; </p><p><b> } </b></p><p> while(p1
32、!=NULL) </p><p><b> { </b></p><p> if((Check(p1->data,Head)==TRUE)&&(p1->data>=97&&p1->data<=122)) </p><p><b> { </b></p
33、><p> Node *newNode=(Node*)malloc(SIZE); </p><p> newNode->data=p1->data; </p><p> p->next=newNode; </p><p> p=newNode; </p><p> p->next=NULL
34、; </p><p><b> } </b></p><p> p1=p1->next; </p><p><b> } </b></p><p> while(p2!=NULL) </p><p><b> { </b></p&g
35、t;<p> if((Check(p2->data,Head)==TRUE)&&(p2->data>=97&&p2->data<=122)) </p><p><b> { </b></p><p> Node *newNode=(Node*)malloc(SIZE); </p&g
36、t;<p> newNode->data=p2->data; </p><p> p->next=newNode; </p><p> p=newNode; </p><p> p->next=NULL; </p><p><b> } </b></p>&l
37、t;p> p2=p2->next; </p><p><b> } </b></p><p> return Head; </p><p><b> } </b></p><p> //集合A中的元素,B中是否存在 </p><p> int IsEx
38、ist(char data,LinkList Head) </p><p><b> { </b></p><p> Node *p=Head->next; </p><p> int flag=FALSE; </p><p> while(p!=NULL) </p><p><
39、;b> { </b></p><p> if(p->data==data) </p><p> return flag=TRUE; </p><p> p=p->next; </p><p><b> } </b></p><p> return flag
40、; </p><p><b> } </b></p><p> int IsExist2(char data,LinkList Head) </p><p><b> { </b></p><p> Node *p=Head->next; </p><p>
41、int flag=FALSE; </p><p> while(p!=NULL) </p><p><b> { </b></p><p> if(p->data==data) </p><p> return flag; </p><p> p=p->next; </
42、p><p><b> } </b></p><p> return flag=TRUE; </p><p><b> } </b></p><p> //兩個(gè)集合的差集 </p><p> LinkList Deprive(LinkList Head1,LinkList
43、 Head2) </p><p><b> { </b></p><p> LinkList Head=(Node*)malloc(SIZE); </p><p> Node *p=Head; </p><p> Node *p1=Head1->next; </p><p> wh
44、ile(p1!=NULL) </p><p><b> { </b></p><p> if((IsExist2(p1->data,Head2)==1)&&(p1->data>=97&&p1->data<=122)) </p><p><b> { </b>
45、;</p><p> Node *newNode=(Node*)malloc(SIZE); </p><p> newNode->data=p1->data; </p><p> p->next=newNode; </p><p> p=newNode; </p><p> p->ne
46、xt=NULL; </p><p><b> } </b></p><p> p1=p1->next; </p><p><b> } </b></p><p> return Head; </p><p><b> } </b><
47、/p><p><b> //兩個(gè)集合交集 </b></p><p> LinkList Insection(LinkList Head1,LinkList Head2) </p><p><b> { </b></p><p> Node *p1=Head1->next; </p&g
48、t;<p> LinkList Head=(Node*)malloc(SIZE); </p><p> Head->data='\0';</p><p> Head->next=NULL; </p><p> Node *p=Head; </p><p> while(p1!=NULL) &
49、lt;/p><p><b> { </b></p><p> if((IsExist(p1->data,Head2)==1)&&(p1->data>=97&&p1->data<=122)) </p><p><b> { </b></p><
50、;p> Node *newNode=(Node*)malloc(SIZE); </p><p> newNode->data=p1->data; </p><p> p->next=newNode; </p><p> p=newNode; </p><p> p->next=NULL; </p&
51、gt;<p><b> } </b></p><p> p1=p1->next; </p><p><b> } </b></p><p> return Head; </p><p><b> } </b></p><p>
52、;<b> //打印集合元素 </b></p><p> void PrintLinkList(LinkList Head) </p><p><b> { </b></p><p> Node *p=Head->next; </p><p> while(p!=NULL) <
53、/p><p><b> { </b></p><p> cout<<p->data; </p><p> p=p->next; </p><p><b> } </b></p><p> cout<<"\n"; &
54、lt;/p><p><b> } </b></p><p><b> };</b></p><p> 在程序的類聲明部分,先由類的成員函數(shù)initLinklist(LinkList Head)生成單鏈表,然后由各成員函數(shù)對其進(jìn)行集合的并,交,差運(yùn)算。</p><p><b> 4.2
55、主函數(shù)設(shè)計(jì)</b></p><p> int main() </p><p><b> {</b></p><p> char cmd; </p><p> Linklist List;</p><p><b> do</b></p>&l
56、t;p><b> { </b></p><p> cout<<"***************************************************\n";</p><p> cout<<"*********************集合運(yùn)算系統(tǒng)******************\n&
57、quot;; cout<<"***************************************************\n";</p><p> cout<<"輸入兩個(gè)集合的元素,輸完一個(gè)集合的元素,按#結(jié)束\n"; </p><p> LinkList head1=(Node*)malloc(SI
58、ZE); </p><p> LinkList head2=(Node*)malloc(SIZE); </p><p> List.initLinklist(head1);</p><p> List.initLinklist(head2); </p><p> Node *Head1=List.Merge(head1,head2);
59、 </p><p> cout<<"兩個(gè)集合并集為\n"; </p><p> List.PrintLinkList(Head1); </p><p> Node *Head2=List.Insection(head1,head2); </p><p> cout<<"兩個(gè)集合交集
60、為\n"; </p><p> List.PrintLinkList(Head2); </p><p> Node *Head3=List.Deprive(head1,head2); </p><p> cout<<"兩個(gè)集合差集為\n"; </p><p> List.PrintLinkLi
61、st(Head3); </p><p> cout<<"按y/Y繼續(xù),否則結(jié)束\n"; </p><p> cin>>cmd; </p><p><b> }</b></p><p> while(cmd=='y'||cmd=='Y');
62、 </p><p> return 0; </p><p><b> } </b></p><p> 在程序的主函數(shù)部分,先由類生成一個(gè)對象,再由此對象調(diào)用類的各成員函數(shù),求出集合的并,交,差運(yùn)算結(jié)果并輸出。</p><p> 5 DOS界面程序運(yùn)行結(jié)果及分析</p><p> 5.1
63、程序運(yùn)行結(jié)果</p><p> 測試數(shù)據(jù)一運(yùn)行結(jié)果如圖5-1所示。</p><p> 圖5-1 程序運(yùn)行結(jié)果</p><p> 測試數(shù)據(jù)二運(yùn)行結(jié)果如圖5-2所示。</p><p> 圖5-2 程序運(yùn)行結(jié)果</p><p><b> 5.2運(yùn)行結(jié)果分析</b></p><
64、;p> 整個(gè)程序中的集合存儲采用的是動(dòng)態(tài)內(nèi)存分配方式。</p><p> 由Linklist類生成一個(gè)對象用來存放集合,然后由此對象調(diào)用成員函數(shù),對集合進(jìn)行各種并,交,差運(yùn)算。</p><p> 并運(yùn)算,是生成一個(gè)新的單鏈表,然后利用尾插法將兩個(gè)集合的元素順序插入到新表的表頭之后。若待插字符串為非小寫字母,則跳過不插。</p><p> 交運(yùn)算,是生成
65、一個(gè)新的單鏈表,然后利用尾插法將兩個(gè)集合的相同元素順序插入到新表的表頭之后。若待插字符串為非小寫字母,則跳過不插。</p><p> 差運(yùn)算,是生成一個(gè)新的單鏈表,然后利用尾插法將集合一中不同于集合二的元素順序插入到新表的表頭之后。若待插字符串為非小寫字母,則跳過不插。</p><p> 在主函數(shù)中對兩集合進(jìn)行測試,運(yùn)算完成后,設(shè)置一個(gè)循環(huán),若輸入y/Y則繼續(xù)運(yùn)算,否則結(jié)束程序。<
66、;/p><p> 6 基于MFC的圖形界面程序開發(fā)</p><p> MFC的圖形界面程序設(shè)計(jì)可在上述類設(shè)計(jì)的基礎(chǔ)上進(jìn)行改造,MFC的圖形界面程序與DOS界面程序的主要不同點(diǎn)是:MFC圖形界面程序與DOS界面程序的輸入輸出方式不同,DOS界面程序采用字符交互式實(shí)現(xiàn)數(shù)據(jù)輸入輸出,主要通過cin,cout等I/O流實(shí)現(xiàn),而MFC的圖形程序界面采用標(biāo)準(zhǔn)Windows窗口和控件實(shí)現(xiàn)輸入輸出,因此必
67、須在MFC類的框架下加入上面所設(shè)計(jì)的矩陣和方程組類,并通過圖形界面的輸入輸出改造來完成。</p><p> 6.1 基于MFC的圖形界面程序設(shè)計(jì)</p><p><b> ?。?)界面設(shè)計(jì)</b></p><p> 首先在VC中建立MFC AppWizard(exe)工程,名稱為MFC,并在向?qū)У腟tep1中選擇Dialog based,即
68、建立基于對話框的應(yīng)用程序,如下圖6-1所示。</p><p> 圖6-1 建立MFC AppWizard(exe)工程</p><p> 圖6-2 建立基于對話框的應(yīng)用程序</p><p> 將對話框資源中的默認(rèn)對話框利用工具箱改造成如下界面,如圖6-3所示。</p><p> 圖6-3 集合運(yùn)算程序界面設(shè)計(jì)</p>&
69、lt;p> 圖6-3所示的界面中包含了3個(gè)Static Text控件,4個(gè)Button控件,和1個(gè)Edit Box控件,控件的基本信息列表如下表1所示。</p><p><b> 表1 控件基本信息</b></p><p><b> ?。?)代碼設(shè)計(jì)</b></p><p> 為了能夠?qū)υ捒蚪缑嫔系目丶軌蚺c
70、代碼聯(lián)系起來,需要為1個(gè)Edit Box控件建立Member Variables,按Ctrl+w鍵進(jìn)入MFC ClassWizard界面,選擇Member Variables選項(xiàng)卡,可顯示成員變量設(shè)置界面,如圖6-4所示。</p><p> 圖6-4 成員變量設(shè)置界面</p><p> 通過該界面設(shè)置與1個(gè)Edit Box控件對應(yīng)的成員變量,具體如表2所示。</p>&l
71、t;p><b> 表2 控件基本信息</b></p><p> 下面是編寫代碼的重要階段,可以借鑒在設(shè)計(jì)基于DOS界面的控制臺應(yīng)用程序的代碼,并將其作必要的改寫,具體改寫的步驟與內(nèi)容如下。</p><p> ?、賹inklist.h文件和Linklist.cpp文件合并成一個(gè)文件,重新命名為Linklist.h,并將其加入MFC工程。</p>
72、<p> ?、谛薷腖inklist.h文件。</p><p> ?、墼趯υ捒蝾惖膶?shí)現(xiàn)文件MFCDlg.cpp中加入#include <Linklist.h>,以實(shí)現(xiàn)在該文件中可使用Linklist類。</p><p> ?、茉贛FCDlg.cpp文件中加入全局變量的定義,以實(shí)現(xiàn)MFCDlg類和Linklist類之間的通信。</p><p>
73、?、菥帉懽x入元素按鈕的消息處理函數(shù),實(shí)現(xiàn)將集合的元素刷新到界面上。</p><p> ⑥編寫集合交,并,差及確定按鈕的消息處理函數(shù),</p><p><b> 6.2 程序測試</b></p><p> 運(yùn)行程序后,首先出現(xiàn)的界面如圖6-5所示。</p><p> 圖6-5 程序初始運(yùn)行界面</p>
74、<p> 輸入集合一的元素后單擊確定按鈕后,可將集合一的元素在界面上顯示出來,同理,可現(xiàn)示集合二的元素,如圖6-6所示。</p><p> 圖6-6 輸入集合元素后的界面</p><p> 單擊交集求解按鈕,實(shí)現(xiàn)操作并將操作結(jié)果顯示出來,如圖6-7所示。</p><p> 圖6-7 實(shí)現(xiàn)交運(yùn)算后的界面</p><p>
75、同理可實(shí)現(xiàn)并集,差集運(yùn)算,如圖6-8所示。</p><p> 圖6-8實(shí)現(xiàn)并,差運(yùn)算后的界面</p><p> 6.3 MFC程序編寫總結(jié)</p><p> MFC程序與DOS界面程序編寫的最大不同是程序員需要將編程精力放在圖形界面設(shè)計(jì)、圖形界面輸入輸出以及界面元素和代碼對應(yīng)轉(zhuǎn)換等問題上,而這些問題在DOS界面程序中是不存在的,因此,初學(xué)MFC的編程者會(huì)對此感
76、到困難,然而,當(dāng)你編寫出一個(gè)基于Windows界面的程序時(shí),所獲得的滿足程度遠(yuǎn)遠(yuǎn)大于簡單的DOS界面程序,況且基于Windows的圖形界面的程序設(shè)計(jì)已成為主流,作為程序員而言,是非學(xué)會(huì)不可的。</p><p> 本次課程設(shè)計(jì)作為編寫Windows程序的初步嘗試,能夠?qū)崿F(xiàn)程序的主要功能,可以說是取得了成功,然而好的程序絕不僅僅是只有功能性這一個(gè)指標(biāo),本此編寫的MFC程序雖然能實(shí)現(xiàn)所需功能,但從面向?qū)ο蟪绦蛟O(shè)計(jì)理念
77、和圖形界面設(shè)計(jì)要求來說,尚存在不足,主要包括以下幾個(gè)方面。</p><p> ?。?)功能不完全,可增進(jìn)集合的元素判定和子集判定運(yùn)算</p><p> ?。?)將類的定義與實(shí)現(xiàn)放在同一個(gè)頭文件Linklist.h中也違背了面向?qū)ο蟪绦蛟O(shè)計(jì)理念,需要將二者分開成定義文件和實(shí)現(xiàn)文件。</p><p> (3)圖6-8所示的界面中沒有退出程序按鈕,顯得程序不夠規(guī)范。&l
78、t;/p><p><b> 7 參考文獻(xiàn)</b></p><p> [1] 李愛華,程磊. 面向?qū)ο蟪绦蛟O(shè)計(jì)(C++語言). 北京:清華大學(xué)出版社,2010</p><p> [2] 嚴(yán)蔚敏,吳偉民. 數(shù)據(jù)結(jié)構(gòu)(C語言版) . 北京:清華大學(xué)出版社,2011</p><p> [3] 嚴(yán)蔚敏,吳偉民,米寧. 數(shù)據(jù)結(jié)構(gòu)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 面向?qū)ο笳n程設(shè)計(jì)報(bào)告
- java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)--門禁系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 《面向?qū)ο笳n程設(shè)計(jì)》課程設(shè)計(jì)---媒體管理系統(tǒng)
- 【課程設(shè)計(jì)】面向?qū)ο蟪绦蛟O(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 《面向?qū)ο蟮某绦蛟O(shè)計(jì)》課程設(shè)計(jì)
- java課程設(shè)計(jì)--java面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)
- 面向?qū)ο蠹夹g(shù)課程設(shè)計(jì)
- 面向?qū)ο蟪绦蛘n程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟪绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- 面向?qū)ο蟮某绦蛟O(shè)計(jì)課程設(shè)計(jì)報(bào)告
- c++面向?qū)ο笳n程設(shè)計(jì)報(bào)告
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)---java日歷
- 《面向?qū)ο蟪绦蛟O(shè)計(jì)》課程設(shè)計(jì)java日歷
- 《面向?qū)ο髴?yīng)用項(xiàng)目設(shè)計(jì)》課程設(shè)計(jì)盲棋
- 面向?qū)ο笤O(shè)計(jì)類和對象
- c++課程設(shè)計(jì)面向?qū)ο笳n程設(shè)計(jì)--銀行管理系統(tǒng)
評論
0/150
提交評論