一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)_第1頁(yè)
一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)_第2頁(yè)
一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)_第3頁(yè)
一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)_第4頁(yè)
一元多項(xiàng)式運(yùn)算課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、每組人數(shù)1實(shí)驗(yàn)機(jī)械編號(hào)日期2009年6月22日實(shí)驗(yàn)室名稱WM2301機(jī)房目:一元多項(xiàng)式運(yùn)算二、設(shè)計(jì)內(nèi)容:用C+語(yǔ)言編寫一段程序,該程序的功能相當(dāng)于一個(gè)一元多項(xiàng)式計(jì)算器。它能夠?qū)崿F(xiàn)依照指數(shù)降序排列成立并輸出多項(xiàng)式,而且能夠完成兩個(gè)多項(xiàng)式的相加、相減的運(yùn)算和將其結(jié)果輸入的功能。三、設(shè)計(jì)實(shí)現(xiàn):1 .依照輸入創(chuàng)建一元多項(xiàng)式,并用鏈表實(shí)現(xiàn)存儲(chǔ)。2 .對(duì)已創(chuàng)建的的兩個(gè)一元多項(xiàng)式進(jìn)行運(yùn)算,該題目要實(shí)現(xiàn)的運(yùn)算有,一元多項(xiàng)式加法、減法、乘法運(yùn)算。3 .一次運(yùn)算完成實(shí)現(xiàn)鏈表清空操作,可同意用戶從頭輸入。三、要緊模塊:1 .一元多項(xiàng)式的成立。2 .顯示一"兀多項(xiàng)式。3 一元多項(xiàng)式加法運(yùn)算。4 .一元多項(xiàng)式

2、減法運(yùn)算。5 .一元多項(xiàng)式乘法運(yùn)算。6 .一元多項(xiàng)式清空。四、程序設(shè)計(jì)思想:要緊內(nèi)容是對(duì)一元多項(xiàng)式存儲(chǔ)結(jié)構(gòu)的選擇,輸入多項(xiàng)式采納頭插法的方式,輸入多項(xiàng)式中一個(gè)項(xiàng)的系數(shù)和指數(shù),就產(chǎn)生一個(gè)新的節(jié)點(diǎn),成立起它的右指針,并用頭節(jié)點(diǎn)指向它;盡管一元多項(xiàng)式能夠用順序和鏈?zhǔn)絻煞N存儲(chǔ)結(jié)構(gòu)表示,但順序結(jié)構(gòu)的最大長(zhǎng)度很難確信。比如當(dāng)多項(xiàng)式的系數(shù)較大時(shí),現(xiàn)在就會(huì)浪費(fèi)了龐大的存儲(chǔ)空間,因此應(yīng)該選擇用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)來(lái)存儲(chǔ)一元多項(xiàng)式。單鏈表的結(jié)構(gòu)體能夠用來(lái)存儲(chǔ)多項(xiàng)式的系數(shù),指數(shù),如此便于實(shí)現(xiàn)任意多項(xiàng)式的運(yùn)算。五、主程序流程圖:六、程序主界面:建法法乘出空出 新加誡相輸清退 ©:VirtualMachines住析洪

3、享'誤程沒(méi)計(jì)0423一元妥以運(yùn)算.exe元多項(xiàng)式的運(yùn)算:清選怪:七、程序運(yùn)行結(jié)果:SBH:ViftualMachines住仇共享俁程沒(méi)計(jì)0423一元多項(xiàng)運(yùn)算.exe元冬項(xiàng)式的運(yùn)算(1_(2x3><5_t.x7)暹算新建加注運(yùn)算減法運(yùn)算漸出g工退出請(qǐng)選擇門請(qǐng)輸入需要運(yùn)算的第一個(gè)一元多項(xiàng)式的頂數(shù);請(qǐng)輸入第1項(xiàng)的系數(shù)和指數(shù):系數(shù)r1指鍬=請(qǐng)輸入第2項(xiàng)的系數(shù)和指教:2據(jù)賴:請(qǐng)輸入第3項(xiàng)的系數(shù)和指數(shù):系數(shù)旦3指覺(jué)=請(qǐng)輸入需要運(yùn)算的第二個(gè)一元多項(xiàng)式的項(xiàng)教=2請(qǐng)輸入第1項(xiàng)的系數(shù)和指數(shù):系熨,21指額:請(qǐng)輸A第2項(xiàng)的系數(shù)和指數(shù):家教3一元多項(xiàng)式輸入界面32H:VirtualMachines

