function is x/y+z means (x/y)+z
if you dont write to Z anything
program says "ERROR: Operator-operand imbalance."
program is that as it is above

and my code is

#include <iostream>
using namespace std;
class Calculator
{
      int x,y,z;
      public:
             void arith_ex(int,int,int);
      };
      
      void Calculator::arith_ex(int x,int y,int z)
      {
               cout<<"X="<<endl;
               cin>>x;
               cout<<"Y="<<endl;
               cin>>y;
               cout<<"Z="<<endl;
               cin>>z;
               if(z==' ')
               {cout<<"ERROR: Operator-operand imbalance."<<endl;
               }
           cout<<"Sonuc="<<x/y+z<<endl;
           }
    
        
           
           int main()
           {
               Calculator hesap;
               
               hesap.arith_ex(int x,int y ,int z); //expected primary expression before 'int'//
              
               return 0;
               }


ERRORS--> error C2144: syntax error : missing ')' before type 'int'
error C2660: 'arith_ex' : function does not take 0 parameters
error C2059: syntax error : ')'

Recommended Answers

All 5 Replies

You don't specify the types when you call the function. hesap.arith_ex(x,y , z); But you also have no x,y,z to pass to the function either.

You have declared variables x,y,z as members of the class and also as parameter values of the function arith_ex do something like this

void Calculator::arith_ex(int x,int y,int z)
      {
               if(z==' ')
               {cout<<"ERROR: Operator-operand imbalance."<<endl;
               }
           cout<<"Sonuc="<<x/y+z<<endl;
           }

and call the function as

hesap.arith_ex(5,4,3); //or any other values entered by the user

alternatively you can define the function without any arguments like

void Calculator::arith_ex()
{
//rest of the code here
}

in this line hesap.arith_ex(int x,int y ,int z); x,y,z are undefined. Declare them earlier in the code and assign them some values.

but i want to take numbers from user
how can i ?

but i want to take numbers from user
how can i ?

You already correctly take all the input from the user by using cin, e.g. the following works cin>>x; But you cannot call a function like this: hesap.arith_ex(int x,int y ,int z); The above line actually generates all of the three errors you get.

You are not allowed to specify the types of the arguments you pass to a function when you make the function call. Instead you need to do it like:

// declare the variables you need to pass to the function
int x = 0;
int y = 0;
int z = 0;

// here you might also get the values from the user, using cin 

hesap.arith_ex(x, y, z); // now make the function call with the arguments

thanky you so much
it works now

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.