无限制输入的c++计算器

C++ Calculator With Unlimited Inputs

本文关键字:计算器 c++ 输入 无限制      更新时间:2023-10-16

嗨,我是c++语言的初学者,我想知道是否有任何方法可以编写无限输入的程序。我想写一个计算器程序来做加法。这很简单,但有没有一种方法可以让用户随心所欲地添加数字,而不会被问到他想要多少个数字。这样,如果他想加三个数字,他可以输入"1+1+1",或者如果他想加四个数字,他在前一行的末尾加上"+1"。这样,用户就不会被固定的输入数量所束缚,也就不需要问他想要多少个输入。我需要知道c++中的哪些函数才能做到

可以使用while循环从标准输入中读取数据。(std::cin)从while循环中读取并将输入添加到sum中的一些基本代码如下:

#include <iostream>
#include <string>
#include <cstdlib>
int main(){
    std::string line = "";
    double sum = 0.0;
    while(line != "end"){
        std::cout<<"The current sum is: "<<sum<<std::endl;
        std::cout<<"Enter the number you would like to add or "end" to exit: ";
        std::cin>>line;
        sum += atof(line.c_str());
    }
    std::cout<<"The final sum is: "<<sum<<std::endl;
}

这将读取数字,直到它接收到输入"end"。

对于包含中缀操作符的表达式的解析和求值,没有什么比分流场算法更简单的了。

在c++中实现这一点与其他提供堆栈和队列的容器库(或内置支持)的语言几乎没有什么不同。这里,你要用std::stackstd::queue。程序的输入可以是一行(包含用户键入的表达式),从std::cin(标准输入,或控制台)读取到std::string

这不仅允许任何合理长度的表达式,而且还可以正确处理任意嵌套的带括号的子表达式、特殊函数的求值和自定义操作符。

是。这是可能的。您可以使用vectorint s。获取用户输入并计算vector中元素的和。把这个放到循环中,这就是你想要的。

try this:

#include <iostream>
int main (int argc, char *argv[])
{
    for (int i = 0; i < argc; i++)
        std::cout << "argument " << i << " is " << argv[i] << std::endl;
    return 0;
}