c++ - 具有不同类型和操作可供选择的 C++ 计算器

标签 c++ types numbers switch-statement

我将要用 C++ 创建简单的计算器。它应该允许用户选择类型和对两个键入的数字进行操作。所以首先,用户必须从列表中选择数字类型(显示不同类型,如 int、double、short 等)。之后它应该允许你写两个你之前选择的类型。然后最后您需要决定要对这些数字(+、-、/、*)执行什么操作。我的问题是我不知道如何将那些输入的数字从方法中提取到 main() 以便我可以对其进行操作。

#include <iostream>
using namespace std;

int integer()
{
    int number1;
    int number2;
    cout << "First number: " << endl;
    cin >> number1;
    cout << "Second number: " << endl;
    cin >> number2;
}

double doubl()
{
    double number1;
    double number2;
    cout << "First number: " << endl;
    cin >> number1;
    cout << "Second number: " << endl;
    cin >> number2;
}

int main()
{

cout << "Type to choose:" << endl;
cout << "1. int" << endl;
cout << "2. double" << endl;

int choosed;
cin >> choosed;


switch(choosed) {
    case 1:
        integer();
        break;
    case 2:
        doubl();
        break;
    default:
        cout << "Error" << endl;
        break;
}

cout << "What operation would like to do on this numbers?" << endl;
cout << "1. +" << endl;
cout << "2. -" << endl;
cout << "3. *" << endl;
cout << "4. /" << endl;

int result;

switch(result){ //at this point i don't know how to invoke those numbers from      methods
    case 1:  
}

cin.get();
}

谢谢!

最佳答案

你可以从你的函数中返回一个std::pair

std::pair<double,double> doubl()
{
  ...
  return std::make_pair(number1,number2);
}

然后使用它

std::pair<double,double> nums = doubl();
double res = nums.first <operation> nums.second;

如果您对此感到满意,我建议您考虑使用模板来创建您的阅读功能。

关于c++ - 具有不同类型和操作可供选择的 C++ 计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323900/

相关文章:

python - 变量不起作用......或者我遗漏了什么?

c++ - 流操纵器如何工作?

java - 在 JDK6 而不是 7 下编译的相互自引用类型参数?

python - 在 Python 中声明一个数字。可能强调千?

types - 将 Variant 转换为正确类型的正确方法是什么?

javascript - 在 GAS Web 编辑器中输入符号

java - 是什么导致我的结果打印结果与应有的相反?

c++ - 如何找到覆盖有向循环图中所有节点的最短路径?

c++ - Qt-使用getline函数

c++ - 在 C++ 中读取二进制文件时丢失数据