My teacher wants it in this format: (How would I change my program to fit her la
ID: 3541996 • Letter: M
Question
My teacher wants it in this format: (How would I change my program to fit her layout?)
Function definition
I have this what I have:
#include <string>
#include <iostream>
using namespace std;
// 1.
struct FullName{
string lastname;
string firstname;
char midInitial;
};
// 2.
struct Student{
FullName name;
float tests[3];
float average;
char lettergrade;
};
// 4.
float DetermineAverage(const float tests[3]){
float avg = 0;
for (int i = 0; i < 3; i++)
avg += tests[i]/3;
return avg;
}
// 5.
char DetermineLetterGrade(float grade){
char lettergrade;
if (grade >= 90)
lettergrade = 'A';
else if (grade >= 80)
lettergrade = 'B';
else if (grade >= 70)
lettergrade = 'C';
else if (grade >= 60)
lettergrade = 'D';
else
lettergrade = 'F';
return lettergrade;
}
// 6.
Student GetData(){
Student s;
// get name
cout << "Enter first name: " << endl;
cin >> s.name.firstname;
cout << "Enter middle initial: " << endl;
cin >> s.name.midInitial;
cout << "Enter last name: " << endl;
cin >> s.name.lastname;
// three test scores
for (int i = 0; i < 3; i++){
cout << "Enter test score #" << (i+1) << ": " << endl;
cin >> s.tests[i];
}
// find average and lettergrade
s.average = DetermineAverage(s.tests);
s.lettergrade = DetermineLetterGrade(s.average);
return s;
}
// 7.
void PrintStudent(const Student s){
cout << "Student Name: " << s.name.firstname << " "
<< s.name.midInitial << ". " << s.name.lastname << endl;
cout << "Test 1: " << s.tests[0] << endl;
cout << "Test 2: " << s.tests[1] << endl;
cout << "Test 3: " << s.tests[2] << endl;
cout << "Average: " << s.average << endl;
cout << "Final Grade: " << s.lettergrade << endl;
}
int main() {
// 3.
Student roster[24];
// 8.
roster[23] = GetData();
cout << endl;
PrintStudent(roster[23]);
return 0;
}
Explanation / Answer
#include <string>
#include <iostream>
using namespace std;
// 1.
struct FullName{
string lastname;
string firstname;
char midInitial;
};
// 2.
struct Student{
FullName name;
float tests[3];
float average;
char lettergrade;
};
// 4.
float DetermineAverage(const float tests[3]);//Function Prototype here
// 5.
char DetermineLetterGrade(float grade);//Function Prototype here
// 6.
Student GetData();//Function Prototype here
// 7.
void PrintStudent(const Student s);//Function Prototype here
int main() {
// 3.
Student roster[24];
// 8.
roster[23] = GetData();
cout << endl;
PrintStudent(roster[23]);
return 0;
}
//Function definition here
float DetermineAverage(const float tests[3]){
float avg = 0;
for (int i = 0; i < 3; i++)
avg += tests[i]/3;
return avg;
}
//Function definition here
char DetermineLetterGrade(float grade){
char lettergrade;
if (grade >= 90)
lettergrade = 'A';
else if (grade >= 80)
lettergrade = 'B';
else if (grade >= 70)
lettergrade = 'C';
else if (grade >= 60)
lettergrade = 'D';
else
lettergrade = 'F';
return lettergrade;
}
//Function definition here
Student GetData(){
Student s;
// get name
cout << "Enter first name: " << endl;
cin >> s.name.firstname;
cout << "Enter middle initial: " << endl;
cin >> s.name.midInitial;
cout << "Enter last name: " << endl;
cin >> s.name.lastname;
// three test scores
for (int i = 0; i < 3; i++){
cout << "Enter test score #" << (i+1) << ": " << endl;
cin >> s.tests[i];
}
// find average and lettergrade
s.average = DetermineAverage(s.tests);
s.lettergrade = DetermineLetterGrade(s.average);
return s;
}
//Function definition here
void PrintStudent(const Student s){
cout << "Student Name: " << s.name.firstname << " "
<< s.name.midInitial << ". " << s.name.lastname << endl;
cout << "Test 1: " << s.tests[0] << endl;
cout << "Test 2: " << s.tests[1] << endl;
cout << "Test 3: " << s.tests[2] << endl;
cout << "Average: " << s.average << endl;
cout << "Final Grade: " << s.lettergrade << endl;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.