0

我是 C++ 新手,我写了我的第一个“真正的”程序(一个简单的四操作计算器)。当我编译它时,我得到了 12 个编译器错误。我能够解决一些问题(缺少分号等),但其中有 7 个拒绝离开。错误和我的代码在这里:

错误:

    15 error: 'cout' was not declared in this scope
    15 error: 'endl' was not declared in this scope
    21 error: 'GetNumber' was not declared in this scope
    24 error: 'GetOperator' was not declared in this scope
    29 error: 'nAnswer' was not declared in this scope
    33 error: 'AskContinue' was not declared in this scope
    35 error: 'bContinue' was not declared in this scope

主文件

    //Four-operation calculator
    //© Olli Utriainen 2013

    #include <iostream>
    //Header with functions GetNumber(), GetOperator() and AskContinue()
    #include "calculator.h"

    using namespace std;

    int main()
    {
        //Main loop's condition
        bool bContinue = false;

        cout << "Welcome to Olli's calculator!" << endl << endl;

        //Main loop
       do
        {
            cout << "Give first number" << endl;
            int nNumber1 = GetNumber();

            cout << "Give operator (+,-,*,/)" << endl;
            char cOperator = GetOperator();

            cout << "Give second number" << endl;
            int nNumber2 = GetNumber();

            nAnswer = nNumber1 + nNumber2;

            cout << nNumber1 << " " << cOperator << " " <<
            nNumber2 << " = " << nAnswer << endl;

            bContinue = AskContinue();

        } while (bcontinue);

        return 0;
    }

头文件.h

    //Headers for the calculator
    //© Olli Utriainen 2013

    #ifndef CALCULATOR_H_INCLUDED
    #define CALCULATOR_H_INCLUDED

   //Function for inputting numbers
   int GetNumber()

   //Function for inputting a mathematical operator (+,-,*,/)
   char GetOperator()

   //Function for asking Continue Yes/No
   bool AskContinue()

   #endif // CALCULATOR_H_INCLUDED

函数.cpp

   //Functions for the calculator
   //© Olli Utriainen 2013

   #include <iostream>

   using namespace std;

   //Function for inputting numbers
   int GetNumber()
   {
       int nNumber

       cin >> nNumber;

       return nNumber
   }

   //Function for inputting a mathematical operator (+,-,*,/)
   int GetOperator()
   {
       char cOperator
       bool bValidOperator = false;

       //Do-while loop for checking if given operator
       //is valid (+,-,*,/). If invalid, bValidOperator
       //is changed to false ->loop will break and the
       //given operator is returned
       do
       {
           cin >> cOperator;

           if (cOperator == '+' || '-' || '*' || '/')
               {
                   bValidOperator = true;
               }
           else
               {
                   bValidOperator = false;
                   cout << "Invalid operator" << endl;
               }


       } while (!bValidOperator)

       return cOperator;

   }

   //Function for asking Continue Yes/No
   bool AskContinue()
   {
       cout << "New calculation? Y/N" << endl;

       bool bContinue = false;
       if (cin >> 'Y' || 'y')
           {
               bContinue = true;
           }
       if (cin >> 'N' || 'n')
           {
               bContinue = false;
           }
       return bcontinue;
   }
4

2 回答 2

2

标题中函数声明的分号?哦,实际上很多分号不见了。确保在需要的地方插入它们,然后重试。

于 2013-04-12T16:39:26.180 回答
1

很多错字;大量分号丢失;

在calculator.cpp 中,你应该#include "calculator.h"

在 bool AskContinue() 中它应该是:

{
cout << "New calculation? Y/N" << endl;
bool bContinue = false;
char choice;
cin >> choice;
if ((choice == 'Y')||(choice == 'y'))
{
   bContinue = true;
}
   if ((choice == 'N')||(choice == 'n'))
{
   bContinue = false;
}
   return bContinue;
}

这些是我现在能找到的。

于 2013-04-12T19:10:29.450 回答