Написать программу «успеваемость». Пользователь вводит 10 оценок студента.
Реализовать меню для пользователя:
■ Вывод оценок (вывод содержимого массива);
■ Пересдача экзамена (пользователь вводит номер элемента массива и новую оценку);
■ Выходит ли стипендия (стипендия выходит, если средний бал не ниже 10.7).
Написать код на языке С++(СОРТИРОВКА МАССИВА)
Ответы
Відповідь:
#include <iostream>
#include <algorithm> // библиотека для сортировки массива
using namespace std;
const int N = 10; // константа для размера массива
int main() {
int marks[N]; // объявление массива оценок
double sum = 0; // переменная для хранения суммы оценок
int choice; // переменная для хранения выбора пользователя
// ввод оценок
for (int i = 0; i < N; i++) {
cout << "Введите оценку #" << i + 1 << ": ";
cin >> marks[i];
sum += marks[i]; // добавляем оценку к сумме
}
// меню
while (true) {
cout << endl << "Меню:" << endl;
cout << "1. Вывести оценки" << endl;
cout << "2. Пересдача экзамена" << endl;
cout << "3. Проверить стипендию" << endl;
cout << "4. Выход" << endl;
cout << "Выберите действие: ";
cin >> choice;
switch (choice) {
case 1: // вывод оценок
cout << "Оценки студента: ";
for (int i = 0; i < N; i++) {
cout << marks[i] << " ";
}
cout << endl;
break;
case 2: // пересдача экзамена
int index, new_mark;
cout << "Введите номер оценки, которую нужно изменить (от 1 до " << N << "): ";
cin >> index;
cout << "Введите новую оценку: ";
cin >> new_mark;
marks[index - 1] = new_mark;
sum += new_mark - marks[index - 1]; // корректируем сумму
break;
case 3: // проверка стипендии
double avg_mark = sum / N;
cout << "Средний балл студента: " << avg_mark << endl;
if (avg_mark >= 10.7) {
cout << "Студент получает стипендию!" << endl;
} else {
cout << "Студент не получает стипендию." << endl;
}
break;
case 4: // выход из программы
return 0;
default: // обработка некорректного выбора
cout << "Ошибка: некорректный выбор. Попробуйте еще раз." << endl;
}
}
}