当一个函数完成另一个函数打开时我该怎么办?

时间:2017-07-04 15:52:25

标签: c++ if-statement return codeblocks calculator

我遇到了问题。我试图制作一个普通的计算器和形状的面积和周边取景器。它是一个组合。我没有开始使用我的Shape& Area和Perimeter Finder。这是我的main.cpp。

 #include <iostream>
 #include <string>
 #include "AAPO.h" // Its a Header File.

using namespace std;

void Calculators_Operation();

int main()
{
    string opera;
    cout << "Do you want Arithmetic Calculator or Area and Perimeter Calculator" 
    << endl;

    cin >> opera;
    if (opera == "Arithmetic Calculator" or "arithmetic calculator" or "AC")
    {
        Calculators_Operation();
    }
    return 0;
}

这是我的操作选择器。

#include <iostream>
#include <string>
#include "Arithmetic Chooser.h"

using namespace std;

void Calculators_Addition();
void Calculators_Subtraction();
void Calculators_Multiplication();
void Calculators_Division();

void Calculators_Operation()
{
    string answera;
    cout << "What Operation do you Want?" << endl;
    cin >> answera;
    if (answera == "Addition" or "addition" or "+");
    {
        Calculators_Addition();
    };
    if (answera == "Subtraction" or "subtraction" or "-");
    {
        Calculators_Subtraction();
    };
    if (answera == "Multiplication" or "multiplication" or "*" or "x" or "X")
    {
        Calculators_Multiplication();
    };
    if (answera == "Division" or "division" or "/")
    {
        Calculators_Division();
    };
    return;
}

这是我的AAPO.h。

#ifndef AAPO_H_INCLUDED
#define AAPO_H_INCLUDED

void Calculators_Operation();

#endif // AAPO_H_INCLUDED

我的补充。

#include <iostream>
#include <string>

using namespace std;

void calculators_Addition_2();
void calculators_Addition_3();
void calculators_Addition_4();
void calculators_Addition_5();

void Calculators_Addition()
{
    //ADDITION COMPLETE
    string numberadd;
    cout << "How much numbers do you want?" << endl;
    cin >> numberadd;
    if (numberadd == "2")
    {
        calculators_Addition_2();
        return;
    };
    if (numberadd == "3")
    {
        calculators_Addition_3();
        return;
    };
    if (numberadd == "4")
    {
        calculators_Addition_4();
        return;
    };
    if (numberadd == "5")
    {
        calculators_Addition_5();
        return;
    }
}

void calculators_Addition_2()
{
    int add11;
    int add12;
    int sum;
    cout << "Enter the first number" << endl;
    cin >> add11;
    cout << "Enter the second number" << endl;
    cin >> add12;
    sum = add11 + add12;
    cout << "The sum of the numbers are " << sum << endl;
    return;
}

void calculators_Addition_3()
{
    int add13;
    int add23;
    int add33;
    int sum2;
    cout << "Enter the First Number" << endl;
    cin >> add13;
    cout << "Enter the Second Number" << endl;
    cin >> add23;
    cout << "Enter the Third Number" << endl;
    cin >> add33;
    sum2 = add13 + add23 + add33;
    cout << "The Sum of the Numbers are " << sum2 << endl;
    return;
}

void calculators_Addition_4()
{
    int add14;
    int add24;
    int add34;
    int add44;
    int sum3;
    cout << "Enter the First Number" << endl;
    cin >> add14;
    cout << "Enter the Second Number" << endl;
    cin >> add24;
    cout << "Enter the Third Number" << endl;
    cin >> add34;
    cout << "Enter the Fourth Number" << endl;
    cin >> add44;
    sum3 = add14 + add24 + add34 + add44;
    cout << "The Sum of the Numbers are " << sum3 << endl;
    return;
}

void calculators_Addition_5()
{
    int a15;
    int a25;
    int a35;
    int a45;
    int a55;
    int sum4;
    cout << "Enter the First Number" << endl;
    cin >> a15;
    cout << "Enter the Second Number" << endl;
    cin >> a25;
    cout << "Enter the Third Number" << endl;
    cin >> a35;
    cout << "Enter the Fourth Number" << endl;
    cin >> a45;
    cout << "Enter the Fifth Number" << endl;
    cin >> a55;
    sum4 = a15 + a25 + a35 + a45 + a55;
    cout << "The Sum of the Numbers are " << sum4 << endl;
    return;
}

我的减法。

#include <iostream>

using namespace std;

void Calculators_Subtraction()
{
    int subractify;
    int subracta;
    int differencea;
    cout << "Type in the First Number!" << endl;
    cin >> subractify;
    cout << "Type in the Second Number!" << endl;
    cin >> subracta;
    differencea = subractify - subracta;
    cout << "The Difference is " << differencea << endl;
    return;
}

我的乘法。

#include <iostream>
#include <string>

using namespace std;

