日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

C++實現(xiàn)多功能計算器

來源: 責(zé)編: 時間:2024-02-01 12:49:21 303觀看
導(dǎo)讀在現(xiàn)代編程實踐中,C++以其高效性、可擴(kuò)展性和面向?qū)ο蟮奶匦员粡V泛應(yīng)用。本文旨在介紹如何使用C++編寫一個功能更加豐富的計算器程序,該程序不僅能夠執(zhí)行基本的數(shù)學(xué)運算,還能處理更復(fù)雜的表達(dá)式,并提供用戶友好的交互界面

在現(xiàn)代編程實踐中,C++以其高效性、可擴(kuò)展性和面向?qū)ο蟮奶匦员粡V泛應(yīng)用。本文旨在介紹如何使用C++編寫一個功能更加豐富的計算器程序,該程序不僅能夠執(zhí)行基本的數(shù)學(xué)運算,還能處理更復(fù)雜的表達(dá)式,并提供用戶友好的交互界面。NLW28資訊網(wǎng)——每日最新資訊28at.com

NLW28資訊網(wǎng)——每日最新資訊28at.com

一、功能設(shè)計

多功能計算器將包含以下特性:NLW28資訊網(wǎng)——每日最新資訊28at.com

  • 支持加、減、乘、除四則運算。
  • 支持括號,以處理運算優(yōu)先級。
  • 提供用戶輸入驗證,確保輸入的表達(dá)式合法。
  • 支持連續(xù)運算,即用戶可以在一次輸入中完成多個運算。
  • 顯示運算結(jié)果和可能的錯誤信息。

二、代碼實現(xiàn)

為了實現(xiàn)上述功能,我們需要編寫一個能夠解析和計算數(shù)學(xué)表達(dá)式的程序。下面是一個簡化版的C++多功能計算器程序:NLW28資訊網(wǎng)——每日最新資訊28at.com

#include <iostream>  #include <stack>  #include <cctype>  #include <sstream>    using namespace std;    double compute(double a, double b, char op) {      switch (op) {          case '+': return a + b;          case '-': return a - b;          case '*': return a * b;          case '/': return (b != 0) ? a / b : throw invalid_argument("除數(shù)不能為0");          default: throw invalid_argument("無效的運算符");      }  }    double evaluateExpression(string s) {      stack<double> values;      stack<char> ops;        for (size_t i = 0; i < s.size(); ++i) {          if (isdigit(s[i])) {              size_t j = i;              while (j < s.size() && (isdigit(s[j]) || s[j] == '.')) j++;              double value = stod(s.substr(i, j - i));              values.push(value);              i = j - 1;          } else if (s[i] == ' ') {              continue;          } else if (s[i] == '(') {              ops.push(s[i]);          } else if (s[i] == ')') {              while (!ops.empty() && ops.top() != '(') {                  double val2 = values.top(); values.pop();                  double val1 = values.top(); values.pop();                  char op = ops.top(); ops.pop();                  values.push(compute(val1, val2, op));              }              if (!ops.empty()) ops.pop(); // 彈出'('          } else if (s[i] == '+' || s[i] == '-' || s[i] == '*' || s[i] == '/') {              while (!ops.empty() &&                     (s[i] == '+' || s[i] == '-' ||                     (s[i] == '*' || s[i] == '/') && (ops.top() == '*' || ops.top() == '/'))) {                  double val2 = values.top(); values.pop();                  double val1 = values.top(); values.pop();                  char op = ops.top(); ops.pop();                  values.push(compute(val1, val2, op));              }              ops.push(s[i]);          }      }        while (!ops.empty()) {          double val2 = values.top(); values.pop();          double val1 = values.top(); values.pop();          char op = ops.top(); ops.pop();          values.push(compute(val1, val2, op));      }        return values.top();  }    int main() {      string expression;      cout << "請輸入一個數(shù)學(xué)表達(dá)式: ";      getline(cin, expression);        try {          double result = evaluateExpression(expression);          cout << "結(jié)果是: " << result << endl;      } catch (const invalid_argument& e) {          cout << "錯誤: " << e.what() << endl;      }        return 0;  } 

