最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文實(shí)例為大家分享了C++實(shí)現(xiàn)加減乘除計(jì)算器的具體代碼,供大家參考,具體內(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ù)計(jì)算\n" };
?? ??? ?std::cout << "------計(jì)算機(jī)------\n";
?? ??? ?std::cout << "請(qǐng)輸入加減乘除:";
?? ??? ?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ù)加減乘除,不能輸入中文,其他符號(hào)或運(yùn)算符\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 << "結(jié)果為:" << a * b << std::endl;
?? ??? ??? ?break;
?? ??? ?case 1:
?? ??? ??? ?if (a == 0)
?? ??? ??? ??? ?text = "除數(shù)不能為0\n按任意鍵重置,繼續(xù)計(jì)算\n";
?? ??? ??? ?else
?? ??? ??? ??? ?std::cout << "結(jié)果為:" << a / b << std::endl;
?? ??? ??? ?break;
?? ??? ?case 2:
?? ??? ??? ?std::cout << "結(jié)果為:" << a + b << std::endl;
?? ??? ??? ?break;
?? ??? ?case 3:
?? ??? ??? ?std::cout << "結(jié)果為:" << a - b << std::endl;
?? ??? ??? ?break;
?? ??? ?default:
?? ??? ??? ?text = text == "按任意鍵重置,繼續(xù)計(jì)算\n" ? "錯(cuò)誤格式,按任意鍵重新輸入\n" : text;
?? ??? ?}
?? ??? ?std::cout << text;
?? ??? ?_getch();
?? ?} while (true);
}

用string接受做太簡(jiǎn)單了,用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;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語(yǔ)言實(shí)現(xiàn)JSON解析器的方法步驟

    C語(yǔ)言實(shí)現(xiàn)JSON解析器的方法步驟

    JSON是一種非常流行的數(shù)據(jù)格式,本文主要介紹了C語(yǔ)言實(shí)現(xiàn)JSON解析器的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • C++類模板與函數(shù)模板基礎(chǔ)詳細(xì)講解

    C++類模板與函數(shù)模板基礎(chǔ)詳細(xì)講解

    C++語(yǔ)言的模板技術(shù)包括函數(shù)模板和類模板,模板技術(shù)是一種代碼重用技術(shù),函數(shù)和類是C++語(yǔ)言中兩種主要的重用代碼形式,這篇文章主要介紹了C++函數(shù)模板和類模板,需要的朋友可以參考下
    2022-08-08
  • C語(yǔ)言聯(lián)合體Union特點(diǎn)及運(yùn)用全面講解教程

    C語(yǔ)言聯(lián)合體Union特點(diǎn)及運(yùn)用全面講解教程

    這篇文章主要為大家介紹了C語(yǔ)言聯(lián)合體Union特點(diǎn)及運(yùn)用的全面講解教程有需要深度朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-10-10
  • C語(yǔ)言詳細(xì)分析講解流程控制語(yǔ)句用法

    C語(yǔ)言詳細(xì)分析講解流程控制語(yǔ)句用法

    C語(yǔ)言語(yǔ)句的執(zhí)行默認(rèn)順序執(zhí)行(從上往下依次執(zhí)行),編程語(yǔ)言一般除了默認(rèn)的順序執(zhí)行以外,還提供分支執(zhí)行和循環(huán)執(zhí)行的語(yǔ)法,讓我們一起來看看
    2022-05-05
  • C++ cmake實(shí)現(xiàn)日志類的示例代碼

    C++ cmake實(shí)現(xiàn)日志類的示例代碼

    CMake是一個(gè)跨平臺(tái)的安裝(編譯)工具,可以用簡(jiǎn)單的語(yǔ)句來描述所有平臺(tái)的安裝(編譯過程)。本文就來利用cmake實(shí)現(xiàn)日志類,感興趣的小伙伴可以了解一下
    2023-03-03
  • C語(yǔ)言實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法

    C語(yǔ)言實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法

    這篇文章主要介紹了C語(yǔ)言實(shí)現(xiàn)在windows服務(wù)中新建進(jìn)程的方法,涉及C語(yǔ)言進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • C語(yǔ)言實(shí)現(xiàn)合并字符串

    C語(yǔ)言實(shí)現(xiàn)合并字符串

    今天小編就為大家分享一篇C語(yǔ)言實(shí)現(xiàn)合并字符串,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C++中const的用法詳細(xì)總結(jié)

    C++中const的用法詳細(xì)總結(jié)

    以下是對(duì)C++中const的用法進(jìn)行了詳細(xì)的總結(jié)分析,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2013-09-09
  • MFC設(shè)置對(duì)話框焦點(diǎn)的方法簡(jiǎn)述

    MFC設(shè)置對(duì)話框焦點(diǎn)的方法簡(jiǎn)述

    這篇文章主要介紹了MFC設(shè)置對(duì)話框焦點(diǎn)的方法簡(jiǎn)述,主要講述了兩種實(shí)現(xiàn)方法,需要的朋友可以參考下
    2014-10-10
  • C/C++實(shí)現(xiàn)蛇形矩陣的示例代碼

    C/C++實(shí)現(xiàn)蛇形矩陣的示例代碼

    本文主要介紹了C/C++實(shí)現(xiàn)蛇形矩陣的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評(píng)論

拉萨市| 兴安县| 平山县| 临漳县| 手游| 永丰县| 佛学| 安西县| 周口市| 铜陵市| 进贤县| 望江县| 兴宁市| 巴南区| 金堂县| 彰化县| 永善县| 犍为县| 白水县| 黔西县| 城固县| 古田县| 东明县| 武宁县| 墨玉县| 昌邑市| 呼图壁县| 郑州市| 玉树县| 思茅市| 青田县| 荆门市| 赞皇县| 定远县| 灵武市| 锦州市| 遵化市| 高淳县| 余江县| 乐陵市| 桃园县|