void Calculators_Multiplication_2();
void Calculators_Multiplication_3();
void Calculators_Multiplication_4();
void Calculators_Multiplication_5();

void Calculators_Multiplication()
{
    string multicipia;
    cout << "How much numbers do you want?" << endl;
    cin >> multicipia;
    if (multicipia == "2" or "Two" or "two")
    {
        Calculators_Multiplication_2();
    };
    if (multicipia == "3" or "Three" or "three")
    {
        Calculators_Multiplication_3();
    };
    if (multicipia == "4" or "Four" or "four")
    {
        Calculators_Multiplication_4();
    };
    if (multicipia == "5" or "Five" or "five")
    {
        Calculators_Multiplication_5();
    };
    return;
}

void Calculators_Multiplication_2()
{
    int multi2a;
    int multi2b;
    int product2;
    cout << "Type in the First Number." << endl;
    cin >> multi2a;
    cout << "Type in the Second Number." << endl;
    cin >> multi2b;
    product2 = multi2a * multi2b;
    cout << "The Product is " << product2 << "." << endl;
    return;
}

void Calculators_Multiplication_3()
{
    int multi3a;
    int multi3b;
    int multi3c;
    int product3;
    cout << "Enter the First Number!" << endl;
    cin >> multi3a;
    cout << "Enter the Second Number!" << endl;
    cin >> multi3b;
    cout << "Enter the Third Number!" << endl;
    cin >> multi3c;
    product3 = multi3a * multi3b * multi3c;
    cout << "The Product is" << product3 << "." << endl;
    return;
}

void Calculators_Multiplication_4()
{
    int multi4a;
    int multi4b;
    int multi4c;
    int multi4d;
    int product4;
    cout << "Enter the First Number!" << endl;
    cin >> multi4a;
    cout << "Enter the Second Number!" << endl;
    cin >> multi4b;
    cout << "Enter the Third Number!" << endl;
    cin >> multi4c;
    cout << "Enter the Fourth Number!" << endl;
    cin >> multi4b;
    product4 = multi4a * multi4b * multi4c * multi4d;
    cout << "The Product of the Numbers are " << product4 << "!" << endl;
    return;
}

void Calculators_Multiplication_5()
{
    int multi5a;
    int multi5b;
    int multi5c;
    int multi5d;
    int multi5e;
    int product5;
    cout << "Enter the First Number!" << endl;
    cin >> multi5a;
    cout << "Enter the Second Number!" << endl;
    cin >> multi5b;
    cout << "Enter the Third Number!" << endl;
    cin >> multi5c;
    cout << "Enter the Fourth Number!" << endl;
    cin >> multi5d;
    cout << "Enter the Fifth Number!" << endl;
    cin >> multi5e;
    product5 = multi5a * multi5b * multi5c * multi5d * multi5e;
    cout << "The Product of the Numbers are" << product5 << "!" << endl;
    return;
}

我的部门。

#include <iostream>

using namespace std;

void Calculators_Division()
{
    float divisia;
    float divisiab;
    float quotient;
    cout << "Enter the Divisor" << endl;
    cin >> divisia;
    cout << "Enter the Dividend" << endl;
    cin >> divisiab;
    quotient = divisia / divisiab;
    cout << "The Quotient of the Numbers are " << quotient << endl;
    return;
}

现在的问题是,当添加完成时,减法开始。减法后,乘法。乘法后,除法。之后程序结束。对不起它只是我对编程的新手(比如一个月)。

1 个答案:

答案 0 :(得分:0)

有许多事情需要改进(其中一些已在评论中提及),但您问题的确切答案是:

  • 你在Calculators_Operation()函数体中的if语句行后面有分号,这使得if语句无用且你的&#34;操作&#34;每次调用函数(你已经注意到的)。
  • 你使用&#34;或&#34;操作员的方式不正确,如果你使用(answera ==&#34;加上&#34;或&#34; +&#34;),你基本上说:((answera ==&#34;加法)或&# 34; +&#34;)并且评估为真(见here

编辑: 您的函数Calculators_Operation可能会更改为:

void Calculators_Operation()
{
   string answera;
   cout << "What Operation do you Want?" << endl;
   cin >> answera;

   if (answera == "Addition" || answera == "addition" || answera == "+")
   {
       Calculators_Addition();
   }
   else if (answera == "Subtraction" || answera == "subtraction" || answera == "-")
   {
       Calculators_Subtraction();
   }
   else if (answera == "Multiplication" || answera == "multiplication" || answera == "*" || answera == "x" || answera == "X")
   {
       Calculators_Multiplication();
   }
   else if (answera == "Division" || answera == "division" || answera == "/")
   {
       Calculators_Division();
   } else {
     cout << "Unknown operation entered!" << endl;
   }
}

注意:根据此功能,所有if语句都需要更改

如果有任何不起作用,请在评论中添加确切无效的内容或使用新的代码发布和问题编辑您的问题。