一元多項(xiàng)式計(jì)算器.doc_第1頁
一元多項(xiàng)式計(jì)算器.doc_第2頁
一元多項(xiàng)式計(jì)算器.doc_第3頁
一元多項(xiàng)式計(jì)算器.doc_第4頁
一元多項(xiàng)式計(jì)算器.doc_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

一元多項(xiàng)式計(jì)算器 I 一元多項(xiàng)式計(jì)算器 目錄 摘摘 要要 1 1 緒論緒論 1 2 系統(tǒng)分析系統(tǒng)分析 1 2 1 功能需求 1 2 2 數(shù)據(jù)需求 1 2 3 性能需求 1 3 總體設(shè)計(jì)總體設(shè)計(jì) 1 3 1 系統(tǒng)設(shè)計(jì)方案 1 3 2 功能模塊設(shè)計(jì) 2 4 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 3 4 1 建立多項(xiàng)式 3 4 2 多項(xiàng)式相加 4 4 3 多項(xiàng)式相減 4 4 4 多項(xiàng)式相乘 5 4 5 計(jì)算器主函數(shù) 6 5 調(diào)試與測試調(diào)試與測試 7 5 1 調(diào)試 7 5 2 測試 8 6 結(jié)論結(jié)論 9 結(jié)束語結(jié)束語 9 參考文獻(xiàn)參考文獻(xiàn) 9 附錄附錄 1 用戶手冊 用戶手冊 10 附錄附錄 2 源程序 源程序 12 一元多項(xiàng)式計(jì)算器 1 摘摘 要要 隨著生活水平的提高 現(xiàn)代科技也日益發(fā)達(dá) 日常生活中多位計(jì)算再所難 免 因此設(shè)計(jì)一個(gè)簡單計(jì)算器可解決許多不必要的麻煩 開發(fā)這樣一個(gè)程序主要運(yùn)用了 C 的結(jié)點(diǎn) 鏈表等方面知識(shí) 系統(tǒng)主要實(shí)現(xiàn) 了多項(xiàng)式的建立 多項(xiàng)式的輸入輸出 以及多項(xiàng)式加減乘等運(yùn)算 報(bào)告主要從計(jì)算器的程序段 對(duì)輸入輸出數(shù)據(jù)的要求 計(jì)算器的性能 以 及總體的設(shè)計(jì)來介紹此計(jì)算器程序的實(shí)現(xiàn)過程 關(guān)鍵詞 多項(xiàng)式 鏈表 結(jié)點(diǎn) 1 緒論緒論 隨著日益發(fā)達(dá)的科技 計(jì)算器已應(yīng)用于各行各業(yè) 設(shè)計(jì)一個(gè)計(jì)算器需要運(yùn) 用 C 中多方面知識(shí) 更是以多項(xiàng)式的建立 輸入輸出 以及結(jié)點(diǎn) 鏈表為主 擴(kuò)充 任務(wù)書 2 系統(tǒng)分析系統(tǒng)分析 2 1 功能需求功能需求 多項(xiàng)式的建立多項(xiàng)式的建立 多項(xiàng)式輸入輸出多項(xiàng)式輸入輸出 多項(xiàng)式加減乘等運(yùn)算多項(xiàng)式加減乘等運(yùn)算 2 2 數(shù)據(jù)需求數(shù)據(jù)需求 在輸入過程中 首先要確定輸入的數(shù)據(jù) 數(shù)據(jù)不能是字母 只能是數(shù)字 不能連續(xù)輸入數(shù)據(jù) 必須按要求配以空格輸入要計(jì)算的數(shù)據(jù) 1 鏈節(jié) 節(jié)點(diǎn) 數(shù)字 2 數(shù)字 2 3 性能需求性能需求 系統(tǒng)必須安全可靠 不會(huì)出現(xiàn)無故死機(jī)狀態(tài) 速度不宜過慢 一元多項(xiàng)式計(jì)算器 3 總體設(shè)計(jì)總體設(shè)計(jì) 3 1 系統(tǒng)設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)方案 采用菜單設(shè)計(jì) 選擇你需要的功能 用單鏈表儲(chǔ)存你輸入的數(shù)據(jù) 1 菜單 菜單包括計(jì)算器加減乘等功能的選擇 2 文件保存方式 運(yùn)用帶頭節(jié)點(diǎn)的單鏈表儲(chǔ)存多項(xiàng)式 3 抽象數(shù)據(jù)類型定義 主要定義多項(xiàng)式的系數(shù)和指數(shù) 系數(shù)項(xiàng)用浮點(diǎn)類型定義 指數(shù)項(xiàng)用整型定 義 4 存儲(chǔ)結(jié)構(gòu) 采用鏈?zhǔn)浇Y(jié)構(gòu) 建立鏈表儲(chǔ)存輸入的多項(xiàng)式 5 算法設(shè)計(jì) 運(yùn)用鏈表知識(shí) 建立鏈表 給鏈表分配一定量的存儲(chǔ)空間 查找鏈表 插 入鏈表和鏈表的連接 3 2 功能模塊設(shè)計(jì)功能模塊設(shè)計(jì) 一元多項(xiàng)式計(jì)算器 一元多項(xiàng)式計(jì)算器 建 立 多 項(xiàng) 式 多 項(xiàng) 式 相 加 多 項(xiàng) 式 相 減 多 項(xiàng) 式 相 乘 圖圖 1 功能模塊圖功能模塊圖 1 建立多項(xiàng)式模塊 該模塊分為 建立多項(xiàng)式 輸入多項(xiàng)式 2 多項(xiàng)式相加模塊 該模塊是將輸入的多項(xiàng)式實(shí)現(xiàn)相加功能 3 多項(xiàng)式相減模塊 該模塊是將輸入的多項(xiàng)式實(shí)現(xiàn)相減功能 4 多項(xiàng)式相乘模塊 該模塊是將輸入的多項(xiàng)式實(shí)現(xiàn)相乘功能 4 詳細(xì)設(shè)計(jì)詳細(xì)設(shè)計(jì) 一元多項(xiàng)式計(jì)算器主要分為 4 大部分 多項(xiàng)式建立 多項(xiàng)式加法 多項(xiàng)式 一元多項(xiàng)式計(jì)算器 減法和多項(xiàng)式乘法 多項(xiàng)式的建立主要需要建立新鏈表 并分配給這個(gè)新鏈表 一定量的存儲(chǔ)空間 分配的存儲(chǔ)空間內(nèi)進(jìn)行運(yùn)算 多項(xiàng)式加減乘等運(yùn)算主要運(yùn) 用了鏈表的建立 鏈表存儲(chǔ)空間分配 鏈表的查找 插入與連接進(jìn)行計(jì)算 4 1 建立多項(xiàng)式建立多項(xiàng)式 此階段是多項(xiàng)式的建立 可以對(duì)計(jì)算器進(jìn)行輸入 輸出等功能 主要運(yùn)用鏈表方面的知識(shí) 如圖 2 所示 PLOY head inpt X 0 inpt PLOY malloc sizeof PLO Y return head Y N 結(jié)束 開始 圖圖 2 多項(xiàng)式建立多項(xiàng)式建立 4 2 多項(xiàng)式相加多項(xiàng)式相加 此階段是計(jì)算器的加法運(yùn)用功能 對(duì)你輸入的多項(xiàng)式進(jìn)行相加計(jì)算 主要運(yùn)用了鏈表 及 鏈表的插入等知識(shí) 如圖 3 所示 一元多項(xiàng)式計(jì)算器 開始 PLOY inpt flag 0 pre next NULL flag 1pre pre next return head 結(jié)束 N N Y Y 圖圖 3 多項(xiàng)式相加多項(xiàng)式相加 4 3 多項(xiàng)式相減多項(xiàng)式相減 此階段是計(jì)算器的減法運(yùn)用功能 對(duì)你輸入的多項(xiàng)式進(jìn)行相減計(jì)算 主要運(yùn)用了鏈表 鏈 表查詢 及鏈表的插入等知識(shí) 如圖 4 所示 開始 PLOY inpt flag 0 pre next NULL flag 1pre pre next return head 結(jié)束 N N Y Y 圖圖 4 多項(xiàng)式相減多項(xiàng)式相減 4 4 多項(xiàng)式相乘多項(xiàng)式相乘 此階段是計(jì)算器的乘法運(yùn)用功能 對(duì)你輸入的多項(xiàng)式進(jìn)行相乘計(jì)算 主要運(yùn)用了鏈表 鏈 一元多項(xiàng)式計(jì)算器 表查詢 及鏈表的插入等知識(shí) 如圖 5 所示 開始 PLOY inpt res pr e flag 0 pre next NUL L pre head2 continue head1 NULL flag 1 continue pre pre next return res 結(jié)束 N N Y Y N Y 圖圖 5 多項(xiàng)式相乘多項(xiàng)式相乘 4 5 計(jì)算器主函數(shù)計(jì)算器主函數(shù) 此階段是計(jì)算器的功能選擇 對(duì)你要進(jìn)行的操作選擇相應(yīng)的程序 主要運(yùn)用了鏈表 鏈表 查詢 鏈表連接及鏈表的插入等知識(shí) 如圖 6 所示 一元多項(xiàng)式計(jì)算器 開始 PLOY f g sign 0 scanf d int expn struct node next PLOY void start 用戶選擇界面 printf n printf 兩個(gè)一元多項(xiàng)式的相加 相減 相乘 n printf n printf 請選擇操作 n printf 0 退出 n printf 1 兩個(gè)一元多項(xiàng)式相加 n printf 2 兩個(gè)一元多項(xiàng)式相乘 n printf 3 兩個(gè)一元多項(xiàng)式相減 n void insert PLOY head PLOY inpt PLOY pre now int signal 0 pre head if pre next NULL pre next inpt else now pre next while signal 0 if inpt expnexpn if now next NULL now next inpt signal 1 else pre now now pre next else if inpt expn now expn 一元多項(xiàng)式計(jì)算器 inpt next now pre next inpt signal 1 else now coef now coef inpt coef signal 1 free inpt if now coef 0 pre next now next free now PLOY creat char ch PLOY head inpt float x int y head PLOY malloc sizeof PLOY head next NULL printf 請輸入一元多項(xiàng)式 c 格式是 系數(shù) 指數(shù) 以 0 0 結(jié)束 n ch scanf f d while x 0 inpt PLOY malloc sizeof PLOY inpt coef x inpt expn y inpt next NULL insert head inpt printf 請輸入一元多項(xiàng)式 c 的下一項(xiàng) 以 0 0 結(jié)束 n ch scanf f d return head PLOY addPLOY PLOY head PLOY pre PLOY inpt 一元多項(xiàng)式計(jì)算器 int flag 0 while flag 0 if pre next NULL flag 1 else pre pre next inpt PLOY malloc sizeof PLOY inpt coef pre coef inpt expn pre expn inpt next NULL insert head inpt return head PLOY minusPLOY PLOY head PLOY pre PLOY inpt int flag 0 while flag 0 if pre next NULL flag 1 else pre pre next inpt PLOY malloc sizeof PLOY inpt coef 0 pre coef inpt expn pre expn inpt next NULL insert head inpt return head PLOY byPLOY PLOY head1 PLOY head2 PLOY inpt res pre int flag 0 res PLOY malloc sizeof PLOY res next NULL head1 head1 next pre head2 一元多項(xiàng)式計(jì)算器 while flag 0 if pre next NULL pre head2 head1 head1 next continue if head1 NULL flag 1 continue pre pre next inpt PLOY malloc sizeof PLOY inpt coef pre coef head1 coef inpt expn pre expn head1 expn inpt next NULL insert res inpt return res void print PLOY fun PLOY printing int flag 0 printing fun next if fun next NULL printf 0 n return while flag 0 if printing coef 0 if printing coef 1 else if printing coef 1 printf else printf f printing coef if printing expn 0 printf x d printing expn else if printing coef 1 printing coef 1 printf 1 一元多項(xiàng)式計(jì)算器 if printing next NULL flag 1 else printing printing next printf n void main PLOY f g int sign 1 start while sign 0 scanf d switch sign case 0 break case 1 printf 你選擇的操作是多項(xiàng)式相加 n f creat f printf f x print f g creat g printf g x print g printf F x f x g x f addPLOY f g print f sign 1 start break case 2 printf 你選擇的操作是多項(xiàng)式相乘 n f creat f printf f x print f g creat g printf g x print g 一元多項(xiàng)式計(jì)算器 printf F x f x g x f byPLOY f g print f sign 1 start break case 3

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論