I can\'t figure out what\'s worng with this code. Basically, I\'m getting an err
ID: 641916 • Letter: I
Question
I can't figure out what's worng with this code. Basically, I'm getting an error C2228 on 7 lines of it.
#include <iostream>
using namespace std;
const int max_students = 5;
const double quizes_count = 0.25; // 25%
const double midterm_counts = 0.25; // 25%
const double final_counts = 0.50; // 50%
struct studentscoresandgrade
{
int studentID;
int pointsinfirstquiz;
int pointsinsecondquiz;
int pointsinmidtermexam;
int pointsinfinalexam;
double averagescore;
char studentgrade;
};
void getstudentdetails(studentscoresandgrade &studentdetails);
void calculatestudentgrade(studentscoresandgrade &studentdetails);
void displaystudentresult(const studentscoresandgrade &studentdetails);
void getstudentdetails(studentscoresandgrade &studentdetails)
{
cout << "Enter the student number:";
cin >> studentdetails.studentID;
cout << "Enter the score of Quiz 1:";
cin >> studentdetails.pointsinfirstquiz;
cout << "Enter the score of Quiz 2:";
cin >> studentdetails.pointsinsecondquiz;
cout << "Enter the score of the Midterm Exam:";
cin >> studentdetails.pointsinmidtermexam;
cout << "Enter the score of the Final Exam:";
cin >> studentdetails.pointsinfinalexam;
cout << endl;
}
void calculatstudentgrade(studentscoresandgrade &studentdetails)
{
double totalofquizes;
double averageofquizes;
double normalizedaverageofquizes;
double quizesscore;
double midtermexamscore;
double finalexamscore;
totalofquizes = studentdetails.pointsinfirstquiz + studentdetails.pointsinsecondquiz;
averageofquizes = totalofquizes / 2.0;
normalizedaverageofquizes = averageofquizes * 10;
quizesscore = normalizedaverageofquizes * quizes_count;
midtermexamscore = studentdetails.pointsinmidtermexam * midterm_counts;
finalexamscore = studentdetails.pointsinfinalexam * final_counts;
studentdetails.averagescore = quizesscore + midtermexamscore + finalexamscore;
if (studentdetails.averagescore >= 90)
studentdetails.studentgrade = 'A';
else if (studentdetails.averagescore >= 80)
studentdetails.studentgrade = 'B';
else if (studentdetails.averagescore >= 70)
studentdetails.studentgrade = 'C';
else if (studentdetails.averagescore >= 60)
studentdetails.studentgrade = 'D';
else studentdetails.studentgrade = 'F';
}
void displaystudentresult(const int studentscoresandgrades, int studentdetails)
{
cout << "The student number:"
<< studentdetails.studentID << endl; THIS IS WHERE IT STARTS
cout << "The points in the first quiz:"
<< studentdetails.pointsinfirstquiz << endl;
cout << "The points in the second quiz:"
<< studentdetails.pointsinsecondquiz << endl;
cout << "The points in the midterm exam:"
<< studentdetails.pointsinmidtermexam << endl;
cout << "The points in the final exam:"
<< studentdetails.pointsinfinalexam << endl;
cout << "The average score for all testing:"
<< studentdetails.averagescore << endl;
cout << "The student's final grade:"
<< studentdetails.studentgrade << endl; AND HERE'S WHERE IT ENDS
}
int main()
{
studentscoresandgrade studentdetails[max_students];
for (int student = 0; student < max_students; student++)
getstudentdetails(studentdetails[student]);
for (int student = 0; student < max_students; student++)
calculatestudentgrade(studentdetails[student]);
for (int student = 0; student < max_students; student++)
displaystudentresult(studentdetails[student]);
system("pause");
return 0;
}
Explanation / Answer
#include <iostream>
#include <windows.h>
using namespace std;
const int max_students = 5;
const double quizes_count = 0.25; // 25%
const double midterm_counts = 0.25; // 25%
const double final_counts = 0.50; // 50%
struct studentscoresandgrade
{
int studentID;
int pointsinfirstquiz;
int pointsinsecondquiz;
int pointsinmidtermexam;
int pointsinfinalexam;
double averagescore;
char studentgrade;
};
void getstudentdetails(studentscoresandgrade &studentdetails);
void calculatestudentgrade(studentscoresandgrade &studentdetails);
void displaystudentresult(const studentscoresandgrade &studentdetails);
void getstudentdetails(studentscoresandgrade &studentdetails)
{
cout << "Enter the student number:";
cin >> studentdetails.studentID;
cout << "Enter the score of Quiz 1:";
cin >> studentdetails.pointsinfirstquiz;
cout << "Enter the score of Quiz 2:";
cin >> studentdetails.pointsinsecondquiz;
cout << "Enter the score of the Midterm Exam:";
cin >> studentdetails.pointsinmidtermexam;
cout << "Enter the score of the Final Exam:";
cin >> studentdetails.pointsinfinalexam;
cout << endl;
}
void calculatestudentgrade(studentscoresandgrade &studentdetails)
{
double totalofquizes;
double averageofquizes;
double normalizedaverageofquizes;
double quizesscore;
double midtermexamscore;
double finalexamscore;
totalofquizes = studentdetails.pointsinfirstquiz + studentdetails.pointsinsecondquiz;
averageofquizes = totalofquizes / 2.0;
normalizedaverageofquizes = averageofquizes * 10;
quizesscore = normalizedaverageofquizes * quizes_count;
midtermexamscore = studentdetails.pointsinmidtermexam * midterm_counts;
finalexamscore = studentdetails.pointsinfinalexam * final_counts;
studentdetails.averagescore = quizesscore + midtermexamscore + finalexamscore;
if (studentdetails.averagescore >= 90)
studentdetails.studentgrade = 'A';
else if (studentdetails.averagescore >= 80)
studentdetails.studentgrade = 'B';
else if (studentdetails.averagescore >= 70)
studentdetails.studentgrade = 'C';
else if (studentdetails.averagescore >= 60)
studentdetails.studentgrade = 'D';
else studentdetails.studentgrade = 'F';
}
void displaystudentresult(const studentscoresandgrade &studentdetails)
{
cout << "The student number:"
<< studentdetails.studentID << endl;
cout << "The points in the first quiz:"
<< studentdetails.pointsinfirstquiz << endl;
cout << "The points in the second quiz:"
<< studentdetails.pointsinsecondquiz << endl;
cout << "The points in the midterm exam:"
<< studentdetails.pointsinmidtermexam << endl;
cout << "The points in the final exam:"
<< studentdetails.pointsinfinalexam << endl;
cout << "The average score for all testing:"
<< studentdetails.averagescore << endl;
cout << "The student's final grade:"
<< studentdetails.studentgrade << endl;
}
int main()
{
studentscoresandgrade studentdetails[max_students];
for (int student = 0; student < max_students; student++)
getstudentdetails(studentdetails[student]);
for (int student = 0; student < max_students; student++)
calculatestudentgrade(studentdetails[student]);
for (int student = 0; student < max_students; student++)
displaystudentresult(studentdetails[student]);
system("pause");
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.