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