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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論