版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、湖北文理學(xué)院程序設(shè)計課程設(shè)計報告項目名稱:豎式加法、乘法學(xué)生姓名:xx學(xué) 號:20111171xx班 級:計科1111班指導(dǎo)老師:xxx日 期:2013.6.251、項目描述使用字符數(shù)組存儲整數(shù),采用類似小學(xué)生進(jìn)行豎式運算的方式,完成加法和乘法。2、項目的需求分析在軟件工程中,需求分析指的是在建立一個新的或改變一個現(xiàn)存的系統(tǒng)或產(chǎn)品時,確定新系統(tǒng)的目的、范圍、定義和功能時所要做的所有工作。需求分析是軟件工程中的一個關(guān)鍵過程。在這個過程中,系統(tǒng)分析員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法。需求按層次分為用戶需求和系統(tǒng)需求:用戶需求是用自然語言加圖的形
2、式給出的、關(guān)于系統(tǒng)需要提供哪些服務(wù)以及系統(tǒng)操作受到哪些約束的聲明;系統(tǒng)需求詳細(xì)地給出系統(tǒng)將要提供的服務(wù)以及系統(tǒng)所受到的約束,系統(tǒng)需求文檔有時也稱為功能描述,應(yīng)該是精確的,它可能成為系統(tǒng)買方和軟件開發(fā)者之間合同的重要內(nèi)容。軟件系統(tǒng)需求常常分為功能需求和非功能需求:功能需求包括對系統(tǒng)應(yīng)該提供的服務(wù)、如何對特殊輸入做出反應(yīng),以及系統(tǒng)在特定條件下的行為的描述,在某些情況下,功能需求可能還需聲明系統(tǒng)不應(yīng)該做什么;非功能需求是對系統(tǒng)提供的服務(wù)或功能的約束,包括時間約束、開發(fā)過程的約束和所受到的標(biāo)準(zhǔn)的約束,非功能需求經(jīng)常適用于整個系統(tǒng)而不是個別的系統(tǒng)功能或服務(wù),例如性能,可靠性,安全性和可用性等。非功能需求
3、通常會比個別的功能需求更加關(guān)鍵,它會影響整個系統(tǒng)的體系結(jié)構(gòu),而不是個別的組件。例如,為了保證系統(tǒng)的性能需求,就必須合理組織系統(tǒng)使得組件之間的通信量達(dá)到最小。圖 1 需求獲取和分析的產(chǎn)品2.1、界面需求2.2、輸入輸出要求演示程序以用戶和計算機(jī)的對話方式執(zhí)行,由用戶在鍵盤上輸入演示程序中規(guī)定的運算命令;相應(yīng)的輸入數(shù)據(jù)(濾去輸入中的非法字符)和運算結(jié)果顯示在其后。2.3、功能需求使用字符數(shù)組存儲整數(shù),采用類似小學(xué)生進(jìn)行豎式運算的方式,完成加法和乘法。2.4、程序的結(jié)構(gòu)要求按面向?qū)ο蠼Y(jié)構(gòu)化程序3、項目設(shè)計軟件設(shè)計在軟件工程過程中處于技術(shù)核心,并且它的應(yīng)用與所使用的軟件過程模型無關(guān)。一旦對軟件需求進(jìn)行
4、分析和建模,軟件設(shè)計就開始了。軟件設(shè)計是建?;顒拥淖詈笠粋€軟件工程活動,接著便要進(jìn)入構(gòu)造階段(代碼生成和測試)。在軟件系統(tǒng)設(shè)計的過程中,開發(fā)者定義項目的設(shè)計目標(biāo),將系統(tǒng)分解為更小的子系統(tǒng),這些子系統(tǒng)可以由各個團(tuán)隊分別實現(xiàn),開發(fā)者還要選擇構(gòu)建系統(tǒng)的策略,比如硬件/軟件策略、持久性數(shù)據(jù)管理策略、全局控制流、訪問控制策略、邊界條件處理等。系統(tǒng)設(shè)計后得到的是一個包括子系統(tǒng)分解和每個策略都清晰描述的模型。系統(tǒng)設(shè)計是與算法無關(guān)的,它由一些活動組成,每一個活動都專注于分解系統(tǒng)整個問題中的某一部分:a) 標(biāo)識設(shè)計目標(biāo)。開發(fā)者標(biāo)識并區(qū)分應(yīng)進(jìn)行優(yōu)化的各種系統(tǒng)特征的優(yōu)先順序。b) 設(shè)計初始子系統(tǒng)分解。根據(jù)用例和分析
5、模型將系統(tǒng)分解成一些小部分,在此活動中,開發(fā)者將采用標(biāo)準(zhǔn)的體系結(jié)構(gòu)風(fēng)格(分層體系結(jié)構(gòu),容器體系結(jié)構(gòu),客戶機(jī)-服務(wù)器體系結(jié)構(gòu),管道和過濾器體系結(jié)構(gòu))作為起始點。c) 求精子系統(tǒng)分解以應(yīng)對設(shè)計目標(biāo)。初始的分解大都不滿足所有的設(shè)計目標(biāo),必須不斷分解和求精,直到所有的設(shè)計目標(biāo)都滿足了。3.1、總控流程設(shè)計編譯預(yù)處理命令:#include#include#include#include定義類:class seqstackclass counter函數(shù)申明:seqstack()void push(int x)int pop()int empty()counter(char bpn,char jpn,cha
6、r yp )void add()void mul()3.2、程序結(jié)構(gòu)設(shè)計主程序mian-cout輸入被加(乘)數(shù):cout輸入加(乘)數(shù):cout您想做的運算:counter(js,bjs,ysf);-結(jié)束;3.3、數(shù)據(jù)結(jié)構(gòu)及類型設(shè)計1.基本類型:1)常量的使用const int maxsize=1002)整型(int)2、構(gòu)造類型:1)數(shù)組類型:(datastacksize)3.4、功能模塊設(shè)計輸入兩個數(shù)據(jù),選擇要進(jìn)行的加法或乘法的算法4、測試用例設(shè)計軟件工程中的測試用例是一組條件或變量(輸入數(shù)據(jù)和期望結(jié)果的集合),測試者根據(jù)它來確定應(yīng)用軟件或軟件系統(tǒng)是否正確工作。測試用例是通過實驗達(dá)到引起
7、構(gòu)件失效和發(fā)現(xiàn)構(gòu)件故障的目的。確定軟件程序或系統(tǒng)是否通過測試的方法叫做測試準(zhǔn)則。一個測試用例有5個屬性:名稱、可執(zhí)行的路徑全稱、輸入數(shù)據(jù)、測試預(yù)言(期望的測試結(jié)果與輸出結(jié)果的比較)和日志(測試產(chǎn)生的輸出)。4.1、輸入/輸出測試用例輸入:輸出:5、關(guān)鍵代碼設(shè)計1. class seqstack/棧的建立private:t datastacksize;int top;public:seqstack()top=-1;void push(t x)if(top=stacksize-1)throw 上溢;data+top=x;t pop()if(top=-1)throw下溢;t x=datatop-;r
8、eturn x;int empty()if(top=-1)return 1;return 0;2. class counterprivate:int data1,data2;/數(shù)據(jù)的數(shù)值int data1sn,data2sn;/數(shù)據(jù)的逆序的整數(shù)存儲int maxlength;/輸入的數(shù)據(jù)最大長度public:int length1,length2; counter(char bpn,char jpn,char yp )data1=atoi(bp);/被乘數(shù)data2=atoi(jp);/乘數(shù)int bound1=data1;int bound2=data2;int i,k1,k2;for(i=
9、0;in;i+)data1si=0;data2si=0;i=0;seqstackd1;seqstackd2;while(bound1!=0)data1si=bound1%10;d1.push(data1si);bound1=bound1/10;i+;length1=i;i=0;while(bound2!=0)data2si=bound2%10;d2.push(data2si);bound2=bound2/10;i+;length2=i;maxlength=length1length2?length1:length2;if(yp=+)/加法k1=maxlength+2-length1;for(i
10、=0;ik1;i+)coutt;while(!d1.empty()coutd1.pop()t;coutendl;k1=maxlength+1-length2;for(i=0;ik1;i+)coutt;cout+t;while(!d2.empty()coutd2.pop()t;coutendl;cout-endl;add();else if(yp=*)/乘法k2=maxlength+length2-length1;for(i=0;ik2;i+)coutt;while(!d1.empty()coutd1.pop()t;coutendl;k2=maxlength-1;for(i=0;ik2;i+)c
11、outt;cout*t;while(!d2.empty()coutd2.pop()t;coutendl;cout-endl;mul();elsecout無此類運算!; void add()/加法int jw=0,i=0;seqstackq;while(i=maxlength)int x=data1si+data2si+jw;jw=x/10;x=x%10;q.push(x);i+;coutt;while(q.empty()!=1)coutq.pop()t;void mul()/乘法int boundn,bsn;/記錄第一步各個位乘法運算之后的數(shù)據(jù)int boundsn,sumn;int i,j,
12、k,jw=0,step,ws=length2+maxlength;i=0;while(ilength2)boundi=data2si*data1*pow(10,i);i+;for(i=0;in;i+)sumi=0;boundsi=0;bsi=0;for( i=0;ilength2;i+)bsi=boundi;for(k=0;k=0;i-)coutboundsit;coutendl;for(i=0;i1)cout-=0;i-)coutsumit;5.1、總控程序關(guān)鍵代碼int main()char jsn,bjsn;char ysf;cout輸入被加(乘)數(shù):js;cout輸入加(乘)數(shù):bjs
13、;cout您想做的運算:ysf;counter(js,bjs,ysf);system(pause);return 0;6、程序調(diào)試與測試測試活動技術(shù)主要包括:構(gòu)件檢查、可用性測試、單元測試、集成測試和系統(tǒng)測試。構(gòu)件檢查是通過對源代碼的手工檢查發(fā)現(xiàn)單個構(gòu)件中的故障??捎眯詼y試用于找出現(xiàn)實系統(tǒng)做了什么和用戶所期望系統(tǒng)應(yīng)該做什么之間的差異。單元測試通過使用測試樁程序和測試驅(qū)動程序來隔離單個構(gòu)件的方法以發(fā)現(xiàn)故障,也可以通過對一個構(gòu)件執(zhí)行測試用例來完成這個功能。集成測試通過集成多個構(gòu)件來查找故障。系統(tǒng)測試狐妖關(guān)注整個系統(tǒng)、系統(tǒng)的功能和非功能需求以及目標(biāo)環(huán)境等。6.1、用例1測試結(jié)果6.2、用例2測試結(jié)果
14、7、總結(jié)這個課程設(shè)計感覺好難,加法的還好點,乘法的太復(fù)雜了,感覺在兩個數(shù)相加或者是相乘的時候的進(jìn)位是最復(fù)雜的,在倆個數(shù)的相加的時候,設(shè)置了一個進(jìn)位標(biāo)志jw,當(dāng)倆個數(shù)的相加大于10的時候,個位數(shù)進(jìn)棧,十位數(shù)用jw來表示,與下一個數(shù)進(jìn)行相加。8、附件:項目程序代碼/豎式加法、乘法#include#include#include#includeusing namespace std;const n=10;const stacksize=100;/順序棧templateclass seqstackprivate:t datastacksize;int top;public:seqstack()top=
15、-1;void push(t x)if(top=stacksize-1)throw 上溢;data+top=x;t pop()if(top=-1)throw下溢;t x=datatop-;return x;int empty()if(top=-1)return 1;return 0;class counterprivate:int data1,data2;/數(shù)據(jù)的數(shù)值int data1sn,data2sn;/數(shù)據(jù)的逆序的整數(shù)存儲int maxlength;/輸入的數(shù)據(jù)最大長度public:int length1,length2; counter(char bpn,char jpn,char y
16、p )data1=atoi(bp);/被乘數(shù)data2=atoi(jp);/乘數(shù)int bound1=data1;int bound2=data2;int i,k1,k2;for(i=0;in;i+)data1si=0;data2si=0;i=0;seqstackd1;seqstackd2;while(bound1!=0)data1si=bound1%10;d1.push(data1si);bound1=bound1/10;i+;length1=i;i=0;while(bound2!=0)data2si=bound2%10;d2.push(data2si);bound2=bound2/10;i
17、+;length2=i;maxlength=length1length2?length1:length2;if(yp=+)/加法k1=maxlength+2-length1;for(i=0;ik1;i+)coutt;while(!d1.empty()coutd1.pop()t;coutendl;k1=maxlength+1-length2;for(i=0;ik1;i+)coutt;cout+t;while(!d2.empty()coutd2.pop()t;coutendl;coutendl;add();else if(yp=*)/乘法k2=maxlength+length2-length1;f
18、or(i=0;ik2;i+)coutt;while(!d1.empty()coutd1.pop()t;coutendl;k2=maxlength-1;for(i=0;ik2;i+)coutt;cout*t;while(!d2.empty()coutd2.pop()t;coutendl;coutendl;mul();elsecout無此類運算!; void add()/加法int jw=0,i=0;seqstackq;while(i=maxlength)int x=data1si+data2si+jw;jw=x/10;x=x%10;q.push(x);i+;coutt;while(q.empty()!=1)coutq.pop()t;void mul()/乘法int boundn,bsn;/記錄第一步各個位乘法運算之后的數(shù)據(jù)int boundsn,sumn;int i,j,k,jw=0,step,ws=length2+maxlength;i=0;while(ilength2)bou
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)服務(wù)協(xié)議續(xù)簽文檔:保障雙方權(quán)益(2024版)版
- 2024年05月上海中國銀聯(lián)“銀星”實習(xí)生招考筆試歷年參考題庫附帶答案詳解
- 2025年度軍事工程專用鋼管扣件運輸安全保密協(xié)議3篇
- 2025年度合同封面定制與法律風(fēng)險防控策略合同3篇
- 專項補(bǔ)充貸款協(xié)議規(guī)范示例2024一
- 2025年度產(chǎn)品陳列與品牌形象提升協(xié)議書3篇
- 2025年廠房建筑合同范本:廠房建筑與環(huán)保驗收合同規(guī)范4篇
- 2025年產(chǎn)業(yè)園區(qū)場地租賃與產(chǎn)業(yè)金融服務(wù)合同4篇
- 醫(yī)療安全知識培訓(xùn)
- 2025年度虛擬現(xiàn)實產(chǎn)品設(shè)計保密合同(全新版)4篇
- 部編新改版語文一年級下冊《語文園地四》教學(xué)設(shè)計
- 2025年北京鐵路局集團(tuán)招聘筆試參考題庫含答案解析
- 《藥品招商營銷概論》課件
- 曙光磁盤陣列DS800-G10售前培訓(xùn)資料V1.0
- 寺廟祈?;顒臃桨?共6篇)
- 2025年病案編碼員資格證試題庫(含答案)
- 企業(yè)財務(wù)三年戰(zhàn)略規(guī)劃
- 提高膿毒性休克患者1h集束化措施落實率
- 山東省濟(jì)南市天橋區(qū)2024-2025學(xué)年八年級數(shù)學(xué)上學(xué)期期中考試試題
- 主播mcn合同模板
- 2024測繪個人年終工作總結(jié)
評論
0/150
提交評論