三、代碼解析

  • compute函數(shù):執(zhí)行基本的數(shù)學(xué)運算。它接收兩個double類型的操作數(shù)和一個char類型的運算符,然后根據(jù)運算符執(zhí)行相應(yīng)的運算并返回結(jié)果。
  • evaluateExpression函數(shù):使用兩個棧,一個用于值,一個用于運算符,來實現(xiàn)表達(dá)式求值。該函數(shù)按照運算符的優(yōu)先級處理表達(dá)式,并正確處理括號。
  • main函數(shù):程序的入口點。它首先提示用戶輸入一個數(shù)學(xué)表達(dá)式,然后調(diào)用evaluateExpression函數(shù)計算表達(dá)式的結(jié)果,并將結(jié)果打印到屏幕上。如果在計算過程中發(fā)生錯誤,程序會捕獲異常并顯示錯誤信息。

四、程序運行

用戶可以在控制臺中輸入一個數(shù)學(xué)表達(dá)式,例如 "3 + 4 * (2 - 1) / 5",然后程序會計算表達(dá)式的結(jié)果并顯示。如果用戶輸入了一個無效的表達(dá)式,程序會顯示一個錯誤信息。NLW28資訊網(wǎng)——每日最新資訊28at.com

五、結(jié)論

這個C++多功能計算器程序展示了如何使用棧來處理復(fù)雜的數(shù)學(xué)表達(dá)式,并提供了用戶友好的交互界面。通過擴(kuò)展這個程序,可以添加更多的功能,比如支持更多的數(shù)學(xué)函數(shù)、提供圖形用戶界面等。NLW28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-70430-0.htmlC++實現(xiàn)多功能計算器

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 簡述 packages.json 中 41 個常用的配置字段,了解一下還挺有用

下一篇: SpringBoot3虛擬線程 &amp; 反應(yīng)式(WebFlux) &amp; 傳統(tǒng)Tomcat線程池性能對比

