Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string.h>
- using namespace std;
- class student{
- private:
- int fnum;
- char name[40];
- double grade;
- public:
- student(){fnum = 0; grade = 0; name[0] = 0;};
- student(int FacNum, const char *nName, double gGrade);
- student(student &p);
- ~student();
- void setFNum(int fNum);
- int getFNum();
- void setName(const char *Name);
- char* getName();
- void setGrade(double Grade);
- double getGrade();
- void changeSt();
- void print();
- };
- student::student(int FacNum, const char *nName, double gGrade){
- fnum = FacNum;
- strcpy(name, nName);
- grade = gGrade;
- }
- student::student(student &p){
- fnum = p.fnum;
- strcpy(name, p.name);
- grade = p.grade;
- }
- student::~student(){}
- void student::setFNum(int fNum){
- fnum = fNum;
- }
- int student::getFNum(){
- return fnum;
- }
- void student::setName(const char *Name){
- strcpy(name, Name);
- }
- char* student::getName(){
- return name;
- }
- void student::setGrade(double Grade){
- grade = Grade;
- }
- double student::getGrade(){
- return grade;
- }
- void student::changeSt(){
- int fNum = 0;
- int nName = 1;
- int gGrade = 2;
- int command;
- do{
- cout << "Change: fnum - 0, name - 1, grade - 2, exit - 3" << endl;
- cin >> command;
- if(command == fNum){
- cout << "Enter fnum: ";
- cin >> fnum;
- }
- if(command == nName){
- cout << "Enter a name: ";
- cin >> name;
- }
- if(command == gGrade){
- cout << "Enter a grade: ";
- cin >> grade;
- }
- }while(command != 3);
- }
- void student::print(){
- cout << fnum << endl;
- cout << name << endl;
- cout << grade << endl;
- }
- class group{
- private:
- student stud[30];
- public:
- void maxGradeStud(int studNum);
- void minGradeStud(int studNum);
- void avgGrade(int studNum);
- void printStudByFnum(int fNum, int studNum);
- void sortByFNum(int studNum);
- void sortByGrade(int studNum);
- void printAllStud(int studNum);
- void setGroup(int studNum);
- };
- void group::setGroup(int studNum){
- int fNum;
- char nName[40];
- double gGrade;
- for(int i = 0; i < studNum; i++){
- cout << "Enter student parameters: " << endl;
- cin >> fNum >> nName >> gGrade;
- stud[i] = student(fNum, nName, gGrade);
- }
- }
- void group::avgGrade(int studNum){
- double avg;
- double sum = 0;
- for(int i = 0; i < studNum; i++){
- sum += stud[i].getGrade();
- }
- avg = sum / studNum;
- cout.precision(3);
- cout << "The average grade of the group is: " << avg << endl;
- }
- void group::minGradeStud(int studNum){
- int storeMinInd;
- double minGrade = INT_MAX;
- for(int i = 0; i < studNum; i++){
- if(stud[i].getGrade() < minGrade){
- minGrade = stud[i].getGrade();
- storeMinInd = i;
- }
- }
- cout.precision(3);
- cout << "The student with the lowest grade is: ";
- stud[storeMinInd].print();
- }
- void group::maxGradeStud(int studNum){
- int storeMaxInd;
- double maxGrade = INT_MIN;
- for(int i = 0; i < studNum; i++){
- if(stud[i].getGrade() > maxGrade){
- maxGrade = stud[i].getGrade();
- storeMaxInd = i;
- }
- }
- cout.precision(3);
- cout << "The student with the highest grade is: ";
- stud[storeMaxInd].print();
- }
- void group::printStudByFnum(int fNum, int studNum){
- int storeFNum;
- for(int i = 0; i < studNum; i++){
- if(stud[i].getFNum() == fNum){
- storeFNum = i;
- }
- }
- cout << stud[storeFNum].getName() << endl;
- }
- void group::sortByFNum(int studNum){
- student temp;
- for(int i = 0; i < studNum; i++){
- for(int j = 0; j < studNum-1; j++){
- if(stud[j].getFNum() > stud[j+1].getFNum()){
- temp = stud[j];
- stud[j] = stud[j+1];
- stud[j+1] = temp;
- }
- }
- }
- cout << "List of the group sorted by fnum: " << endl;
- for(int i = 0; i < studNum; i++){
- stud[i].print();
- }
- }
- void group::sortByGrade(int studNum){
- student temp;
- for(int i = 0; i < studNum; i++){
- for(int j = 0; j < studNum-1; j++){
- if(stud[j].getGrade() > stud[j+1].getGrade()){
- temp = stud[j];
- stud[j] = stud[j+1];
- stud[j+1] = temp;
- }
- }
- }
- cout << "List of the group sorted by grade: " << endl;
- for(int i = 0; i < studNum; i++){
- stud[i].print();
- }
- }
- void group::printAllStud(int studNum){
- for(int i = 0; i < studNum; i++){
- stud[i].print();
- }
- }
- int main()
- {
- int numStud = 3;
- student st;
- group stud;
- stud.setGroup(numStud);
- stud.avgGrade(numStud);
- stud.maxGradeStud(numStud);
- stud.sortByFNum(numStud);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement