1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
|
#include <iostream>
#include <string>
#include <iomanip>
#include <cassert>
#include <cstdlib>
using namespace std;
//const float AverageGPA = 0; //gives GPA a value for testing
const int NAME_LENGTH = 30; //total char length for a name
const int ACAD_MAJOR_LENGTH = 40; //total length of academic major
const int OBJECTS = 100;
const int CLASS_SIZE = 40;
const int CLASS_TITLE_SIZE = 32;
const int CLASS_NUMBER_SIZE = 10;
struct Student
{
char Name[NAME_LENGTH]; //Create a Name array
char AcadMajor[ACAD_MAJOR_LENGTH]; //create academic major length
int StudId; //variable for student id
float GPA; //variable for GPA
};
class MyRoster
{
public:
MyRoster();
void FillRoster(Student Students[], int ClassSize);
//float AverageGPA(Student Students[], int ClassSize);
void DisplayCourseRoster(char *pCourseTitle, char *pCourseNumber,Student Students[], int ClassSize);// add average
//float AverageGPA;
private:
};
//implementation of member functions
MyRoster::MyRoster()
{
}
void MyRoster::FillRoster(Student Students[], int ClassSize)
{
for (int i = 0; i < ClassSize; i++)
{
cout << "Please enter student name: ";
cin >> Students[i].Name;
cout << "Please enter student major: ";
cin >> Students[i].AcadMajor;
cout << "Please enter student ID: ";
cin >> Students[i].StudId;
cout << "Please enter student gpa: ";
cin >> Students[i].GPA;
}
}
void MyRoster::DisplayCourseRoster(char *pCourseTitle, char *pCourseNumber, Student Students[], int ClassSize)
{
cout << "Course Name : " << pCourseTitle <<endl;
cout << "Course Number : "<< pCourseNumber <<endl;
for( int i = 0; i < ClassSize; i++)
{
cout << "Name " << Students[i].Name <<endl;
cout << "Major "<< Students[i].AcadMajor;
cout << "Student Id "<< Students[i].StudId <<endl;
cout << "GPA "<< Students[i].GPA <<endl;
}
cout <<endl;
//cout <<"Average GPA "<< AverageGPA <<endl;
}
int main()
{
int inputStudents = 0;
char *pCourseTitle;
char *pCourseNumber;
Student CourseRoster[CLASS_SIZE];//up to 40
MyRoster objClass[OBJECTS]; //up to 100 obj can be created
cout << "How many students are in your class?" <<endl;
cin >> inputStudents;
pCourseTitle = new char[CLASS_TITLE_SIZE];
cout << "What is the name of the class?" <<endl;
cin >> pCourseTitle;
pCourseNumber = new char[CLASS_NUMBER_SIZE];
cout << "What is the course Number? " <<endl;
cin >> pCourseNumber;
for(int i = 0; i < inputStudents; ++i)
{
objClass[i].FillRoster(CourseRoster, inputStudents);
}
for(int i = 0; i < inputStudents; ++i)
{
objClass[i].DisplayCourseRoster(pCourseTitle, pCourseNumber,CourseRoster, inputStudents);
}
system("pause");
return 0;
}
|