C++;计算器程序 我对C++很了解。我正在写一个主要基于向量的计算器。我希望每个操作都有一个向量,如果调用以下操作之一,值将由关联的向量操纵。 问题 1.我的过程正确吗?我走对了吗? 2.我是否需要一种输入和检查char和int的替代方法 #include <stdio.h> #include <iostream> #include <vector> #include <numeric> #include <string> #include <functional> using namespace std; vector <int> addition; vector <int> subtraction; vector <int> division; vector <int> multiplication; char operation; int input; int main() { cout << "Welcome to my Calculator Program" << endl; cout << "Enter your calculation: "; void operation(); return 0; } void operation() { cin >> operation; switch (operation) { case '+': addition.push_back(input); break; case '-': subtraction.push_back(input); break; case '/': division.push_back(input); break; case '*': multiplication.push_back(input); break; default: cout << "You have entered an invalid operation" << endl; } } int add(vector <int> addition) { for (int i; i > addition.size(); i++) { int sum = std::accumulate(addition.begin(), addition.end(), 0); } return sum; } int sub(vector <int> subtraction) { for (int i; i > subtraction.size(); i++) { } } #包括 #包括 #包括 #包括 #包括 #包括 使用名称空间std; 矢量加法; 向量减法; 向量划分; 向量乘法; 字符操作; int输入; int main(){ cout

C++;计算器程序 我对C++很了解。我正在写一个主要基于向量的计算器。我希望每个操作都有一个向量,如果调用以下操作之一,值将由关联的向量操纵。 问题 1.我的过程正确吗?我走对了吗? 2.我是否需要一种输入和检查char和int的替代方法 #include <stdio.h> #include <iostream> #include <vector> #include <numeric> #include <string> #include <functional> using namespace std; vector <int> addition; vector <int> subtraction; vector <int> division; vector <int> multiplication; char operation; int input; int main() { cout << "Welcome to my Calculator Program" << endl; cout << "Enter your calculation: "; void operation(); return 0; } void operation() { cin >> operation; switch (operation) { case '+': addition.push_back(input); break; case '-': subtraction.push_back(input); break; case '/': division.push_back(input); break; case '*': multiplication.push_back(input); break; default: cout << "You have entered an invalid operation" << endl; } } int add(vector <int> addition) { for (int i; i > addition.size(); i++) { int sum = std::accumulate(addition.begin(), addition.end(), 0); } return sum; } int sub(vector <int> subtraction) { for (int i; i > subtraction.size(); i++) { } } #包括 #包括 #包括 #包括 #包括 #包括 使用名称空间std; 矢量加法; 向量减法; 向量划分; 向量乘法; 字符操作; int输入; int main(){ cout,c++,vector,C++,Vector,我觉得你的思路是对的。要回答你的第二个问题,不,cin>>变量;自动尝试将用户输入转换为变量的类型 这个程序的主要问题是它不会遵循操作顺序,这使得它作为一个计算器非常无用 执行void operation();时,您不是在调用operation();而是在声明它。除了编译器警告之外,不会发生任何事情 std::acculate()的全部思想是避免在向量或数组中循环!如果确实需要这些循环,请重新评估 修正你的缩进。现在的方式让你很难理解程序的流程。检查: 如果可以避免,就不要使用全局变量,在这种情

我觉得你的思路是对的。要回答你的第二个问题,不,
cin>>变量;
自动尝试将用户输入转换为
变量的类型

这个程序的主要问题是它不会遵循操作顺序,这使得它作为一个计算器非常无用

执行
void operation();
时,您不是在调用
operation()
;而是在声明它。除了编译器警告之外,不会发生任何事情

std::acculate()的全部思想是避免在向量或数组中循环!如果确实需要这些循环,请重新评估

修正你的缩进。现在的方式让你很难理解程序的流程。检查:

如果可以避免,就不要使用全局变量,在这种情况下你肯定可以。在这个程序中,这并不重要,但这是一个非常坏的习惯

您正在
使用名称空间std
,但仍然将事物称为
std::whatever
。这是多余的

<>我想你应该回到教科书上,通过一些简单的例子来学习。你的逻辑是(大部分)是正确的,但是你缺乏语法的理解。这没什么可羞愧的。C++是硬的,正如你所说,你是新的,但你在学习任何比基本的例子更复杂的东西之前,确实需要理解。
祝你好运!

我看你的思路是对的。要回答你的第二个问题,不,
cin>>variable;
自动尝试将用户输入转换为
变量的类型

这个程序的主要问题是它不会遵循操作顺序,这使得它作为一个计算器非常无用

执行
void operation();
时,您不是在调用
operation()
;而是在声明它。除了编译器警告之外,不会发生任何事情

std::acculate()的全部思想是避免在向量或数组中循环!如果确实需要这些循环,请重新评估

修正你的缩进。现在的方式让你很难理解程序的流程。检查:

如果可以避免,就不要使用全局变量,在这种情况下你肯定可以。在这个程序中,这并不重要,但这是一个非常坏的习惯

您正在
使用名称空间std
,但仍然将事物称为
std::whatever
。这是多余的

<>我想你应该回到教科书上,通过一些简单的例子来学习。你的逻辑是(大部分)是正确的,但是你缺乏语法的理解。这没什么可羞愧的。C++是硬的,正如你所说,你是新的,但你在学习任何比基本的例子更复杂的东西之前,确实需要理解。
祝你好运!

void operation();
不调用任何函数。相反,它声明了一个函数-并且什么也没有发生。我想,你需要回到书本上。
for(int I;I>subtraction.size();I++)
-
i
此处没有给定值,可以是任何值。请确保初始化为值!
字符操作;
无效操作()
-使用不同的名称最后,您从未初始化或读入
输入
,因此
。推回(输入)
将一个未定义的值放入向量。
void operation();
不调用任何函数。相反,它声明了一个函数,并且什么也没有发生。我想,您需要回到书本上。
for(int I;I>减法.size();I++)
-
i
此处没有给定值,可以是任何值。请确保已初始化为值!
char操作;
void操作()
-使用不同的名称最后,您从未初始化或读入
input
,因此
。推回(input)
将未定义的值放入向量中。“看起来你走在正确的轨道上[除了以下所有你做错的事情]"当然,他们可能在概念上是正确的,但是对语言的理解确实需要工作……但是,正如你所说,这不是问题,因为我们大多数人在这个阶段都在学习。我确实认为OP比我看到的许多其他C++学习者更好地开始了。谢谢你的反馈。m、 我将只读取一个cin来收集这两种数据类型,对吗?我可能还可以通过堆栈操作数组来添加操作顺序。operation()是没有意义的。我有点时间紧迫,因为明天就要到了。我怎么才能让add函数执行呢?到目前为止我还不能这么做。还有,其他操作是否也有类似的累积操作?谢谢你需要一个
cin>
操作来处理每种数据类型。老实说,我只需要使用一个while循环:make a ve“如果我的答案是你需要知道的,你能接受吗?这样我就可以得到分数了?谢谢:)“看起来你走在正确的轨道上[除了以下所有你做错的事情]”。当然,他们在概念上可能是在正确的轨道上,但对语言的理解确实需要努力……然而,正如你所说,这是没有问题的,正如它发生的那样