久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C++ 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì)報(bào)告 計(jì)算表達(dá)式(五篇范文)

時(shí)間:2019-05-12 00:36:12下載本文作者:會(huì)員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《C++ 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì)報(bào)告 計(jì)算表達(dá)式》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《C++ 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì)報(bào)告 計(jì)算表達(dá)式》。

第一篇:C++ 數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì)報(bào)告 計(jì)算表達(dá)式

題目:計(jì)算表達(dá)式的值

1、問題描述

對(duì)于給定的一個(gè)表達(dá)式,表達(dá)式中可以包括常數(shù)、算術(shù)運(yùn)行符(“+”、“-”、“*”、“/”)和括號(hào),編寫程序計(jì)算表達(dá)式的值。

基本要求:從鍵盤輸入一個(gè)正確的中綴表達(dá)式,將中綴表達(dá)式轉(zhuǎn)換為對(duì)應(yīng)的后綴表達(dá)式,計(jì)算后綴表達(dá)式的值。

提高要求:(1)對(duì)于表達(dá)式中的簡單錯(cuò)誤,能夠給出提示;

(2)不僅提示錯(cuò)誤,也能給出錯(cuò)誤信息(3)表達(dá)式中可以包括單個(gè)字母表示的變量(4)能夠處理多種操作符(5)實(shí)現(xiàn)包含簡單運(yùn)算的計(jì)算器

(6)實(shí)現(xiàn)一個(gè)包含簡單運(yùn)算和函數(shù)運(yùn)算的計(jì)算器。

2.需求分析

軟件的基本功能:由鍵盤輸入中綴表達(dá)式,程序可以將輸入的中綴表達(dá)式轉(zhuǎn)換成對(duì)應(yīng)的后綴表達(dá)式,并計(jì)算后綴表達(dá)式的值。對(duì)于在輸入時(shí)發(fā)生的簡單錯(cuò)誤,程序可以給出提示。本程序支持整數(shù)、小數(shù)、多種操作數(shù)的處理,可以計(jì)算含加、減、乘、除、運(yùn)算符的表達(dá)式,并能判斷表達(dá)式括號(hào)是否匹配。輸入/輸出形式:用戶可以通過控制臺(tái),根據(jù)輸入提示。輸入形式:

①正確的不含字母變量的中綴表達(dá)式; ②含有簡單錯(cuò)誤的中綴表達(dá)式。

輸出形式:

①對(duì)于正確的中綴表達(dá)式,可以輸出其轉(zhuǎn)化后的后綴表達(dá)式及表達(dá)式的計(jì)算結(jié)果;

②對(duì)于含有簡單錯(cuò)誤的中綴表達(dá)式,程序?qū)⒆詣?dòng)輸出錯(cuò)誤提示,并給出錯(cuò)誤信息。

測試數(shù)據(jù)要求:用戶可以輸入一個(gè)符合要求的中綴表達(dá)式,也可以輸入一個(gè)包含簡單錯(cuò)誤的表達(dá)式。表達(dá)式中可以包括各種類型的常數(shù)以及小數(shù)等,操作符包括(+、-、*、/),同時(shí)表達(dá)式還可以包括各種括號(hào)。

3.概要設(shè)計(jì)

(1)抽象數(shù)據(jù)類型:

根據(jù)題目的要求,考慮用棧類型比較適合。ADT SeqStack Data 棧中元素具有相同類型及后進(jìn)先出特性,相鄰元素具有前驅(qū)和后繼關(guān)系 Operation SeqStack 前置條件:棧不存在

輸入:無

功能:棧的初始化

輸出:無

后置條件:構(gòu)造一個(gè)空棧 ~ SeqStack 前置條件:棧已存在輸入:無

功能:銷毀棧 輸出:無

后置條件:釋放棧所占用的存儲(chǔ)空間

Push 前置條件:棧已存在

輸入:元素值x 功能:在棧頂插入一個(gè)元素x 輸出:如果插入不成功,拋出異常

后置條件:如果插入成功,棧頂增加了一個(gè)元素 Pop 前置條件:棧已存在輸入:無

功能:刪除棧頂元素

輸出:如果刪除成功,返回被刪元素值,否則,拋出異常

后置條件:如果刪除成功,棧頂減少了一個(gè)元素 GetTop 前置條件:棧已存在

輸入:無

功能:讀取當(dāng)前的棧頂元素

輸出:若棧不空,返回當(dāng)前的棧頂元素值 后置條件:棧不變

Empty 前置條件:棧已存在輸入:無

功能:判斷棧是否為空

輸出:如果棧為空,返回1;否則,返回0 后置條件:棧不變

End ADT 4.詳細(xì)設(shè)計(jì)

(1)實(shí)現(xiàn)概要設(shè)計(jì)的數(shù)據(jù)類型:

采用順序棧

const int StackSize = 50;template //定義模板類SeqStack class SeqStack { public: SeqStack();//構(gòu)造函數(shù),棧的初始化

~SeqStack();//析構(gòu)函數(shù)

void Push(T x);//將元素x入棧

DataType Pop();

//將棧頂元素彈出

DataType GetTop();//取棧頂元素(并不刪除)

int Empty();//判斷棧是否為空

private:

DataType data[StackSize];//存放棧元素的數(shù)組

int top;//棧頂元素 };(2)主程序以及其它模塊的算法描述:

這個(gè)函數(shù)主要調(diào)用了實(shí)現(xiàn)功能的各個(gè)函數(shù)。其步驟為:在用戶沒有選擇退出時(shí),先調(diào)用輸入函數(shù),輸入中綴表達(dá)式;然后調(diào)用判斷表達(dá)式,如果中綴表達(dá)式錯(cuò)誤,則根據(jù)返回的值來輸出錯(cuò)誤提示,不再往下運(yùn)算;如果中綴表達(dá)式正確,則將中綴表達(dá)式轉(zhuǎn)換為后綴表達(dá)式,然后輸出中綴表達(dá)式和轉(zhuǎn)換后的后綴表達(dá)式;接著,再調(diào)用計(jì)算函數(shù),計(jì)算后綴表達(dá)式的結(jié)果輸出。最后是清屏函數(shù)。直至用戶選擇退出。

5、編碼與調(diào)試分析

編碼與調(diào)試過程中遇到的問題及解決辦法:

【問題1】程序在判斷表達(dá)式輸入形式有誤時(shí),考慮情況不周全。解決辦法:盡可能多的將表達(dá)式有誤的情況考慮在內(nèi)。以下為現(xiàn)已考慮到并解決的問題:①表達(dá)式中出現(xiàn)非數(shù)字或非運(yùn)算符的其他字符; ②表達(dá)式中括號(hào)不匹配。

【問題2】給變量賦值時(shí)出現(xiàn)重定義問題。

解決辦法:在定義暫存棧頂元素的變量t時(shí),應(yīng)該在函數(shù)外面定義,在函數(shù)里面給變量賦值時(shí)不能定義。【問題3】無法處理多位數(shù)和小數(shù)。

解決辦法:在連續(xù)的操作數(shù)結(jié)束之后插入空格到后綴表達(dá)式中,以分隔操作數(shù)。

解決此問題的核心代碼: int i,t=0;float sum=0;for(i=0;i

if(a[i]=='.'){

}

} t=i;break;if(t!=0){

} else {

} return sum;

2.待解決問題: for(i=0;i

} i++;for(;i

} sum=(a[i]-'0')*pow(0.1,i-t)+sum;if(a[i]=='.')break;sum=(a[i]-'0')*pow(10,n-(n-t)-1-i)+sum;for(i=0;i

6、使用說明

進(jìn)入菜單,根據(jù)提示進(jìn)行選擇。

7、測試結(jié)果

(1)含小數(shù)、多位數(shù)及括號(hào)的表達(dá)式顯示結(jié)果:

8、自學(xué)知識(shí)

在課程設(shè)計(jì)過程中,特別是在代碼編寫和調(diào)試的過程中,自學(xué)了很多新的知識(shí)。例如atof()函數(shù),包含于表頭文件 #include 。其功能是: 把字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。具體的函數(shù)說明是: atof()會(huì)掃描參數(shù)nptr字符串,跳過前面的空格字符,直到遇上數(shù)字或正負(fù)符號(hào)才開始做轉(zhuǎn)換,而再遇到非數(shù)字或字符串結(jié)束時(shí)('

主站蜘蛛池模板: 狠狠人妻久久久久久综合| 国产精品综合色区小说| www.一区二区三区在线 | 欧洲| 亚洲毛片无码不卡av在线播放| 国产?在线观看免费游戏| 国产精品久久久久久久久久直播| 国内精品自线在拍2020不卡| 97se狠狠狠狠狼亚洲综合网| 中文无码成人免费视频在线观看| 亚洲精品少妇高清30p| 亚洲中文字幕乱码电影| 色偷偷久久一区二区三区| 久久综合精品无码av一区二区三区| 51久久夜色精品国产水果派解说| 丰满少妇人妻hd高清果冻传媒| 狠狠躁夜夜躁人人爽天天不| 另类亚洲欧美精品久久| 四虎影视永久地址www成人| 国产午夜精华无码网站| 日本50岁丰满熟妇xxxx| 国产亚洲精品a在线无码| 国产一区二区三区免费高清在线播放| 日韩人妻无码精品一专区二区三区| 69麻豆天美精东蜜桃传媒潘甜甜| 精品欧美一区二区在线观看| 欧美老妇与zozoz0交| 免费人成小说在线观看网站| 亚洲一区二区女搞男| 国产亚洲精品久久一区二区三区| 亚洲欧美不卡高清在线观看| 中文字幕天天躁日日躁狠狠躁免费| 99999久久久久久亚洲| 久久久99无码一区| 成人av片无码免费天天看| 免费人成无码大片在线观看| 亚洲中文无码人a∨在线导航| 人妻av一区二区三区精品| 久久96国产精品久久久| 一区二区三区在线 | 欧| 亚洲欧美综合成人五月天网站| 少妇人妻综合久久中文字幕|