Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Can someone help me debug my code please?: #include <iostream> #include <string>

ID: 3733998 • Letter: C

Question

Can someone help me debug my code please?:

#include <iostream>

#include <string>

#include <fstream>

#include <iomanip>

#include <cmath>

using namespace std;

const int ROWS = 2;

const int COLS = 3;  

double ave = 0;

//Calculate the sums for rows and columns

z1=calculateSumRow1(empData); //z1

z2=calcalculateSumRow2(empData);//z2

//compute z=z1+z2

z=z1+z2

//Compute p1,p2

p1=z1/z;

p2=z2/z;

int df=0;

ifstream infile;

double expar[ROWS][COLS] ={0,0,0,0,0,0};

double b=0.0;

double cv=0;

void getData1(ifstream& inf, double empl[][COLS]); //insert data

void printEmpData(double empl[][COLS]);

double calculateSumRow1(double empl[][COLS]); //for z1

double calculateSumRow2(double empl[][COLS]); //for z2

int main()

{ cout<<"contigency18.cpp"<<" ";

//string names[ROWS];

double empData[ROWS][COLS];

double empl[ROWS][COLS];

infile.open("datacor3.txt");

if (!infile)

{

cout << "Cannot open input file. The program terminates." << endl;

return 1;

}

cout << fixed << showpoint << setprecision(2);

  

getData1(infile,empData);

calculateSumRow1(empl);

calculateSumRow2(empl);

}

//FUNCTION: to get the array from file

void getData1(ifstream& inf, double empl[][COLS])

{

cout<<"ROWS="<<ROWS<<"COLS="<<COLS<<" ";

for (int i = 0; i < ROWS; i++)

{

for (int j = 0; j < COLS; j++)

{

inf >> empl[i][j];

cout<<"inf2="<<"empl["<<i<<"]["<<j<<"]="<<empl[i][j];

cout<<" ";

}

}

}

double calculateSumRow1(double empl[][COLS])//z1

{

double sum=0.0;

for(int j=0;j<3;j++){

sum=sum+empl[0][j];

}

return sum;

}

double calculateSumRow2(double empl[][COLS])//z2

{

double sum=0.0;

for(int j=0;j<3;j++){

sum=sum+emp1[1][j];

}

return sum;

}

double calculateSumCol1(double empl[][COLS])//z3

{

double sum = 0.0;

for(int i = 0; i<COLS;i++)

{

sum = sum+empl[i][0];

}

return 0;

}

double calculateSumCol2(double empl[][COLS])//z4

{

double sum = 0.0;

for(int i = 0; i<COLS;i++)

{

sum = sum+empl[i][0];

}

return 0;

}

double calculateSumCol3(double empl[][COLS])//z5

{

double sum = 0.0;

for(int i = 0; i<COLS;i++)

{

sum = sum+empl[i][0];

}

return 0;

}

double expe1(double p1, double expar[ROWS][COLS], int z3, int z4, int z5)

{

for(int i=0;i<ROWS;i++)

{

for(int j=0;j<COLS;j++)

{

if(i==0; j==0)

{

expar[i][j] = p1*23;

}

if(i==0 && j==1)

{

//something

}

if(i==0 && j==2)

{

//something

}

}

}

//print expar

}

double expe2(double p2, double expar[ROWS][COLS], int z3, int z4, int z5)

{

for(int i=0;i<ROWS;i++)

{

for(int j=0;j<COLS;j++)

{

if(i==1 && j==0)

{

expar[i][j] = p2*25;

}

if(i==1 && j=1)

{

//something

}

if(i==1 && j==2)

{

//something

}

}

}

//print expar

}

Explanation / Answer

Debugged code: I have marked the errors in 'bold'.

#include <iostream>
#include <string>
#include <fstream>
#include <iomanip>
#include <cmath>

using namespace std;

const int ROWS = 2;
const int COLS = 3;  
double ave = 0;

//Calculate the sums for rows and columns
//z1=calculateSumRow1(empData); // Function can not be called before definition & z1 is not defined in this scope
//z2=calculateSumRow2(empData); // Function can not be called before definition & z2 is not defined in this scope

