Неділя, 21.04.2019, 23:33
Гость

Мішатронік

Автор - Кренцін Михайло

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Java чи С++
Всього відповідей: 1
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0




Программа учета успеваемости студентов

Создадим программу, которая будет заниматься учетом успеваемости студентов в группе. Создайте заголовочный файл students.h, в котором будет находиться класс Students.

/* students.h */
#include <string>

class Students {
 public:
 // Установка имени студента
 void set_name(std::string student_name)
 {
 name = student_name;
 }
 // Получение имени студента
 std::string get_name()
 {
 return name;
 }
 // Установка фамилии студента
 void set_last_name(std::string student_last_name)
 {
 last_name = student_last_name;
 }
 // Получение фамилии студента
 std::string get_last_name()
 {
 return last_name;
 }
 // Установка промежуточных оценок
 void set_scores(int student_scores[])
 {
 for (int i = 0; i < 5; ++i) {
 scores[i] = student_scores[i];
 }
 }
 // Установка среднего балла
 void set_average_ball(float ball)
 {
 average_ball = ball;
 }
 // Получение среднего балла
 float get_average_ball()
 {
 return average_ball;
 }

 private:
 // Промежуточные оценки
 int scores[5];
 // Средний балл
 float average_ball; 
 // Имя
 std::string name;
 // Фамилия
 std::string last_name;
};

Мы добавили в наш класс новые методы, а также сделали приватными все его свойства. Функцияset_name() сохраняет имя студента в переменной name, а get_name() возвращает значение этой переменной. Принцип работы функций set_last_name() и get_last_name() аналогичен.

Функция set_scores() принимает массив с промежуточными оценками и сохраняет их в приватную переменную int scores[5].

Теперь создайте файл main.cpp со следующим содержимым.

/* main.cpp */
#include <iostream>
#include "students.h"

int main()
{
 // Создание объекта класса Student
 Students student;

 std::string name;
 std::string last_name;

 // Ввод имени с клавиатуры
 std::cout << "Name: ";
 getline(std::cin, name);

 // Ввод фамилии
 std::cout << "Last name: ";
 getline(std::cin, last_name);

 // Сохранение имени и фамилии в объект класса Students
 student.set_name(name);
 student.set_last_name(last_name);

 // Оценки
 int scores[5];
 // Сумма всех оценок
 int sum = 0;

 // Ввод промежуточных оценок 
 for (int i = 0; i < 5; ++i) {
 std::cout << "Score " << i+1 << ": ";
 std::cin >> scores[i];
 // суммирование
 sum += scores[i];
 }

 // Сохраняем промежуточные оценки в объект класса Student
 student.set_scores(scores);
 // Считаем средний балл
 float average_ball = sum / 5.0;
 // Сохраняем средний балл в объект класса Students
 student.set_average_ball(average_ball);
 // Выводим данные по студенту
 std::cout << "Average ball for " << student.get_name() << " "
 << student.get_last_name() << " is "
 << student.get_average_ball() << std::endl;

 return 0;
}

В самом начале программы создается объект класса Students. Дело в том, что сам класс является только описанием его объекта. Класс Students является описанием любого из студентов, у которого есть имя, фамилия и возможность получения оценок.

Объект класса Students характеризует конкретного студента. Если мы захотим выставить оценки всем ученикам в группе, то будем создавать новый объект для каждого из них. Использование классов очень хорошо подходит для описания объектов реального мира.

После создания объекта student, мы вводим с клавиатуры фамилию, имя и промежуточные оценки для конкретного ученика. Пускай это будет Вася Пупкин, у которого есть пять оценок за семестр — две тройки, две четверки и одна пятерка.

Введенные данные мы передаем set-функциям, которые присваивают их закрытым переменным класса. После того, как были введены промежуточные оценки, мы высчитываем средний балл на основе этих оценок, а затем сохраняем это значение в закрытом свойстве average_ball, с помощью функцииset_average_ball().

Скомпилируйте и запустите программу.

Пример работы программы Students

 

Форма входа
Пошук
Календар
«  Квітень 2019  »
ПнВтСрЧтПтСбНд
1234567
891011121314
15161718192021
22232425262728
2930
Друзі сайту
Погода у Вінниці


Єдина Країна! Единая Страна!