Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<math.h>
- const size_t MAX_NAME_LEN = 32;
- const size_t MAX_EGN_LEN = 11;
- const size_t MAX_COUNT = 5;
- //task2
- struct Student
- {
- char name[MAX_NAME_LEN];
- char egn[MAX_EGN_LEN];
- int facNum;
- float marks[MAX_COUNT];
- //pair<char*, float> marks[MAX_COUNT];
- };
- void initialize(Student& st) {
- std::cin.getline(st.name, MAX_NAME_LEN);
- std::cin.getline(st.egn, MAX_EGN_LEN);
- std::cin >> st.facNum;
- for (size_t i = 0; i < MAX_COUNT; i++) {
- std::cin >> st.marks[i];
- }
- std::cout << std::endl;
- }
- void printStudent(const Student& st) {
- std::cout << "Name: " << st.name << std::endl;
- std::cout << "EGN: " << st.egn << std::endl;
- std::cout << "Faculty number: " << st.facNum << std::endl;
- std::cout << "Marks: " << std::endl;
- for (size_t i = 0; i < MAX_COUNT; i++) {
- std::cout << st.marks[i] << " ";
- }
- std::cout << std::endl;
- }
- float averageMark(const Student& st) {
- float sum = 0;
- for (size_t i = 0; i < MAX_COUNT; i++) {
- sum += st.marks[i];
- }
- return sum / (float)MAX_COUNT;
- }
- void printAverageMarks(Student* students, size_t count) {
- std::cout << "Average marks: " << std::endl;
- for (size_t i = 0; i < count; i++) {
- std::cout << averageMark(students[i]) << std::endl;
- }
- }
- Student& getBestStudent(Student* students, size_t count)
- {
- size_t currBestStudentIndex = 0;
- float highestMark = averageMark(students[0]);
- for (int i = 1; i < count; i++)
- {
- float currAverageMark = averageMark(students[i]);
- if (currAverageMark > highestMark) {
- highestMark = currAverageMark;
- currBestStudentIndex = i;
- }
- }
- return students[currBestStudentIndex];
- }
- int main()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement