Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "stdafx.h"
- #include <string>
- #include <iostream>
- using namespace std;
- struct Student
- {
- string faculNum;
- string name;
- int grades[4];
- };
- void enterData(Student studentData[], int &size_countStudents);
- void average(Student studentData[], int size_countStudents);
- void badGraders(Student studentData[], int size_countStudents);
- void sortAndPrintExcelentStudents(Student studentData[], int size_countStudents);
- void main()
- {
- const int size_limit = 20;
- int size_countStudents = 0;
- Student studentData[size_limit];
- while (true)
- {
- int option;
- cout << "Press 1 for entering information about students." << endl;
- cout << "Press 2 for printing average for all students" << endl;
- cout << "Press 3 for printing badgraders" << endl;
- cout << "Press 4 for printring excellent students sorted alphabetically" << endl;
- cin >> option;
- switch (option)
- {
- case 1:
- enterData(studentData, size_countStudents);
- break;
- case 2:
- average(studentData, size_countStudents);
- break;
- case 3:
- badGraders(studentData, size_countStudents);
- break;
- case 4:
- sortAndPrintExcelentStudents(studentData, size_countStudents);
- break;
- default:
- cout << "Invalid input" << endl;
- break;
- }
- }
- }
- void enterData(Student studentData[], int &size_countStudents) //function for entering data about students
- {
- cout << "Number of students:"; //enter number of students
- cin >> size_countStudents; //change variable value to input
- for (int i = 0; i < size_countStudents; i++)
- {
- cout << "Enter data about student " << i + 1 << ":" << endl;
- cout << "Faculty number: ";
- cin >> studentData[i].faculNum;
- cout << "Name: ";
- cin >> studentData[i].name;
- cout << "Enter grades: ";
- cin >> studentData[i].grades[0];
- cin >> studentData[i].grades[1];
- cin >> studentData[i].grades[2];
- cin >> studentData[i].grades[3];
- }
- cout << studentData[0].name << studentData[0].grades[0] << studentData[0].grades[1] << studentData[0].grades[2] << studentData[0].grades[3] << endl;
- }
- void average(Student studentData[], int size_countStudents) //calc average for every student
- {
- for (int i = 0; i < size_countStudents; i++)
- {
- //calculate average:
- double sum = studentData[i].grades[0] + studentData[i].grades[1] + studentData[i].grades[2] + studentData[i].grades[3];
- double average = sum / 4;
- //print:
- cout << studentData[i].faculNum << " " << studentData[i].name << " " << average << endl;
- }
- }
- void badGraders(Student studentData[], int size_countStudents) //print student with low grades
- {
- for (int i = 0; i < size_countStudents; i++)
- {
- //calculate average:
- double sum = studentData[i].grades[0] + studentData[i].grades[1] + studentData[i].grades[2] + studentData[i].grades[3];
- double average = sum / 4;
- //print:
- if (average < 3) //bad grades students
- {
- cout << studentData[i].faculNum << " " << studentData[i].name << endl;
- }
- }
- }
- void sortAndPrintExcelentStudents(Student studentData[], int size_countStudents)
- {
- //sort
- for (int h = 0; h < size_countStudents; h++)
- {
- for (int l = 0; l < size_countStudents - 1; l++)
- {
- if (studentData[l].name > studentData[l + 1].name)
- {
- //swap students
- Student temp = studentData[l];
- studentData[l] = studentData[l + 1];
- studentData[l + 1] = temp;
- }
- }
- }
- for (int i = 0; i < size_countStudents; i++)
- {
- //print:
- double sum = studentData[i].grades[0] + studentData[i].grades[1] + studentData[i].grades[2] + studentData[i].grades[3];
- double average = sum / 4;
- if (average >= 5.50) //excellent students
- {
- cout << studentData[i].faculNum << " " << studentData[i].name << endl;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment