CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float real1,img1,real2,img2;
	char letter;
	cin>>real1 >> img1 >> real2 >> img2;
	cin>>letter;
	switch(letter){
		case 'A': cout<<fixed;
			  cout.precision(3);
			  cout<< real1+real2<< " "<< img1+img2<<endl;break;
	        case 'S': cout<<fixed;
			  cout.precision(3);
			  cout<< real1-real2<< " "<< img1-img2<<endl;break;
	        case 'M': cout<<fixed;
			  cout.precision(3);
			  cout<< real2*real1 - img2*img1<< " "<< real2*img1 + img2*real1<<endl;break;
	        case 'D': cout<<fixed;
			  cout.precision(3);
			  cout<< (real2*real1 + img2*img1)/(real2*real2 + img2*img2) << " "<<  (real2*img1 - img2*real1)/ (real2*real2 + img2*img2)<<endl;break;
}
}

Grading criterion: is division of complex numbers is correct implemented?
Rating A: if division of complex numbers is correctly written
Rating B: if the division of complex numbers is not correctly written
Rating C: 0
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float real1,imag1, real2, imag2,p,q;
	char z;
	cin>>real1>>imag1>>real2>>imag2>>z;
	if(z=='A'){
		p= real1 + real2;
		q= imag1+imag2;
	}
	else if ( z=='S'){
		p=real1 - real2;
		q=imag1 -imag2;
	}
	else if( z=='M'){
		p=(real1*real2)-(imag1*imag2);
		q=( real1*imag2)+(real2*imag1);
	}
	else if(z=='D'){
		p=(( real1*real2)+( imag1* imag2))/(pow( real2,2)+pow( imag2,2));
		q=((imag2* real1)-(real1*imag2))/(pow(real2,2)+pow(imag2,2));
	}
	cout<<p;cout.precision(3);
        cout<<" ";
        cout<<q;cout.precision(3);	
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: B
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
int main(){
	//taking inputs
	float x1,y1,x2,y2,x3,y3;
	cin >> x1 >> y1 >> x2 >> y2;
	char command;
	cin >> command;

	if(command=='A'){
		x3=x1+x2;
		y3=y1+y2;
	}
	if(command=='S'){
		x3=x1-x2;
		y3=y1-y2;
	}
	if(command=='M'){
		x3=x1*x2-y1*y2;
		y3=x1*y2+x2*y1;
	}
	if(command=='D'){
		x3=(x1*x2+y1*y2)/(x2*x2+y2*y2);
		y3=(x2*y1-x1*y2)/(x2*x2+y2*y2);
	}
	cout << fixed; cout.precision(3);
	cout << x3 << " " << y3;
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float a,b,c,d; // a is r1,b is i1,c is r2,d is i2
	cin>>a>>b>>c>>d;
   char oper;
   cin>>oper;
   
   if(oper == 'A'){
	   	cout<<fixed;
		cout.precision(3);
	   cout<<a+c<<" "<<b+d;
   }
   if(oper == 'S'){
	   cout<<fixed;
	   cout.precision(3);
	   cout<<a-c<<" "<<b-d;
   }
   if(oper == 'M'){
	   cout<<fixed;
	   cout.precision(3);
	   cout<<a*c -b*d <<" "<<a*d + b*c;
   }
   if (oper == 'D'){
	   cout<<fixed;
	   cout.precision(3);
	   cout<<(a*c +b*d) /(c*c +d*d) <<" "<<(b*c -a*d)/(c*c +d*d);
   }
   cout<<endl;
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
float a1, b1, a2, b2;
char x;
cin>> a1;
cin>> b1;
cin>> a2;
cin>> b2;
cin>>x;
cout<<fixed; cout.precision(3);
if(x=='A')
{cout<<a1+a2<<" "<<b1+b2<<endl;}
else if(x=='S')
{cout<<a1-a2<<" "<<b1-b2<<endl;}
else if(x=='M')
{cout<<(a1*a2)-(b1*b2)<<" "<<(a1*b2)+(a2*b1)<<endl;}
else if(x=='D')
{cout<<((a1*a2)+(b1*b2))/((a2*a2)+(b2*b2))<<" "<<((a2*b1)-(a1*b2))/((a2*a2)+(b2*b2))<<endl;
}
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: B
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include <simplecpp>
main_program {

     float a,b,p,q;

     cin >> a >> p >> b >> q;     //  a and b are Real & p and Img
     cout <<"A"<<endl;

      cout << a+b <<" "<< p+q <<" "<<endl;

      cout << fixed;
      cout.precision(3);     
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: C
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float real1, imag1, real2, imag2;
	
	char r; // A, S, M, D;
	
	cin>>real1>>imag1>>real2>>imag2>>r;

	if(r=='A'){
		float k=real1+real2;
		cout<<fixed;
		cout.precision(3);
		cout<<k<< " "<<(imag1+imag2)<<endl;}

	else if(r=='S'){
		cout<<fixed;
		cout.precision(3);
		cout<<(real1-real2)<<" "<<(imag1-imag2)<<endl;}
	else if(r=='M'){
		cout<<fixed;
		cout.precision(3);
		cout<<(real1*real2-imag1*imag2)<< " "<< (real1*imag2+real2*imag1)<<endl;}
	else if(r=='D'){
		cout<<fixed;
		cout.precision(3);
		cout<<((real1*real2+imag1*imag2)/(real2*real2+imag2*imag2))<<" "<<((imag1*real2-imag2*real1)/(real2*real2+imag2*imag2))<<endl;}




}





























/*	switch(r){
		case A : {
			cout<<(real1+real2)<<" " <<(imag1+imag2)<<endl;
			break;
		}

		case S : {
			cout<<(real1-real2)<<" "<<(imag1-imag2)<<endl;
			break;}

		case M : {
			cout<<(real1*real2 - imag1*imag2)<<" "<<(real1*imag2 + real2*imag1)<<endl;
			break;}
		case D : {
			cout<<((real1*real2 + imag1*imag2)/(real2*real2 + imag2*imag2))<< " "<< ((real2*imag1 - imag2*real1)/(real2*real2+imag2*imag2))<<endl;
			break;}
	}}
	
*/

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float real1,imag1,real2,imag2;
	
	cin>>real1>>imag1>>real2>>imag2;
	char X;
	cin>>X;
	float real,imag;
	if (X=='A'){
		real=real1+real2;
		imag=imag1+imag2;
	
	       cout<<fixed;
	       cout.precision(3);
		cout<<real<<" "<<imag;
	}
       
	 else if(X=='S'){
		real=real1-real2;
		imag=imag1-imag2;
		cout<<fixed;
		cout.precision(3);
		cout<<real<<" "<<imag;
	}
       else if (X=='M'){
		real=real1*real2-imag1*imag2;
		imag=real1*imag2 +real2*imag1;
		cout<<fixed;
		cout.precision(3);
		cout<<real<<" "<<imag;
	}
       else if (X=='D'){
              real=(real1*real2+imag1*imag2)/(real2*real2+imag2*imag2);
	      imag=(imag1*real2-imag2*real1)/(real2*real2+imag2*imag2);
	      cout<<fixed;
	      cout.precision(3);
	      cout<<real<<" "<<imag;

       }

}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: B
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float a,b,x,y,sum1,sum2,sub1,sub2,mul1,mul2,div1,div2;
	char w,A='A',S='S',D='D',M='M';
	
	cin >> a >> b >> x >> y;
	cin >> w;
	sum1=a+x;
	sum2=b+y;
	sub1=a-x;
	sub2=b-y;
	mul1=(a*x)-(b*y);
	mul2=(a*y)+(b*x);
	div1=((a*x)+(b*y))/((x*x)+(y*y));
	div2=((b*x)-(a*y))/((x*x)+(y*y));

	

	if(w==A)
	{	cout<<fixed;
		cout.precision(3);
		cout << sum1 << " " << sum2 << endl;
	}
	if(w==S)
	{	cout<<fixed;
		cout.precision(3);
		cout << sub1 << " " << sub2 << endl;
	}
	if(w==M)
	{	cout<<fixed;
		cout.precision(3);
		cout << mul1 << " " << mul2 << endl;
	}
	if(w==D)
	{	cout<<fixed;
		cout.precision(3);
		cout << div1 << " " << div2 << endl;
	}	
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>

