Can you PLEASE fix this code so it will show the grades. Like: A A- B+ B B- C+ C
ID: 3772545 • Letter: C
Question
Can you PLEASE fix this code so it will show the grades.
Like:
A A- B+ B B- C+ C C- .......
5 2 3 5 5 2 0 1 ........
THIS is the code i wrote.
#include <iostream>
#include <cmath>
#include <fstream>
#include <iomanip>
using namespace std;
float deviation(float sum, float mean, float N);
float mean(float vector[], int size);
float sum(float vector[], int size);
int main()
{
ifstream inFile;
float N;
int size = 0;
const int Numlist = 1000;
float totalSum;
float avg = 0.0;
int max = 100;
int min = 11;
double m = 71.47;
double s = 20.98;
double List[Numlist];
inFile.open("input.txt");
if (inFile.fail())
{
cout << "Error: could not open input.txt" << endl;
exit(EXIT_FAILURE);
}
for (int count = 0; count < Numlist; ++count){
inFile >> List[count];
if (!inFile)break;
}
float standard_deviation[100];
inFile >> N;
while ((!inFile.eof()) && (size<Numlist))
{
standard_deviation[size] = N;
size++;
inFile >> N;
}
totalSum = sum(standard_deviation, size);
avg = mean(standard_deviation, size);
cout << "Standard Deviation = " << deviation(totalSum, avg, size) << endl;
cout << "Mean = " << avg << endl;
cout << "Maximum Score = " << max << endl;
cout << "Minimum Score = " << min << endl;
cout << "Range = " << (max - min) << endl;
cout << "Grade" << " " << "Number of Scores" << " " << endl;
system("pause");
return 0;
}
float sum(float vector[], int size) //sum function
{
float theSum;
theSum = 0.0;
for (int N = 0; N < size; N++)
{
theSum += vector[N];
}
return theSum;
}
float mean(float vector[], int size) //mean function
{
float sum = 0.0, mean = 0.0;
for (int i = 0; i < size; i++)
{
mean += vector[size];
}
if (size == 0)
mean = 0.0;
else
mean = mean / size;
return mean;
}
float deviation(float sum, float mean, float N) //deviation function
{
double S;
double U;
U = (pow(sum - mean, 2));
S = (sqrt(U / N));
return S;
}
THIS IS THE REQUIREMENTS I HAD:
Explanation / Answer
Program:
#include <iostream>
#include <cmath>
#include <fstream>
#include <iomanip>
#define EXIT_FAILURE 0
using namespace std;
float deviation(float vector[], float mean, float N);
float mean(float sum, int size);
float sum(float vector[], int size);
float findMax(float vector[], int size);
float findMin(float vector[], int size);
void GradingScheme(float vector[],float m,float s, int count);
int main()
{
ifstream inFile;
const int Numlist = 1000;
float totalSum;
float avg = 0.0;
int max;
int min;
float m = 71.47;
float s = 20.98;
float List[Numlist];
inFile.open("input.txt");
if (inFile==NULL)
{
cout << "Error: could not open input.txt" << endl;
exit(EXIT_FAILURE);
}
int count=0;
while(!inFile.eof())
{
inFile >> List[count++];
}
totalSum = sum(List, count);
m = mean(totalSum, count);
s=deviation(List, m, count);
cout << "Standard Deviation = " << s << endl;
cout << "Mean = " << m << endl;
max=findMax(List,count);
cout << "Maximum Score = " << max << endl;
min=findMin(List,count);
cout << "Minimum Score = " << min << endl;
cout << "Range = " <<"("<<min<<","<<max<<")" << endl;
GradingScheme(List,m,s,count);
cout<<" See the output in output.txt";
system("pause");
return 0;
}
void GradingScheme(float List[],float m,float s,int count)
{
string Grade[count];
for(int i=0;i<count;i++)
{
Grade[i]="";
if(List[i]>=m+4/3*s)
Grade[i]="A";
else if(List[i]>=m+3/3*s && List[i]<m+4/3*s)
Grade[i]="A-";
else if(List[i]>=m+2/3*s && List[i]<m+3/3*s)
Grade[i]="B+";
else if(List[i]>=m+1/3*s && List[i]<m+2/3*s)
Grade[i]="B";
else if(List[i]>=m+0/3*s && List[i]<m+1/3*s)
Grade[i]="B-";
else if(List[i]>=m-1/3*s && List[i]<m+0/3*s)
Grade[i]="C+";
else if(List[i]>=m-2/3*s && List[i]<m-1/3*s)
Grade[i]="C";
else if(List[i]>=m-3/3*s && List[i]<m-2/3*s)
Grade[i]="C-";
else if(List[i]>=m-4/3*s && List[i]<m-3/3*s)
Grade[i]="D+";
else if(List[i]>=m-5/3*s && List[i]<m-4/3*s)
Grade[i]="D";
else if(List[i]<m-5/3*s)
Grade[i]="F";
}
ofstream outFile("output.txt");
outFile<<"Grade: ";
for(int i=0;i<count;i++)
{
outFile<<Grade[i]<<" ";
}
outFile<<endl<<"Number of Scores: ";
for(int i=0;i<count;i++)
{
outFile<<List[i]<<" ";
}
}
float findMax(float List[],int count)
{
float max=List[0];
for(int i=1;i<count;i++)
{
if(List[i]>max)
{
max=List[i];
}
}
return max;
}
float findMin(float List[],int count)
{
float min=List[0];
for(int i=1;i<count;i++)
{
if(List[i]<min)
{
min=List[i];
}
}
return min;
}
float sum(float vector[], int size) //sum function
{
float theSum= 0.0;
for (int N = 0; N < size; N++)
{
theSum += vector[N];
}
return theSum;
}
float mean(float sum, int size) //mean function
{
float mean;
if (size == 0)
mean = 0.0;
else
mean = sum / size;
return mean;
}
float deviation(float List[], float mean, float N) //deviation function
{
float S=0.0;
float U=0.0;
for(int i=0;i<N;i++)
{
U+=(pow(List[i] - mean, 2));
}
S = sqrt( U/ N);
return S;
}
/*---------------------------------------------------------
input.txt:
100 94 59 83 57 11 92 76 37 89 74 59 65 79 49 89 89 75 64 82 15 74 82 68 92 61 33 95 91 82 89 64 43 93 86 65 72 40 42 90 81 48 33 94 81 76 86 67 70 100 80 83 78 96 58*/
/*==================================================
Output.txt
Grade: A A C- B+ C- F B+ B+ F B+ B+ C- C- B+ F B+ B+ B+ C- B+ F B+ B+ C- B+ C- F A B+ B+ B+ C- F A B+ C- B+ F F B+ B+ F F A B+ B+ B+ C- C- A B+ B+ B+ A C-
Number of Scores: 100 94 59 83 57 11 92 76 37 89 74 59 65 79 49 89 89 75 64 82 15 74 82 68 92 61 33 95 91 82 89 64 43 93 86 65 72 40 42 90 81 48 33 94 81 76 86 67 70 100 80 83 78 96 58
*/
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.