4、住t膚拿'課程設(shè)計(jì)0423一元多項(xiàng)運(yùn)算,exe=一元名麗式的運(yùn)算算算算 運(yùn)運(yùn)運(yùn) 建商乘出空出 新恩相榆堪 ®®請(qǐng)選擇:2待相加的的個(gè)一元多項(xiàng)式為:口的多項(xiàng)式為:雜92或廣3B的多項(xiàng)式為:相加后的結(jié)果為:3x+x"«3xJ請(qǐng)按任意鍵繼續(xù)加法運(yùn)算SBH:ViftualMachines住機(jī)接享浪程沒(méi)計(jì)0423一元多項(xiàng)運(yùn)算.exe=一元名麗式的運(yùn)算算算算運(yùn)運(yùn)運(yùn) 建商乘出空出 新恩相榆醇 ©0相減的兩個(gè)一元多頂式為,自的多項(xiàng)式為:xX2,2x人3B的多項(xiàng)式為,2xM3相演箔的結(jié)果為:-x+x"+/3請(qǐng)按任意鍵繼續(xù).減法運(yùn)算32H:Vir

5、tualMachines住t膚拿'課程設(shè)計(jì)0423一元多項(xiàng)運(yùn)算,exe=一元名麗式的運(yùn)算相乘的兩個(gè)一元多頂式為,算算算 運(yùn)運(yùn)運(yùn) 建商乘出空出 新恩相榆堪 ®®請(qǐng)選擇:4»的多項(xiàng)式為:X”人2-2/3R的多I頁(yè)式為,2x,xf相乘后的結(jié)果為:2x人2,2x=+5xy-/5,2xA6請(qǐng)按任意鍵繼續(xù)乘法運(yùn)算SBH:ViftualMachines住機(jī)接享浪程沒(méi)計(jì)0423一元多項(xiàng)運(yùn)算.exe=一元名麗式的運(yùn)算算算算運(yùn)運(yùn)運(yùn) 建商乘出空出 新恩相榆醇 ©0_a,請(qǐng)選譯:5一兀多項(xiàng)式A為x*x2*2x3一元多項(xiàng)式B為:2x+x人3請(qǐng)抵任意鍵繼續(xù)輸出八、體會(huì)和總結(jié)

6、:課程設(shè)計(jì)終于做完了,盡管有些疲勞和困倦,但帶給我很多的收成。數(shù)絕結(jié)構(gòu)已經(jīng)學(xué)了一個(gè)學(xué)期,可能三個(gè)多月了,有許多知識(shí)都存在似懂非懂的現(xiàn)象,這種現(xiàn)象通過(guò)實(shí)際的上機(jī)操作,實(shí)際應(yīng)用,已經(jīng)減少了許多。對(duì)這些知識(shí)也有了更深的明白得和專門好的把握。許多困惑,有許多已經(jīng)通過(guò)實(shí)際操作解決了,并能夠深刻熟悉,但也有很多沒(méi)有明白。通過(guò)課程設(shè)計(jì),明白到了原先開發(fā)一個(gè)小小的有效系統(tǒng),是需要考慮到很多方面的問(wèn)題的,這些都是要在實(shí)踐中試探的,這與平常做練習(xí)是不同的,但也因?yàn)槠匠S性S多的練習(xí)基礎(chǔ),會(huì)使你做啟程序來(lái),加倍駕輕就熟。另外確實(shí)是要把錯(cuò)誤總結(jié),有許多錯(cuò)誤或陷阱是平常自己陷進(jìn)去的,因此很深刻,但也有些錯(cuò)誤或陷阱是自己尚