int

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: C
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include <simplecpp>
main_program {
	float r1, i1, r2, i2;
	char mode;
	cin >> r1 >> i1 >> r2 >> i2 >> mode;
	cout<< fixed;
	cout.precision(3);
	switch (mode) {
		case 'A' :
			cout << r1 +r2 << " " << i1 + i2;
			break;
		case 'S' :
			cout << r1-r2 << " " << i1 - i2;
			break;
		case 'M' :
			cout << r1*r2 - i1*i2 << " " << r1*i2 + r2*i1;
			break;
		case 'D' :
			cout <<((r1*r2 + i1*i2)/(r2*r2 + i2*i2)) << " " << ((i1*r2 - i2*r1)/(r2*r2+i2*i2));
			break;
	}
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float real1,imag1,real2,imag2;
	char operation;

	cin>> real1>>imag1>>real2>>imag2>>operation;
	
	cout<<fixed;
	cout.precision(3); // 3 decimal accuracy

	int op=operation;

	if (op==65){ //addition, ascii(A)=65
		cout<< real1+real2<<" "<<imag1+imag2;
	}
	else if (op==83){ //subtraction
		cout<<real1-real2<<" "<<imag1-imag2;
	}
	else if(op==77){ //multiplication
		cout<< real1*real2- imag1*imag2<<" "<< real1*imag2+real2*imag1;
	}
	else cout<<( real1*real2+ imag2*imag1)/(pow(real2,2)+pow(imag2,2))<<" "<<(real2*imag1-real1*imag2)/(pow(real2,2)+pow(imag2,2)); //division

}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include <simplecpp>
main_program {
	float i, xa, ya, xb, yb, x, y;
	char operation;
	cin >> xa >> ya >> xb >> yb >> operation;
	i=1*operation;
	if (i=65) {
		x=xa+ya;
		y=ya+yb;
	}
	if (i=83) {
		x=xa-xb;
		y=ya-yb;
	}
	if (i=77) {
		x=xa*xb;
		y=ya*yb;
	}
	if (i=68) {
		x=xa/xb;
		y=ya/yb;
	}
	cout << fixed;
	cout.precision(3);
	cout << x << " " << y << endl;
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	
	float m,n,u,p;
	cin>>m>>n>>u>>p;
       
	char c;cin>>c;
	float x,y;
      
        if (c=='A') y=n+p; x=m+u;
	
        cout<<x<<" "<<y<<endl;
        


	

}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
#include<cmath>
main_program{
	float real1;float real2;
	float imag1;float imag2; 
	cout<<"real1+imag1= " <<endl ;
	cout<<"real2+imag2= "<<endl;

	cin>>real1>>imag1>>real2>>imag2;
	 
	float x=real1+imag1;
	float y=real2+imag2;
	  
	cout<<x;
	
	cout<<y;
	float sum=0;

	 
	 sum=x+y; 
	 cout<<sum<<" " ;
	return 0;
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: B
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float a;
	float b;
	float c;
	float d;
	cin>>a>>b>>c>>d;
	
			
	cout<<"The first number is "<<a<<"+ "<<b<<"i"<<endl;
	cout<<"The second number is "<<c<<"+ "<<d<<"i"<<endl;
	
			cout<<"The operation is addition"<<endl;
			cout<<"The result is "<<(a+c)<<"+ "<<(b+d)<<endl;


			cout<<"The operation is subtraction"<<endl;
			cout<<"The result is "<<(a-c)<<"- "<<(b-d)<<endl;

			cout<<"The operation is multiplication"<<endl;
			cout<<"The result is "<<(a*c)<<"* "<<(b*d)<<endl;

			cout<<"The operation is division"<<endl;
			cout<<"The result is "<<(a/c)<<"/ "<<(b/d)<<endl;
		}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: C
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include <simplecpp>
main_program{
	float a+ib;
	int a,b,c,d;
	cin<<"a";
	cin<<"b";
	cin<<"c";
	c=a-1;
	cin<<"d";
	d=b-1;
	cout<<sum of (a+c)+i(b+d);
	wait(5);
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: C
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include <simplecpp>
main_program{
	float a,b,c,d;
	char i;
	cin>>a>>b>>c>>d>>i;
	cout<<fixed;
	cout.precision(3);
	if(i=='A') cout<<(a+c)<<" "<<(b+d)<<endl;
	else if(i=='S') cout<<(a-c)<<" "<<(b-d)<<endl;
	else if(i=='M') cout<<(a*c)-(b*d)<<" "<<(a*d)+(b*c)<<endl;
	else if(i=='D') cout<<((a*c)+(b*d))/(pow(c,2) + pow(d,2) )<<" "<<((b*c)-(a*d))/(pow(c,2) + pow(d,2))<<endl;
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A
Problem: Write a program that takes as input two complex numbers and performs one of the following operations on them: addition, subtraction, multiplication, or division. The output should be the result of the operation, with 3 digits after the decimal point. The input should be two pairs of floating-point numbers indicating the real and imaginary parts of the complex numbers, separated by spaces, followed by a letter indicating the operation to be performed. The output should be two space-separated numbers, with the real part followed by the imaginary part.

Student submission:
#include<simplecpp>
main_program{
	float a,b,c,d;
	int i=sqrt(-1);
	a b = (a+ib);
	c d = (c+id);
      	a = real1;
	b = imag1;
	c = real2;
	d = imag2;
      cin >> a b; c d;  A;
      cout <<(a+c)+(b+d)
      cout.precision(3);// print two digits after the decimal point.
      
}

Grading criterion: Quality of variable names
Rating A: Good variable names
Rating B: Ok Variable Names
Rating C: Poor Variable Names
Rating D: 0
Assigned grade: A