基于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,文件以輸入的方式打開。# 系列文章目錄
總結
本片文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注服務器之家的更多內容!
原文鏈接:https://blog.csdn.net/anlu_/article/details/120007596