7、未接觸或犯過(guò)的,這就應(yīng)該看多些他人的總結(jié),使自己不犯這些錯(cuò)誤。不讓自己掉進(jìn)這些陷阱。如此長(zhǎng)期總結(jié),會(huì)對(duì)自己有專門大的幫忙。附錄:程序源代碼#include<iostream>#include<>#include<>usingnamespacestd;structNodefloatcoef;xp=-l;oef;cout<<"指數(shù):"cin»(newp->data)exp;if(ncwp-><0)(cout«"您輸入有誤,指數(shù)不許諾為負(fù)值!"Gendl;deletenewp

8、;i;continue;)newp->next=NULL;P=L;if(newp->=0)(cout<<”系數(shù)為零,從頭輸入!”endl;deletenewp;i;continue;)while(p->next!=NULL)&&(p->next->data)exp<(newp->data).exp)(p=p->next;oef>0)if(p->data).exp=0)cout«(p->data).coef;elseif(p->data).coef=l&&(p->d

9、ata).exp=l)cout«"x”;elseif(p->data).coef=1&&(p->data).exp!=l)cout«*xAJ*«(p->data).exp;elseif(p->data).exp=l&&(p->data).coef!=1)cout«(p->data).coef<<"x"elsecout«(p->data).coef«x(p->data).exp;)oef<0)if(p->

10、data).exp=0)cout«(p->data)coef;elseif(p->=-l&&p->=l)elseif(p->=-l&&p->!=l)COUt<<"-XAx«p->elseif(p->=l)cout«p-><<"x"elsecout«(p->data)coef«x*«(p->data).exp;)p=p->next;while(p!=NULL)(if(p->data

11、),coef>0)(if(p->data).exp=0)cout<<"+”<<(p->data).coef;elseif(p->data).exp=l&&(p->data).coef!=1)cout«(p->data).coef«"x"elseif(p->data).exp=l&&(p->data)coef=l)cout«*+*«*x*;elseif(p->data)>coef=l&&(p-&g

12、t;data).exp!=l)cout«"+"<"xexp;elsecout<<"+"<<(p->data).coef«"x"«(p->data).exp;if(p->data).coef<0)if(p->data).exp=0)cout«(p->data)coef;elseif(p->=-l&&p->=l)cout«"-x"elseif(p->=-l&am

13、p;&p->!=l)c<nrt<"-x-"<<p->elseif(p->=l)cout<p->«"x”;elsecout«(p->data).coef«x*«(p->data).exp;)p=p->next;)cout«endl;/*把一個(gè)鏈表的內(nèi)容復(fù)制給另一個(gè)鏈表*/voidCopyLink(Link&pc>Linkpa)(Linkp,q,r;pc=newLNode;pc->next=NULL;r=pc;P=pa;