標(biāo)簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
久久国产婷婷国产香蕉| 亚洲精品视频在线播放| 欧美视频精品在线观看| 欧美性片在线观看| 国产精品外国| 极品尤物av久久免费看| 亚洲人体1000| 亚洲欧美日韩精品久久亚洲区 | 亚洲欧美在线aaa| 欧美影院成人| 免费试看一区| 国产精品成人一区二区三区夜夜夜 | 性久久久久久久久| 你懂的国产精品永久在线| 欧美体内谢she精2性欧美| 国产一区二区三区久久 | 久久久久久成人| 欧美精品福利视频| 国产精品一区二区久久精品| 在线日韩电影| 亚洲专区国产精品| 久久中文精品| 国产精品多人| 亚洲国产91| 香蕉亚洲视频| 欧美极品欧美精品欧美视频| 国产美女精品| 亚洲精品永久免费精品| 欧美在线一区二区| 欧美日韩亚洲一区二区三区四区| 国产一区二区在线免费观看 | 国产农村妇女精品| 亚洲精品少妇| 久久久国产精彩视频美女艺术照福利| 欧美人成网站| 在线日本成人| 香蕉国产精品偷在线观看不卡| 欧美韩日一区二区| 狠狠色狠狠色综合| 亚洲欧美一区二区精品久久久| 欧美激情bt| 精品动漫3d一区二区三区| 亚洲影视在线播放| 欧美精品在欧美一区二区少妇| 国产在线高清精品| 亚洲欧美日韩中文播放| 欧美日韩美女在线观看| 亚洲国产精品t66y| 久久久国产亚洲精品| 国产精品免费一区二区三区观看| 亚洲精品乱码久久久久久按摩观| 久久久久久久久岛国免费| 国产精品入口福利| 一区二区国产在线观看| 免费亚洲电影在线观看| 国外成人免费视频| 欧美在线91| 国产精品私拍pans大尺度在线| 亚洲精品乱码久久久久久黑人| 鲁大师成人一区二区三区| 国模私拍视频一区| 性亚洲最疯狂xxxx高清| 国产精品乱码| 亚洲深夜福利网站| 欧美日韩第一区日日骚| 亚洲人成免费| 欧美成人午夜激情| 亚洲大片免费看| 久久亚洲精品一区| 激情国产一区| 久久久精品999| 国产私拍一区| 欧美一区永久视频免费观看| 国产精品三区www17con| 一本到高清视频免费精品| 欧美二区在线| 亚洲青色在线| 欧美激情视频一区二区三区免费| 在线不卡亚洲| 久久阴道视频| 亚洲二区视频| 免费久久99精品国产自| 亚洲国产精品久久久| 另类av一区二区| 亚洲大胆女人| 欧美岛国激情| 日韩网站在线观看| 欧美日韩国产一区二区| 99精品久久久| 国产精品久久久久久亚洲调教| 亚洲一区二区黄色| 国产精品专区第二| 欧美中日韩免费视频| 国产综合视频在线观看| 久久亚洲精选| 91久久精品国产91性色| 欧美高清视频在线观看| 亚洲精品一区二区三区不| 欧美第一黄色网| 日韩一本二本av| 国产精品久久久久77777| 亚洲主播在线播放| 国产欧美一区二区色老头| 久久福利精品| 在线观看视频日韩| 欧美黄色小视频| 亚洲午夜电影| 国产欧美午夜| 另类成人小视频在线| 亚洲精品123区| 欧美视频精品一区| 午夜精品久久久久久久久| 国产亚洲成精品久久| 久久男人av资源网站| 亚洲精品久久久久| 欧美日韩在线视频一区| 亚洲女同性videos| 国产午夜精品一区理论片飘花| 久久中文在线| 99re6这里只有精品视频在线观看| 欧美日韩一区二| 欧美一区二区三区免费视| 激情一区二区| 欧美日韩精品免费观看| 亚洲欧美美女| 在线成人h网| 欧美日韩亚洲综合一区| 欧美专区在线观看| 亚洲国产视频a| 国产精品久久久久aaaa樱花 | 国产精品久久国产愉拍| 久久久xxx| 日韩午夜激情| 国产亚洲精品7777| 欧美成人午夜| 性欧美超级视频| 91久久午夜| 国产精品爽黄69| 欧美gay视频激情| 亚洲欧美www| 亚洲国产精品毛片| 国产精品久久久久久久久搜平片| 久久久久久69| 一区二区免费在线视频| 国户精品久久久久久久久久久不卡| 欧美精品1区2区3区| 性欧美精品高清| 亚洲激情图片小说视频| 国产精品亚洲综合一区在线观看 | 在线欧美日韩精品| 国产精品视频区| 欧美承认网站| 欧美一区二区视频免费观看| 亚洲欧洲综合| 好吊色欧美一区二区三区四区 | 欧美亚一区二区| 老司机免费视频久久| 亚洲男人第一av网站| 亚洲激情图片小说视频| 国产亚洲激情视频在线| 欧美另类69精品久久久久9999| 欧美在线观看视频一区二区三区| 日韩午夜在线视频| 伊人久久大香线蕉综合热线| 国产精品成人在线| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲欧美日本视频在线观看| 亚洲全部视频| 国内精品久久久久久久果冻传媒 | 最新国产の精品合集bt伙计| 国产视频一区在线观看一区免费| 欧美日韩成人| 米奇777在线欧美播放| 香蕉久久一区二区不卡无毒影院| 亚洲乱码国产乱码精品精98午夜| 国产亚洲午夜| 国产精品久久7| 欧美日韩亚洲国产精品| 欧美大香线蕉线伊人久久国产精品| 欧美一区二区在线看| 亚洲影院在线观看| 夜夜嗨av一区二区三区四季av| 亚洲第一伊人| 激情小说另类小说亚洲欧美| 国产日本欧美一区二区三区| 国产精品va在线播放我和闺蜜| 欧美高清免费| 美女脱光内衣内裤视频久久影院| 久久国产精品一区二区三区| 午夜亚洲性色福利视频| 在线综合亚洲欧美在线视频| 亚洲精品一二| 亚洲精品久久久一区二区三区| 亚洲国产精品福利| 激情一区二区| 国产欧美在线| 国产精品亚洲片夜色在线| 欧美午夜视频| 欧美午夜精品一区| 欧美先锋影音| 欧美天天在线| 国产精品高潮呻吟| 国产精品久久久久毛片大屁完整版| 欧美日韩国产综合网|