C語言與數(shù)據(jù)結(jié)構(gòu)專題訓(xùn)練課件_第1頁
C語言與數(shù)據(jù)結(jié)構(gòu)專題訓(xùn)練課件_第2頁
C語言與數(shù)據(jù)結(jié)構(gòu)專題訓(xùn)練課件_第3頁
C語言與數(shù)據(jù)結(jié)構(gòu)專題訓(xùn)練課件_第4頁
C語言與數(shù)據(jù)結(jié)構(gòu)專題訓(xùn)練課件_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言與數(shù)據(jù)結(jié)構(gòu)綜合訓(xùn)練C語言與數(shù)據(jù)結(jié)構(gòu)綜合訓(xùn)練1個(gè)人關(guān)系網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)任務(wù)要求(1)系統(tǒng)菜單的建立(2)信息的輸入(3)信息的輸出(4)個(gè)人關(guān)系的查詢個(gè)人關(guān)系網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)任務(wù)要求2思路分析當(dāng)面對(duì)個(gè)人關(guān)系網(wǎng)的問題時(shí),我們首先想到的是用樹或圖知識(shí)去解決,這是沒錯(cuò)的。但當(dāng)我們用傳統(tǒng)方法操作時(shí),會(huì)出現(xiàn)無從下手的感覺,所以我們應(yīng)該改變思路,學(xué)會(huì)用C++語言去建立圖,并學(xué)會(huì)用switch,case語言建立菜單,這樣會(huì)更輕松簡便的解決個(gè)人關(guān)系網(wǎng)問題。思路分析當(dāng)面對(duì)個(gè)人關(guān)系網(wǎng)的問題時(shí),我們首先想到的是用樹或圖知3個(gè)人關(guān)系網(wǎng)的分析當(dāng)一個(gè)人在社會(huì)中就會(huì)扮演很多角色,這樣與人形成了各種各樣的關(guān)系。從現(xiàn)實(shí)出發(fā)就會(huì)考慮個(gè)人的關(guān)系網(wǎng)有:朋友、同事、師生、父子關(guān)系等等個(gè)人關(guān)系網(wǎng)的分析當(dāng)一個(gè)人在社會(huì)中就會(huì)扮演很多角色,這樣與人形4個(gè)人關(guān)系示意圖親戚陌生人父子師生師生同事父子朋友甲乙丙爸爸個(gè)人個(gè)人關(guān)系示意圖親戚父子師生師生同事父子朋友甲乙丙爸爸個(gè)人5個(gè)人關(guān)系的程序分析(1)定義圖中的頂點(diǎn)信息、邊的信息、邊的大?。?)清除圖中的記錄(3)打印圖中的信息(4)個(gè)人關(guān)系信息的建立(5)把個(gè)人關(guān)系信息錄入圖中(6)菜單的建立個(gè)人關(guān)系的程序分析(1)定義圖中的頂點(diǎn)信息、邊的信息、邊的大6圖中信息的建立#definevexnum4//圖的最大頂點(diǎn)個(gè)數(shù)#defineM10//儲(chǔ)存人名數(shù)組的大小usingnamespacestd;typedefstruct{int**arcs;//邊的信息charvex[vexnum][M];//頂點(diǎn)信息intvexs;//邊的大小}Graph;圖中信息的建立#definevexnum4//圖的7清除圖中信息voidDestroyGraph(Graph&G)//清除圖中記錄{inti;for(i=0;i<G.vexs;i++){free(G.arcs[i]);}free(G.arcs);}清除圖中信息voidDestroyGraph(Graph8打印圖中信息voidPrint(GraphG)//打印圖中信息{inti,j;cout<<"關(guān)系信息輸出:"<<endl;for(i=0;i<G.vexs;i++){printf("\t");cout<<G.vex[i];}cout<<endl;打印圖中信息voidPrint(GraphG)//打印圖9for(i=0;i<G.vexs;i++){cout<<G.vex[i];for(j=0;j<G.vexs;j++){switch(G.arcs[i][j]){case0://邊的信息為0.打印關(guān)系為陌生cout<<"\t陌生";break;case1://邊的信息為1,打印關(guān)系為同學(xué)cout<<"\t同學(xué)";break;for(i=0;i<G.vexs;i++)10case2://邊的信息為2,打印關(guān)系為朋友cout<<"\t朋友";break;case3://邊的信息為3,打印關(guān)系為同事cout<<"\t同事";break;default://否則,邊的信息為100,打印關(guān)系為本人cout<<"\t本人";break;}}cout<<endl;}}case2://邊的信息為2,打印關(guān)系為朋友11個(gè)人信息的建立(1)輸入要查找的兩個(gè)人的姓名charname1[10];charname2[10];//cin>>name1;//cin>>name2;scanf("%s%s",name1,name2);個(gè)人信息的建立(1)輸入要查找的兩個(gè)人的姓名12(2)在表中查找并記錄兩個(gè)人的名字(3)用switch,case語句記錄邊的信息,并記錄他們之間的關(guān)系(4)如若兩個(gè)人為一個(gè)人,則打印關(guān)系為本人(2)在表中查找并記錄兩個(gè)人的名字13個(gè)人信息的錄入圖中(1)輸入頂點(diǎn)的信息和要錄入圖中人的姓名(2)給邊分配儲(chǔ)存空間G.arcs=(int**)malloc(vexnum*sizeof(int*));for(i=0;i<vexnum;i++){G.arcs[i]=(int*)malloc(vexnum*sizeof(int));}(3)輸入邊的信息個(gè)人信息的錄入圖中(1)輸入頂點(diǎn)的信息和要錄入圖中人的姓名14菜單的建立(1)定義一個(gè)圖GraphG;//定義一個(gè)圖intn;cout<<"0:退出1:信息輸入2:信息輸出3:查詢"<<endl;cout<<"請(qǐng)輸入編號(hào):"<<endl;(2)用switch,case語句分別調(diào)用輸入、輸出、查找函數(shù),執(zhí)行各自的功能。(3)刪除圖中的記錄菜單的建立(1)定義一個(gè)圖15個(gè)人關(guān)系網(wǎng)的完成菜單:0:退出1:信息輸入2:信息輸出3:查詢1、信息輸入輸入要存入關(guān)系網(wǎng)的人名(容量為4人),并輸入他們之間的關(guān)系。2、信息輸出關(guān)系輸出為4x4表格,并附有各部對(duì)應(yīng)之間的關(guān)系3、信息查詢隨意輸入兩個(gè)人,會(huì)顯示兩個(gè)人之間的關(guān)系。個(gè)人關(guān)系網(wǎng)的完成菜單:0:退出1:信息輸入2:信息輸出16謝謝觀看謝謝觀看17C語言與數(shù)據(jù)結(jié)構(gòu)綜合訓(xùn)練C語言與數(shù)據(jù)結(jié)構(gòu)綜合訓(xùn)練18個(gè)人關(guān)系網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)任務(wù)要求(1)系統(tǒng)菜單的建立(2)信息的輸入(3)信息的輸出(4)個(gè)人關(guān)系的查詢個(gè)人關(guān)系網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)任務(wù)要求19思路分析當(dāng)面對(duì)個(gè)人關(guān)系網(wǎng)的問題時(shí),我們首先想到的是用樹或圖知識(shí)去解決,這是沒錯(cuò)的。但當(dāng)我們用傳統(tǒng)方法操作時(shí),會(huì)出現(xiàn)無從下手的感覺,所以我們應(yīng)該改變思路,學(xué)會(huì)用C++語言去建立圖,并學(xué)會(huì)用switch,case語言建立菜單,這樣會(huì)更輕松簡便的解決個(gè)人關(guān)系網(wǎng)問題。思路分析當(dāng)面對(duì)個(gè)人關(guān)系網(wǎng)的問題時(shí),我們首先想到的是用樹或圖知20個(gè)人關(guān)系網(wǎng)的分析當(dāng)一個(gè)人在社會(huì)中就會(huì)扮演很多角色,這樣與人形成了各種各樣的關(guān)系。從現(xiàn)實(shí)出發(fā)就會(huì)考慮個(gè)人的關(guān)系網(wǎng)有:朋友、同事、師生、父子關(guān)系等等個(gè)人關(guān)系網(wǎng)的分析當(dāng)一個(gè)人在社會(huì)中就會(huì)扮演很多角色,這樣與人形21個(gè)人關(guān)系示意圖親戚陌生人父子師生師生同事父子朋友甲乙丙爸爸個(gè)人個(gè)人關(guān)系示意圖親戚父子師生師生同事父子朋友甲乙丙爸爸個(gè)人22個(gè)人關(guān)系的程序分析(1)定義圖中的頂點(diǎn)信息、邊的信息、邊的大?。?)清除圖中的記錄(3)打印圖中的信息(4)個(gè)人關(guān)系信息的建立(5)把個(gè)人關(guān)系信息錄入圖中(6)菜單的建立個(gè)人關(guān)系的程序分析(1)定義圖中的頂點(diǎn)信息、邊的信息、邊的大23圖中信息的建立#definevexnum4//圖的最大頂點(diǎn)個(gè)數(shù)#defineM10//儲(chǔ)存人名數(shù)組的大小usingnamespacestd;typedefstruct{int**arcs;//邊的信息charvex[vexnum][M];//頂點(diǎn)信息intvexs;//邊的大小}Graph;圖中信息的建立#definevexnum4//圖的24清除圖中信息voidDestroyGraph(Graph&G)//清除圖中記錄{inti;for(i=0;i<G.vexs;i++){free(G.arcs[i]);}free(G.arcs);}清除圖中信息voidDestroyGraph(Graph25打印圖中信息voidPrint(GraphG)//打印圖中信息{inti,j;cout<<"關(guān)系信息輸出:"<<endl;for(i=0;i<G.vexs;i++){printf("\t");cout<<G.vex[i];}cout<<endl;打印圖中信息voidPrint(GraphG)//打印圖26for(i=0;i<G.vexs;i++){cout<<G.vex[i];for(j=0;j<G.vexs;j++){switch(G.arcs[i][j]){case0://邊的信息為0.打印關(guān)系為陌生cout<<"\t陌生";break;case1://邊的信息為1,打印關(guān)系為同學(xué)cout<<"\t同學(xué)";break;for(i=0;i<G.vexs;i++)27case2://邊的信息為2,打印關(guān)系為朋友cout<<"\t朋友";break;case3://邊的信息為3,打印關(guān)系為同事cout<<"\t同事";break;default://否則,邊的信息為100,打印關(guān)系為本人cout<<"\t本人";break;}}cout<<endl;}}case2://邊的信息為2,打印關(guān)系為朋友28個(gè)人信息的建立(1)輸入要查找的兩個(gè)人的姓名charname1[10];charname2[10];//cin>>name1;//cin>>name2;scanf("%s%s",name1,name2);個(gè)人信息的建立(1)輸入要查找的兩個(gè)人的姓名29(2)在表中查找并記錄兩個(gè)人的名字(3)用switch,case語句記錄邊的信息,并記錄他們之間的關(guān)系(4)如若兩個(gè)人為一個(gè)人,則打印關(guān)系為本人(2)在表中查找并記錄兩個(gè)人的名字30個(gè)人信息的錄入圖中(1)輸入頂點(diǎn)的信息和要錄入圖中人的姓名(2)給邊分配儲(chǔ)存空間G.arcs=(int**)malloc(vexnum*sizeof(int*));for(i=0;i<vexnum;i++){G.arcs[i]=(int*)malloc(vexnum*sizeof(int));}(3)輸入邊的信息個(gè)人信息的錄入圖中(1)輸入頂點(diǎn)的信息和要錄入圖中人的姓名31菜單的建立(1)定義一個(gè)圖GraphG;//定義一個(gè)圖intn;cout<<"0:退出1:信息輸入2:信息輸出3:查詢"<<en

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論