CodeGraderBench/CodeGraderBench huggingface dataset:
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include <simplecpp>
main_program{
    char n ;
    cin>> n;
    cin>> noskipws;
}

Grading criterion: Declaration of variables
Rating A: correctly declares the four character variables in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: C
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include <simplecpp>
#include <iostream>


char to_lower(char x){
	if(x >= 'A' && x<='Z')
		return('a'+x-'A');
	else
		return x;
};

bool isValidAbbreviation(char i, char j, char k, char l){
	i = to_lower(i);
	j = to_lower(j);
	k = to_lower(k);
	l = to_lower(l);
	cin>>noskipws;
	char I, J, K, L;
	char temp =' ';
	int count = 0;
	bool is_first = true;
	while(true){
		cin>>temp;
		if(temp == '\n'){
			if(count == 0){
				count++;
				continue;
			}
			break;
        }
		if(temp == ' '){
			is_first = true;
			continue;
		}
		if(is_first){
			if(count == 1)
			{
				I = to_lower(temp);
			}
			else if(count == 2){
				J = to_lower(temp);
			}
			else if(count == 3){
				K = to_lower(temp);
			}
			else if(count == 4){
				L = to_lower(temp);
			}
			count++;
			is_first = false;
			continue;
		}
	}
	if((I == i)&&(J == j) && (K == k) && (L == l)&&(count == 5))
		return true;
	else
		return false;
};

main_program{
	char a, b, c, d;
	cin>>a>>b>>c>>d;
	if(isValidAbbreviation(a, b, c, d))
		cout<<"yes";
	else
		cout<<"no";
}

Grading criterion: Declaration of variables
Rating A: correctly declares the four character variables in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include<simplecpp>
bool isValid(char c1, char c2, char c3, char c4){
    cin >> noskipws;
    char test;
    int numbits=32;
    
    bool b1=0,b2=0,b3=0,b4=0;
    int i=1;
    cin>>test;
    for(cin>>test; test!='\n'; cin>>test){
        test =test|numbits;
        if(i>8){
            return false;
        }
        if(i==1){
            
            if((test)==(c1)){
                b1=true;
            }
            i++;
        }
        if(i==3){
            if((test)==(c2)){
                b2=true;
            }
            i++;
        }
        if(i==5){
            if((test)==(c3)){
                b3=true;
            }
            i++;
        }
        if(i==7){
            if((test)==(c4)){
                b4=true;
            }
            i++;
        }
        if(test==' '){
            i++;
        }
    }
    if(b1 && b2 && b3 && b4){
        return true;
    }
    return false;
}
main_program{
    int numbits=32;
    char c1,c2,c3,c4;
    cin>>c1>>c2>>c3>>c4;
    c1=c1|numbits; c2=c2|numbits; c3=c3|numbits; c4=c4|numbits;
    cout<<((isValid(c1, c2, c3, c4))? "yes":"no");
}

Grading criterion: Declaration of variables
Rating A: correctly declares the four character variables in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include <simplecpp>

void capitalize(char &a){
	if (a>='a'){
		a+='A'-'a'; 
	}
}

void swap(char &a, char &b){
	a=a^b; b=a^b; a=a^b;
}

bool isValidAbbreviation(char a, char b, char c, char d){
	cin>>noskipws;
	int i=0;
	bool ans=true;
	char prev_ch=' ', ch, let, trash,flet;
	cin>>trash;	
	for (cin>>flet; ch !='\n';cin>>ch){
		if (prev_ch == ' '){
			if (!i) let=ch;
			else let=flet;
			capitalize(let);
			if (let!=a) return false;
			swap(a,b);swap(b,c);swap(c,d);
		}
		prev_ch = ch;
		++i;
	}
	if (i!=3) return false;
	return ans;
}

main_program{
	char a,b,c,d;
	cin>>a>>b>>c>>d;
	bool ans;
	capitalize(a); capitalize(b); capitalize(c); capitalize(d);
	ans = isValidAbbreviation(a,b,c,d);
	if (ans) cout<<"yes";
	else cout<<"no"; 
}