//compute z=z1+z2
//z=z1+z2 // z,z1,z2 are not initialized
//Compute p1,p2
//p1=z1/z; // z,z1,p1 are not initialized
//p2=z2/z; // z,z1,p2 are not initialized

int df=0;
ifstream infile;
double expar[ROWS][COLS] ={0,0,0,0,0,0};
double b=0.0;
double cv=0;

void getData1(ifstream& inf, double empl[][COLS]); //insert data
void printEmpData(double empl[][COLS]);
double calculateSumRow1(double empl[][COLS]); // for z1
double calculateSumRow2(double empl[][COLS]); // for z2


int main()

{ cout<<"contigency18.cpp"<<" ";

//string names[ROWS];

double empData[ROWS][COLS];

double empl[ROWS][COLS];

infile.open("datacor3.txt");
if (!infile)

{
cout << "Cannot open input file. The program terminates." << endl;
return 1;
}

cout << fixed << showpoint << setprecision(2);

getData1(infile,empData);

// calculateSumRow1(empl); Function will return value of Double Type
double z1=calculateSumRow1(empl);
// calculateSumRow2(empl); Function will return value of Double Type
double z2=calculateSumRow2(empl);
  
//compute z=z1+z2
double z=z1+z2; // Value of 'z' can be evaluated when we have z1 and z2

//Compute p1,p2
double p1=z1/z; // Value of 'p1' can be evaluated when we have z1 and z
double p2=z2/z; // Value of 'p2' can be evaluated when we have z1 and z

}

//FUNCTION: to get the array from file

void getData1(ifstream& inf, double empl[][COLS])

{

cout<<"ROWS="<<ROWS<<"COLS="<<COLS<<" ";

for (int i = 0; i < ROWS; i++)

{

for (int j = 0; j < COLS; j++)

{

inf >> empl[i][j];

cout<<"inf2="<<"empl["<<i<<"]["<<j<<"]="<<empl[i][j];

cout<<" ";

}

}

}

double calculateSumRow1(double empl[][COLS])//z1

{

double sum=0.0;

for(int j=0;j<3;j++){

sum=sum+empl[0][j];

}

return sum;

}

double calculateSumRow2(double empl[][COLS])//z2

{

double sum=0.0;

for(int j=0;j<3;j++){
//sum=sum+emp1[1][j];
sum=sum+empl[1][j];

}

return sum;

}

double calculateSumCol1(double empl[][COLS])//z3

{

double sum = 0.0;

for(int i = 0; i<COLS;i++)

{

sum = sum+empl[i][0];

}

return 0;

}

double calculateSumCol2(double empl[][COLS])//z4

{

double sum = 0.0;

for(int i = 0; i<COLS;i++)

{

sum = sum+empl[i][0];

}

return 0;

}

double calculateSumCol3(double empl[][COLS])//z5

{

double sum = 0.0;

for(int i = 0; i<COLS;i++)

{

sum = sum+empl[i][0];

}

return 0;

}

double expe1(double p1, double expar[ROWS][COLS], int z3, int z4, int z5)

{

for(int i=0;i<ROWS;i++)

{

for(int j=0;j<COLS;j++)

{

//if(i==0; j==0)
if(i==0,j==0) //We can not use ';' in if
{

expar[i][j] = p1*23;

}

if(i==0 && j==1)

{

//something

}

if(i==0 && j==2)

{

//something

}

}

}

//print expar

}

double expe2(double p2, double expar[ROWS][COLS], int z3, int z4, int z5)

{

for(int i=0;i<ROWS;i++)

{

for(int j=0;j<COLS;j++)

{

if(i==1 && j==0)

{

expar[i][j] = p2*25;

}

//if(i==1 && j=1)
if(i==1 && j==1) // We need to use '==' for getting TRUE/FALSE result
{

//something

}

if(i==1 && j==2)

{

//something

}

}

}

//print expar

}

PS: I have tested this program in GCC. Give it a Thumbs Up. Thanks

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote