這篇文章主要介紹了C語言MFC基礎之如何實現計算器,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
主要是在實現MFC計算器的過程中碰到的一些問題,和補充的一些知識。
想法:利用兩個隊列,一個存儲輸入的字符串(表達式),一個存放結果。
分別命名為queue1,和myqueue,讓字符串從左到右依次入隊列。
但之后按照自己的思路去推演,發現如果進入隊列的是1+23,如果下一個字符入隊的是“+”,那么先計算23的結果入隊myqueue中,而queue1中還儲存1,但下一個“+”入 queue1之后,此時queue1中包含1+,最后把myqueue中的元素和queue1結合,最終在編輯框文本中顯示的是:1+6;
如果下一個運算符是“*”,那么直接輸出隊列中的字符串。
在實現的過程中會涉及到類型轉換,比如CString轉換成浮點型。
目前還沒有實現,主要原因在于對基礎的語法不熟悉,還不太會使用
先總結前一段時間碰到的一些問題,和解決方案。
隊列:
stack,queue,而map函數映射庫是char到int的映射,實現了優先級的定義。
C++中的compare():涌來進行字符串以及子串之間的比較。
getline():讀整行,包括前導和嵌入的空格并將其儲存在字符串對象中。
length=strlen():遍歷字符串
strlen():可以做一個計數器,從內存的某個位置掃描,直到碰到第一個字符串結束符‘\0'為止,返回計算器值
bool類型做判斷:true,falsef分別是:對錯,是非,正反
atof():把字符轉化為浮點數
關于文件操作:
ofstream():寫操作
ofstream fout:是對C++SIT中對文件操作的合集,包含了常用的所有文件操作:插入器,析取器
fout.open(“txt”,ios::out):打開文件流
ifstream():讀操作,從硬盤到內存
fstream():同時進行讀寫
ios:in,文件以輸入的方式打開。# 系列文章目錄
感謝你能夠認真閱讀完這篇文章,希望小編分享的“C語言MFC基礎之如何實現計算器”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。