Grading criterion: Declaration of variables
Rating A: correctly declares the four character variables in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include <simplecpp>
bool isValidAbbreviation(char c1,char c2,char c3,char c4){
    bool m,k,n= true;
    
    if(c1 > 'A' && c1 < 'Z'){
        c1 = c1 +32;
    }
    if(c2 >'A'&& c2 < 'Z'){
        c2 = c2+32;
    }
    if(c3 > 'A' && c2 < 'Z'){
        c3 = c3 +32;
    }
    if(c4 > 'A' && c4 < 'Z'){
        c4 = c4 + 32;
    }
    
    for(int x = 0; x<5;++x){
        char c;
        if(x ==0){
            c = c1;
        }
        if(x ==1){
            c = c2;
        }
        if(x==2){
            c =c3;
        }
        else{
            c = c4;
        }

        char in;
        cin>>noskipws;
        for(cin>>in; in != '\n'; cin>>in){
           if(in > 'A' && in < 'Z'){
            in = in +32;
           }
           if(in == c && x == 0){
            m = true;
            break;
           }
           else{
            m = false;
           }
           
        }
        k = m && n;
        n = m;
        
    }
    return (k);
}
main_program{
    char s1,s2,s3,s4;
    cin>>s1>>s2>>s3>>s4;
   if(isValidAbbreviation(s1,s2,s3,s4)){

    cout<<"yes";
   }
   else{
    cout<<"no";
   }  
}

Grading criterion: Declaration of variables
Rating A: correctly declares the four character variables in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include<simplecpp>

int main(){
    char a,b;
    cin>> a;
    cin>> b;
    cout<< a<< b;;
}

Grading criterion: Accepting input
Rating A: correctly accepts the four character variables as input in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: B
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include<iostream>
using namespace std;

int main(){
     
    return 0;
}

Grading criterion: Accepting input
Rating A: correctly accepts the four character variables as input in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: C
Problem: At college X, students and professors often use abbreviations for long titles of academic papers and projects. In this problem, you are asked to verify whether a given abbreviation matches the first letters of the words in a string, ignoring case. The abbreviation is valid only if it follows the exact order of the first letters of each word.

Examples:

For the words:
United Nations
united nations
United nations
united Nations

Valid abbreviations are:
UN, un, Un, uN

For the words:
Machine Learning college X

Valid abbreviations are:
MLIB (or any combination of upper and lowercase letters in the same order, such as mLiB).

Your Task

Main Program:

Write a C++ program that accepts four characters from the user and stores them in four character variables. Pass these characters to a function named isValidAbbreviation, which returns true if the abbreviation is valid, otherwise returns false. In the main function, print "yes" or "no" (lowercase letters) based on the returned value.

isValidAbbreviation Function:

1. Accept the words character by character as input.
2. Check whether the first letter of each word matches the corresponding abbreviation character (case insensitive).
3. Return false if there is any mismatch.
4. Return true if the entire abbreviation is correct.

To read character sequences with spaces:
First write:
cin >> noskipws;

Then a loop like the following may be used:
for (cin >> c; c != '\n'; cin >> c)

Output Format:

Print:
yes
or
no

accordingly.

Note:

- Do not print any extra messages such as:
  cout << "Enter a number";
  cout << "The computed answer is";
- Use cout only to print the final output.
- Do not print unnecessary spaces.
- Do not hard-code the solution.
- If any test case passes by simply printing with cout and without logic, marks will not be awarded.

Student submission:
#include <simplecpp>

bool isValidAbbreviation(char c1, char c2, char c3, char c4)
{
    cin>>noskipws;
    int word=4;
    int space=0;
    char c='f';
    char abb;
    bool b1,b2,b3,b4;
    
    repeat(100)
    {
        cin>>c;
        if(c==c1 && space==0)
        b1=1;
        if(c==' ')
        {
            space++;
            cin>>abb;
            if(((abb==c2)||(abb==(c2-32))||(abb==(c2+32))) && space==1)
            {
                b2=1;
            }
            if(((abb==c3)||(abb==(c3-32))||(abb==(c3+32))) && space==2)
            {
                b3=1;
            }
            if(((abb==c4)||(abb==(c4-32))||(abb==(c4+32))) && space==3)
            {
                b4=1;
            }
            
        }
    }
    if(space>3)
    return(0);
    if(b1&b2&b3&b4==1)
    return(1);
    else
    return(0);
}

main_program
{
    char c1,c2,c3,c4;
    cin>>c1>>c2>>c3>>c4;
    bool res=isValidAbbreviation(c1,c2,c3,c4);
    if(res==1)
    cout<<"yes";
    else
    cout<<"no";
    
}

Grading criterion: Accepting input
Rating A: correctly accepts the four character variables as input in the main

Rating B: some issue
Rating C: major issue
Rating D: 0
Assigned grade: A