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 p,q,r,s;
	cin>>p>>q>>r>>s;
	char t;
	cin>>t;
	int f=t;
	if(f==65){
		float a=p+r;
		float b=q+s;
		cout<<fixed;
		cout.precision(3);
		cout <<a<<" " <<b;
	}
	else if (f==83){
		float u=p-r;
		float y=q-s;
		cout<<fixed;
		cout.precision(3);
		cout <<u<<" " <<y;
	}
	else if (f==77){
		float d=((p*r)-(q*s));
		float e=((p*s)+(q*r));
		cout<<fixed;
		cout.precision(3);
		cout <<d<<" " << e ;
	}
	else{
		float w=((p*r)+(s*q))/(r*r+s*s);
		float c=((r*q)-(p*s))/(r*r+s*s);
		cout<<fixed;
		cout.precision(3);
		cout<<w<<" "<<c;
	}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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 a;
	cin>>real1>>imag1>>real2>>imag2>>a;
	if(a=='A')
        {
		p=real1+real2;
	        q=imag1+imag2;
		}
        else if(a=='S')
	{
		p=real1-real2;
	        q=imag1-imag2;
		}
	else if(a=='M')
	{
		p=(real1*real2)-(imag1*imag2);
		q=(real1*imag2)+(real2*imag1);
		}
	else if(a=='D')
	{
		p=((real1*real2)+(imag1*imag2))/(pow(real2,2)+pow(imag2,2));
		q=((imag1*real2)-(real1*imag2))/(pow(real2,2)+pow(imag2,2));
		}
        cout<<fixed;
        cout.precision(3);
	cout<<p;
	cout<<" ";
	cout<<fixed;
	cout.precision(3);
	cout<<q;
	}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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 a,b,c,d;
	char l;
	cin>>a>>b>>c>>d>>l;
	switch(l){
		case 'A':
			cout<<fixed;
			cout.precision(3);
			cout<<a+c<<" "<<b+d;
			break;
		case 'S':
		        cout<<fixed;
                        cout.precision(3);
                        cout<<a-c<<" "<<b-d;
                        break;	
		case 'D':
			cout<<fixed;
                        cout.precision(3);
                        cout<<(a*c+b*d)/(c*c+d*d)<<" "<<(b*c-a*d)/(c*c+d*d);
                        break;
		case 'M':
			cout<<fixed;
                        cout.precision(3);
                        cout<<a*c-b*d<<" "<<b*c+d*a;
                        break;
	}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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;
	char operate;
	cin>>real1>>imag1>>real2>>imag2>>operate;
	cout<<fixed;
	cout.precision(3);
	switch(operate){
		case(65): cout<<real1+real2<<" "<<imag1+imag2; break;
		case(83): cout<<real1-real2<<" "<<imag1-imag2; break;
		case(77): cout<<real1*real2-imag1*imag2<<" "<<real1*imag2+real2*imag1; break;
		case(68): cout<<(real1*real2+imag1*imag2)/(real2*real2+imag2*imag2)<<" "<<(real2*imag1-real1*imag2)/(real2*real2+imag2*imag2); break;
	}
	cout<<endl;
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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;
  char c;
  float Ar,Ai;
  cin>>real1>>imag1>>real2>>imag2;
  cin>>c;
  
   if(c=='A')
   { Ar=real1+real2;
	  Ai=imag1+imag2;
	 }
	  else if(c=='S')
	  { Ar=real1-real2;
	    Ai=imag1-imag2;
	    }
   else if( c=='M')
   { Ar=real1*real2-imag1*imag2;
	   Ai=real1*imag2+real2*imag1;
           
      
   }
   else if(c=='D')
   {  Ar=(real1*real2+imag1*imag2)/(real2*real2+imag2*imag2);
	   Ai=(real2*imag1-imag2*real1)/(real2*real2+imag2*imag2);

  
   }
   cout<<fixed;
    cout.precision(3);
   cout<<Ar<<" "<<Ai;
  
  
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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;
	char command;
	cin>>real1>>imag1>>real2>>imag2>>command;
	cout<<fixed;
	cout.precision(3);
	if(command=='A') {
	   cout<<(real1+real2)<<" "<<(imag1+imag2)<<endl;
	}
	if(command=='S') {
           cout<<(real1-real2)<<" "<<(imag1-imag2)<<endl;
	}
	if(command=='M') {
	   cout<<((real1*real2)-(imag1*imag2))<<" "<<((real1*imag2)+(real2*imag1))<<endl;
			   }
	if(command=='D') {
	   cout<<((real1*real2)+(imag1*imag2))/((real2*real2)+(imag2*imag2))<<" "<<((real2*imag1)-(real1*imag2))/((real2*real2)+(imag2*imag2))<<endl;
			   }

}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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 a,b,c,d,A,S,M,D;
	char x;
        cout<<fixed;
        cout.precision(3);
	cin>>a>>b>>c>>d>>x;
	if(x == A){
		cout<<a+b<<" "<<c+d<<" "<<endl;
	}
	else if(x == S){
	       cout<<a-c<<" "<<b-d<<" "<<endl;
	}
	else if(x == M){
		cout<<a*c - b*d<<" "<<b*c + a*d<<endl;
	}
	else if(x == D){
		cout<<a*c/(c*c + d*d) +b*d/(c*c + d*d)<<" "<<b*c/(c*c + d*d) - a*d/(c*c + d*d)<<endl;
	}
	
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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;
char var;
cin>>real1>>imag1>>real2>>imag2>>var;
if(var=='A'){
cout<<fixed;
cout.precision(3);
cout<<real1+real2<<" "<<imag1+imag2;}
else if(var=='S')
{
	cout<<fixed;
cout.precision(3);
cout<<real1-real2<<" "<<imag1-imag2;
}
else if(var=='M')
{
	cout<<fixed;
cout.precision(3);
cout<<real1*real2-imag1*imag2<<" "<<real1*imag2+real2*imag1;
}
else if(var=='D')
{
cout<<fixed;
cout.precision(3);
cout<<(real1*real2+imag1*imag2)/(real2*real2+imag2*imag2)<<" "<<(imag1*real2-real1*imag2)/(real2*real2+imag2*imag2);
}
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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 a=0,b=0,c=0,d=0;
	char  n;
	cin >> a >> b >> c >> d >> n;
	if( n=='A'){
		cout << fixed;
// uses fixed floating point representation
cout.precision(3); // print two digits after the decimal point.
		cout << (a+c) << " "<< (b+d);}
		
	if(n=='S'){
	cout << fixed;
// uses fixed floating point representation
cout.precision(3); // print two digits after the decimal point.
		cout << (a-c) << " "<< (b-d);}
		
	if (n=='M'){
	cout << fixed;
// uses fixed floating point representation
cout.precision(3); // print two digits after the decimal point.
		cout << ((a*c)-(b*d)) << " "<< ((a*d)+(b*c));}
		
	if (n=='D'){
	cout << fixed;
// uses fixed floating point representation
cout.precision(3); // print two digits after the decimal point.
		cout <<( ((a*c)+(b*d))/((c*c)+(d*d))) << " " << ((a*d)+(b*c));}
		

}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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;
	cin>>real1>>imag1>>real2>>imag2;

	char a;
	cin>>a;

	float real3,imag3;
   	
	if(a == 'A')
	{
		real3 = real1+real2;
		imag3 = imag1+imag2;
	}

	else if(a == 'S')
	{
		real3 = real1-real2;
		imag3 = imag1-imag2;
	}

	else if(a == 'M')
	{
		real3 = real1*real2 -imag1*imag2;
		imag3 = real2*imag1 + real1*imag2;
	}

	else if(a == 'D')
	{
		real3 = (real1*real2 + imag1*imag2)/(real2*real2 + imag2*imag2);		imag3 = (imag1*real2 - real1*imag2)/(real2*real2 + imag2*imag2);	}

	cout<<real3; cout.precision(3);
	cout<<" ";
	cout<<imag3; cout.precision(3);
	cout<<endl;

}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
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{
	int a,b,i,c,d;
	cout <<" a + c" <<" b i + d i";
	cin >>a>>b>>i>>c>>d>>i;
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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{
	int a,b,c,d;
	cin >> a >> b >> c >>d;
	char command;
	cin>> command;
	if (command =='A')(
	 cout << a>c <<" "<< b>d<<endl;
	 cout.precison(3)

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
Rating C: 0
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,c,d;
	char i;
	cin>>a>>b>>c>>d>>i;
	        cout<<fixed;
        cout.precision(3);
	float p,q;
	switch(i)
	{
       		case 'A' : p=a+c;
                           q=b+d;
                           break;
                case 'S' :p=a-c;
                          q=b-d;
                        break;
                case 'M': p=a*c-b*d;
                          q=a*d+b*c;
                        break;
                case 'D' : p=(a*c+b*d)/(sqrt(c*c+d*d));
                           q=(b*c-a*d)/(sqrt(c*c+d*d));
                        break;

        }
	cout<<p<<" "<<q;
}

Grading criterion: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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,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: Overall program correctness
Rating A: "Common requirements  of a Program are correct - i.e.
 
- header (includes, using namespace, etc)
- main syntax
- variables declaration
- overall syntax"
Rating B: Problems are present in the code(eg: printing unnecessary strings, missing semicolons & braces, wrong/missing declarations, wrong header files)
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: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
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: Placeholder for extra marks to be given for any reason
Rating A: Modularity, Extra Functions Defined, some corrective marks for failed testcases
Rating B: No reason for extra marks
Rating C: 0
Rating D: 0
Assigned grade: B