Untitled
unknown
c_cpp
3 years ago
2.6 kB
9
Indexable
#include <iostream>
#include <algorithm>
#include <string>
#include "student.h"
using namespace std;
int getAvgMark(int marks[5], int numMarks) {
int avgMark = 0;
for (int i = 0; i < numMarks; i++) {
avgMark += marks[i];
}
return avgMark / numMarks;
}
void enterStudents(Student students[], int limit) {
for (int i = 0; i < limit; i++) {
cout << "Student " << i + 1 << endl;
cout << "Name: ";
cin >> students[i].name;
cout << "Group: ";
cin >> students[i].group;
cout << "Marks: ";
for (int j = 0; j < 5; j++) {
cin >> students[i].marks[j];
}
}
}
void printStudents(Student students[], int limit) {
for (int i = 0; i < limit; i++) {
cout << "Student " << i + 1 << endl;
cout << "Name: " << students[i].name << "\t";
cout << "Group: " << students[i].group << "\t";
cout << "Marks: ";
for (int j = 0; j < 5; j++) {
cout << students[i].marks[j] << " ";
}
cout << endl;
}
}
void printGoodAndExcellentStudents(Student students[], int limit) {
bool found = false;
for (int i = 0; i < limit; i++) {
int avgMark = getAvgMark(students[i].marks, 5);
if (avgMark >= 75 && avgMark <= 89) {
cout << students[i].name << ", Group " << students[i].group << " (Good)" << endl;
found = true;
}
else if (avgMark >= 90 && avgMark <= 100) {
cout << students[i].name << ", Group " << students[i].group << " (Excellent)" << endl;
found = true;
}
}
if (!found) {
cout << "Students not found" << endl;
}
}
void sortStudents(Student students[], int limit) {
for (int i = 0; i < limit - 1; i++) {
for (int j = i + 1; j < limit; j++) {
if (getAvgMark(students[i].marks, 5) > getAvgMark(students[j].marks, 5)) {
swap(students[i], students[j]);
}
}
}
}
int main() {
const int LIMIT_OF_STUDENTS = 5;
Student students[LIMIT_OF_STUDENTS];
enterStudents(students, LIMIT_OF_STUDENTS);
cout << "Students" << endl;
printStudents(students, LIMIT_OF_STUDENTS);
cout << "Good and Excellent Students" << endl;
printGoodAndExcellentStudents(students, LIMIT_OF_STUDENTS);
cout << "Sorted students" << endl;
sortStudents(students, LIMIT_OF_STUDENTS);
printStudents(students, LIMIT_OF_STUDENTS);
return 0;
}
Editor is loading...