14、while(p->next!=NULL)(q=newLNode;q->=p->next->q->=p->ncxt->r->next=q;q->next=NULL;r=q;p=p->next;)/*將兩個(gè)一元多項(xiàng)式相加*/voidPolyAdd(Link&pc,Linkpa,Linkpb)Linkpl,p2,p,pd;CopyLink(pl,pa);CopyLink(p2,pb);pc=newLNode;pc->next=NULL;P=Pc;pl=pl->next;p2=p2->next;while(pl!=N

15、ULL&&p2!=NULL)if(pl-Xp2->p->next=pl;p=p->next;pl=pl->next;)elseif(pl-»p2->(p->next=p2;p=p->next;p2=p2->next;)else(pl->=pl->+p2->if(pl->!=0)(p->next=pl;p=p->next;pl=pl->next;p2=p2->next;)else(pd=pl;pl=pl->next;p2=p2->next;deletepd;)if

16、(pl!=NULL)(p->next=pl;)if(p2!=NULL)p->next=p2;)/*將兩個(gè)多項(xiàng)式相減*/voidPolySubstract(Link&pc,Linkpa,Linkpb)Linkp,pt;CopyLinkCptpb);P=Pt;while(p!=NULL)(p->data).coef=(-(p->data).coef);p=p->next;)PolyAdd(pc,pa>pt);DcstroyLink(pt);)清屏函數(shù)voidClear0system("pause");system("cls&

17、quot;);/*將兩個(gè)一元多項(xiàng)式相乘*/voidPolyMultiply(Link&pc,Linkpa,Linkpb)(Linkpl,p2>p,pd,newp,t;pc=ncwLNode;pc->next=NULL;pl=pa->next;p2=pb->next;while(pl!=NULL)(pd=newLNode;pd->next=NULL;p=newLNode;p->next=NULL;t=p;while(p2)(newp=newLNode;newp->next=NULL;newp->=pl->*p2->newp-&g

18、t;=pl->+p2->t->next=newp;t=t->next;p2=p2->next;)PolyAdd(pd,pc,p);CopyLink(pc,pd);pl=pl->next;p2=pb->next;DestroyLink(p);DestroyLink(pd);)菜單函數(shù)voidMenu()cout«*«endl;cout«endl;cout«*t“<<endl;cout«*tcout«*tcout«*tcout«*tcout«"t

19、cout«*tcout«*tcout«*tcout«*tcout«*t*«endl;r元多項(xiàng)式的運(yùn)算|*«endl;ttt新建tttttt加法運(yùn)算tttttt減法運(yùn)算tttttt®相乘運(yùn)算tttttt輸出tttttt清空tttttt退出tttI"<<endl;|"<<endl;I*«endl;I«endl;|*«endl;I"<<endl;|"<<endl;cout«*tttt請(qǐng)選擇:&q

20、uot;判定輸入的整數(shù)是不是為1到7的數(shù)字intComparelfNum(inti)(if(i>0&&i<8)return0;elsereturn1;)voidmainO(system(*color4");/systemCpause);system("colorE");system("pause");)intn;LinkL,La=NULL,Lb=NULL;/La,Lb別離為創(chuàng)建的兩個(gè)多項(xiàng)式intchoose;while(Menu。;挪用菜單函數(shù)cin»choose;switch(choose)(case1:

21、cout«”請(qǐng)輸入需要運(yùn)算的第一個(gè)一元多項(xiàng)式的項(xiàng)數(shù):*«endl;cin»n;if(CompareIfNum(n)=1)(cout«"輸入有誤,請(qǐng)從頭輸入*«endl;Clear0;break;CreateLink(La,n);cout<<”請(qǐng)輸入需要運(yùn)算的第二個(gè)一元多項(xiàng)式的項(xiàng)數(shù):”endl;cin»n;if(Comp«ureIfNum(n)=1)(cout<”輸入有誤,請(qǐng)從頭輸入"<<endl;Clear0;break;)CreateLink(Lb,n);Clear0;br

22、eak;case2:if(La=NULL|Lb=NULL)(cout«”多項(xiàng)式創(chuàng)建錯(cuò)誤,請(qǐng)從頭選擇*«endl;Clear0;break;)PolyAdd(L,La,Lb);cout«*«endl;cout<<"待相加的兩'一元多項(xiàng)式為:"<<endl;cout«”“endl;cout«"A的多項(xiàng)式為:”;PrintList(La);cout<<*"«endl;cout«"B的多項(xiàng)式為:”;PrintList(Lb);co

23、ut«=“<endl;COUt«”相加后的結(jié)果為:";PrintList(L);cout«*«endl;Clear();DestroyLink(L);break;case3:if(La=NULL|Lb=NULL)(cout«”多項(xiàng)式創(chuàng)建錯(cuò)誤,請(qǐng)從頭選擇*«endl;Clear0;break;)PolySubstract(L,La,Lb);cout<<”相減的兩個(gè)一元多項(xiàng)式為:*«endl;cout«""«endl;cout«"A的多項(xiàng)式為:”;PrintList(La);cout«"“<endl;cout«"B的多項(xiàng)式為:”;PrintList(Lb);cout«*«endl;cout<<”相減后的結(jié)果為:”;PrintList(L);cout«*«endl;Clear();DestroyLink(L);break;case4:if(La=NULL|Lb=NULL)(cout«”多項(xiàng)式創(chuàng)建錯(cuò)誤,請(qǐng)從頭選擇*«endl;C

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論