欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++實現(xiàn)加減乘除計算器

 更新時間:2022年01月28日 09:20:33   作者:多壹  
這篇文章主要為大家詳細介紹了C++實現(xiàn)加減乘除計算器,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下<BR>

本文實例為大家分享了C++實現(xiàn)加減乘除計算器的具體代碼,供大家參考,具體內(nèi)容如下

#include <iostream>
#include <conio.h>
#include <string>
void main()
{
?? ?char str[0xFF];
?? ?do
?? ?{
?? ??? ?system("cls");
?? ??? ?float a{};
?? ??? ?float b{};
?? ??? ?int count = 1;
?? ??? ?int isOperating = -1;
?? ??? ?bool isFirst = true;
?? ??? ?std::string text{ "按任意鍵重置,繼續(xù)計算\n" };
?? ??? ?std::cout << "------計算機------\n";
?? ??? ?std::cout << "請輸入加減乘除:";
?? ??? ?std::cin >> str;
?? ??? ?for (int i = strlen(str) - 1; i >= 0; i--)
?? ??? ?{
?? ??? ??? ?float* num = isFirst ? &b : &a;
?? ??? ??? ?switch (str[i])
?? ??? ??? ?{
?? ??? ??? ?case '*':
?? ??? ??? ??? ?isOperating = 0;
?? ??? ??? ??? ?break;
?? ??? ??? ?case '/':
?? ??? ??? ??? ?isOperating = 1;
?? ??? ??? ??? ?break;
?? ??? ??? ?case '+':
?? ??? ??? ??? ?isOperating = 2;
?? ??? ??? ??? ?break;
?? ??? ??? ?case '-':
?? ??? ??? ??? ?isOperating = 3;
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?if (!isFirst&&!isdigit(str[i])&& str[i]<=127&& str[i]>=0)
?? ??? ??? ?{
?? ??? ??? ??? ?isOperating = 4;
?? ??? ??? ??? ?text = "暫只支持正整數(shù)加減乘除,不能輸入中文,其他符號或運算符\n按任意鍵重新輸入\n";
?? ??? ??? ??? ?break;
?? ??? ??? ?}
?? ??? ??? ?if (isOperating != -1 && count != 1 && isFirst)
?? ??? ??? ?{
?? ??? ??? ??? ?isFirst = false;
?? ??? ??? ??? ?count = 1;
?? ??? ??? ??? ?if (i == 0 || i == strlen(str) - 1)
?? ??? ??? ??? ?{
?? ??? ??? ??? ??? ?isOperating = 4;
?? ??? ??? ??? ??? ?break;
?? ??? ??? ??? ?}
?? ??? ??? ??? ?continue;
?? ??? ??? ?}
?? ??? ??? ?*num += ((int)str[i] - 48) * count;
?? ??? ??? ?count *= 10;
?? ??? ?}
?? ??? ?switch (isOperating)
?? ??? ?{
?? ??? ?case 0:
?? ??? ??? ?std::cout << "結果為:" << a * b << std::endl;
?? ??? ??? ?break;
?? ??? ?case 1:
?? ??? ??? ?if (a == 0)
?? ??? ??? ??? ?text = "除數(shù)不能為0\n按任意鍵重置,繼續(xù)計算\n";
?? ??? ??? ?else
?? ??? ??? ??? ?std::cout << "結果為:" << a / b << std::endl;
?? ??? ??? ?break;
?? ??? ?case 2:
?? ??? ??? ?std::cout << "結果為:" << a + b << std::endl;
?? ??? ??? ?break;
?? ??? ?case 3:
?? ??? ??? ?std::cout << "結果為:" << a - b << std::endl;
?? ??? ??? ?break;
?? ??? ?default:
?? ??? ??? ?text = text == "按任意鍵重置,繼續(xù)計算\n" ? "錯誤格式,按任意鍵重新輸入\n" : text;
?? ??? ?}
?? ??? ?std::cout << text;
?? ??? ?_getch();
?? ?} while (true);
}

用string接受做太簡單了,用char數(shù)組比較好玩

#include<iostream>
using namespace std;

int main()
{
? ?double a,b;
? ?char op;
? ?cout << "enter a" << endl;
? ?cin >> a;
? ?cout << "enter operator" << endl;
? ?cin >> op;
? ?cout << "enter b" << endl;
? ?cin >> b;
? ?double result;
? ?if (op=='+')
? ?{
? ? ? result = a + b;
? ?}
? ?else if (op=='-')
? ?{
? ? ? result = a-b;
? ?}
? ?else if (op=='*')
? ?{
? ? ? result = a*b;
? ?}
? ?else if (op=='/'){
? ? ? if (b==0){
? ? ? ? ?cout << "cannot devided by 0\n";
? ? ? ? ?return 0;

? ? ? }
? ? ? else{
? ? ? ? ?result =a/b;
? ? ? }
? ?}
? ?else
? ?{
? ? ? cout << "invalid operator\n";
? ? ? return 0;
? ?}

? ?cout << "result is " << result << endl;
? ?return 0;
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • 一起來看看C語言線性表的線性鏈表

    一起來看看C語言線性表的線性鏈表

    這篇文章主要為大家詳細介紹了C語言線性表的線性鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02
  • 深入C++實現(xiàn)函數(shù)itoa()的分析

    深入C++實現(xiàn)函數(shù)itoa()的分析

    本篇文章是對C++實現(xiàn)函數(shù)itoa()進行了詳細的分析介紹,需要的朋友參考下
    2013-05-05
  • linux下access函數(shù)的用法介紹

    linux下access函數(shù)的用法介紹

    access檢查用戶對一個文件的權限情況,根據(jù)mode的值檢查調(diào)用進程對文件pathname是否具有讀、寫、或執(zhí)行的權限
    2013-08-08
  • C語言文件操作詳解以及詳細步驟

    C語言文件操作詳解以及詳細步驟

    文件(file)一般指存儲在外部介質(zhì)上數(shù)據(jù)的集合,比如我們經(jīng)常使用的.txt,?.bmp,?jpg.?.exe,.rmvb等等,下面這篇文章主要給大家介紹了關于C語言文件操作的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • C++中strlen(),sizeof()與size()的區(qū)別

    C++中strlen(),sizeof()與size()的區(qū)別

    本文主要介紹了C++中strlen(),sizeof()與size()的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • C++入門之vector使用詳解

    C++入門之vector使用詳解

    這篇文章主要為大家介紹了C++入門之vector使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 基于John Carmark密碼詳解

    基于John Carmark密碼詳解

    本篇文章對John Carmark密碼進行了分析介紹。需要的朋友參考下
    2013-05-05
  • C++ 智能指針的模擬實現(xiàn)實例

    C++ 智能指針的模擬實現(xiàn)實例

    這篇文章主要介紹了C++ 智能指針的模擬實現(xiàn)實例的相關資料,智能指針是一個類,它把普通指針封裝起來,能實現(xiàn)和普通指針同樣的功能。,需要的朋友可以參考下
    2017-07-07
  • Qt實現(xiàn)密碼框

    Qt實現(xiàn)密碼框

    這篇文章主要為大家詳細介紹了Qt實現(xiàn)密碼框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • COLORREF,COLOR,RGB,CString的轉化總結分析

    COLORREF,COLOR,RGB,CString的轉化總結分析

    實際的軟件開發(fā)過程中,常需要用到非.net平臺的代碼。這時候就可能碰到ColorRef(也就是以int類型代表的顏色值或是以DWORD值表示的顏色)。這跟.net平臺下的顏色的相互轉換MS并沒有直接實現(xiàn)
    2013-09-09

最新評論