數(shù)據(jù)結構課程設計.rar
數(shù)據(jù)結構課程設計,--大整數(shù)加減運算程序一.需求分析1.問題描述:大整數(shù)加減運算程序.本文力圖設計實現(xiàn)一個任意長的整數(shù)進行加 減法運算的演示程序。具體的情況是這樣的:利用雙向循環(huán)鏈表實現(xiàn)長整數(shù)的存貯,每個結點含一個整型變量。整型變量的表示范圍是 -(215-1) ~ (215-1)。輸入、輸 出...
該文檔為壓縮文件,包含的文件列表如下:
內容介紹
原文檔由會員 beijing2008 發(fā)布
數(shù)據(jù)結構課程設計--大整數(shù)加減運算程序
一. 需求分析
1. 問題描述:大整數(shù)加減運算程序.本文力圖設計實現(xiàn)一個任意長的整數(shù)進行加 減法運算的演示程序。具體的情況是這樣的:利用雙向循環(huán)鏈表實現(xiàn)長整數(shù)的存貯,每個結點含一個整型變量。整型變量的表 示范圍是 -(215-1) ~ (215-1)。輸入、輸 出形式按簡體中文表示習慣,每四位一組,組間用逗號分隔。
2. 基本需要:
(1)要求可以存儲兩個無限大的整數(shù).
?。ǎ玻┠軌驅崿F(xiàn)任意兩個無限大的整數(shù)進行加減運算
3.測試數(shù)據(jù):
?。ǎ保叮担矗担矗玻保常福梗矗担保常保?2356566545242216
=8901987934693531
?。ǎ玻梗矗担叮保玻叮叮矗保常玻保保常玻常玻玻保叮矗叮矗梗矗矗福保常?br> ?。剑梗保常常梗叮保梗梗保福罚玻梗梗?br>二.概要設計
1.數(shù)據(jù)結構:在程序中使用雙向鏈表來存儲大整數(shù).具體情況是:運用鏈式存儲結構,每當有數(shù)據(jù)元素需要進行存儲的時候,通過new函數(shù)向系統(tǒng)動態(tài)申請所需要的存儲空間,通過鏈表中的指針來實現(xiàn)數(shù)據(jù)元素的邏輯順序,而且在雙向鏈表是可以擴充的,這有利于實現(xiàn)大整數(shù)的存儲.
2.程序模塊:
這個程序分三個部分:
(1) 數(shù)據(jù)定義部分
大數(shù)節(jié)點結構類型的定義 struct linklist
(2) 調用函數(shù)有兩部分:
大數(shù)節(jié)點存儲鏈表的創(chuàng)建函數(shù)creatlt()
大數(shù)減法函數(shù)dosubtract(struct linklist *num1,struct linklist *num2)
大數(shù)加法函數(shù)doadd(struct linklist *num1,struct linklist *num2)
(3 ) 主程序部分分為兩個部分:
第一部分是建立兩個用作存儲大數(shù)的鏈表空間
第二部分是通過用戶的選擇,分情況作加法或者減法
3.各模塊間的調用關系以及算法設計
(1)主程序第一部分調用節(jié)點創(chuàng)建函數(shù)creatlt()
主程序第二部分是通過用戶的選擇,分情況調用大數(shù)加法函數(shù)或者是大數(shù)減法函數(shù)
(2)算法思想:
A.從鍵盤輸入1表示進行加法運算,輸入2表示進行減法運算.
B.然后從鍵盤出入數(shù)據(jù)A和數(shù)據(jù)B,回車后,進行程序運算,得出運算結果.
?。茫绻€要進行運算,重復步驟A,B.
?。模绻\算完畢,輸入3,退出程序.
一. 需求分析
1. 問題描述:大整數(shù)加減運算程序.本文力圖設計實現(xiàn)一個任意長的整數(shù)進行加 減法運算的演示程序。具體的情況是這樣的:利用雙向循環(huán)鏈表實現(xiàn)長整數(shù)的存貯,每個結點含一個整型變量。整型變量的表 示范圍是 -(215-1) ~ (215-1)。輸入、輸 出形式按簡體中文表示習慣,每四位一組,組間用逗號分隔。
2. 基本需要:
(1)要求可以存儲兩個無限大的整數(shù).
?。ǎ玻┠軌驅崿F(xiàn)任意兩個無限大的整數(shù)進行加減運算
3.測試數(shù)據(jù):
?。ǎ保叮担矗担矗玻保常福梗矗担保常保?2356566545242216
=8901987934693531
?。ǎ玻梗矗担叮保玻叮叮矗保常玻保保常玻常玻玻保叮矗叮矗梗矗矗福保常?br> ?。剑梗保常常梗叮保梗梗保福罚玻梗梗?br>二.概要設計
1.數(shù)據(jù)結構:在程序中使用雙向鏈表來存儲大整數(shù).具體情況是:運用鏈式存儲結構,每當有數(shù)據(jù)元素需要進行存儲的時候,通過new函數(shù)向系統(tǒng)動態(tài)申請所需要的存儲空間,通過鏈表中的指針來實現(xiàn)數(shù)據(jù)元素的邏輯順序,而且在雙向鏈表是可以擴充的,這有利于實現(xiàn)大整數(shù)的存儲.
2.程序模塊:
這個程序分三個部分:
(1) 數(shù)據(jù)定義部分
大數(shù)節(jié)點結構類型的定義 struct linklist
(2) 調用函數(shù)有兩部分:
大數(shù)節(jié)點存儲鏈表的創(chuàng)建函數(shù)creatlt()
大數(shù)減法函數(shù)dosubtract(struct linklist *num1,struct linklist *num2)
大數(shù)加法函數(shù)doadd(struct linklist *num1,struct linklist *num2)
(3 ) 主程序部分分為兩個部分:
第一部分是建立兩個用作存儲大數(shù)的鏈表空間
第二部分是通過用戶的選擇,分情況作加法或者減法
3.各模塊間的調用關系以及算法設計
(1)主程序第一部分調用節(jié)點創(chuàng)建函數(shù)creatlt()
主程序第二部分是通過用戶的選擇,分情況調用大數(shù)加法函數(shù)或者是大數(shù)減法函數(shù)
(2)算法思想:
A.從鍵盤輸入1表示進行加法運算,輸入2表示進行減法運算.
B.然后從鍵盤出入數(shù)據(jù)A和數(shù)據(jù)B,回車后,進行程序運算,得出運算結果.
?。茫绻€要進行運算,重復步驟A,B.
?。模绻\算完畢,輸入3,退出程序.