Detailed Print – Computer Sir Ki Class

Login


Lost your password?

Don't have an account ?
Register (It's FREE) ×
  


Shop
siteicon
Solved Problem#CPP#7691

Problem Statement - Output writing using structure copy and strcat use

struct Employee{double salary,hra;};
void change(Employee &a,double h=100)
{
  a.salary+=1000;
  a.hra+=h;
}   
int main() 
{ 
  Employee A={5000,2000};
  cout<<"Initial Payment  = "<<A.salary+A.hra<<endl;
  change(A,500);
  cout<<"After 1st Change = "<<A.salary+A.hra<<endl;   
  change(A);
  cout<<"After 2nd Change = "<<A.salary+A.hra<<endl;
  return 0; 
}

Write the output of the above program. Assume that required header files are present.

Solution

		 

Click to open popup

Run Output

Initial Payment  = 7000
After 1st Change = 8500
After 2nd Change = 9600

Solved Problem Understanding

Employee A={5000,2000};
cout<<“Initial Payment = “<<A.salary+A.hra<<endl;
Initial value directly read from structure and added as 5000+2000 as 7000
change(A,500);
This will pass structure and value 500 to change function which will add 1000 to salary and 500 to hra making it 6000 and 2500 respectively.
cout<<“After 1st Change = “<<A.salary+A.hra<<endl;
Value printed now would be 6000+2500 as 8500.
change(A);
This will pass structure and default value 100 to change function which will add 1000 to salary and 100 to hra making it 7000 and 2600 respectively.
cout<<“After 2nd Change = “<<A.salary+A.hra<<endl;
Value printed now would be 7000+2600 as 9600.