realpython / realpython/materials

проект2

Ouverte
#725 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
5.2k
Forks
5.3k
Merge moyen
4 j 10 h
PR mergées (30 j)
10

Description

грамотно ли написан следующий код:
#include
#include
#include
#include

using namespace std;

struct Student {
string name;
vector grades;
};

// Функция для определения успеваемости
string determinePerformance(const vector& grades) {
bool hasFive = false;
bool hasFour = false;
bool hasThree = false;
bool hasTwo = false;

for (int grade : grades) {
    if (grade == 5) hasFive = true;
    if (grade == 4) hasFour = true;
    if (grade == 3) hasThree = true;
    if (grade == 2) hasTwo = true;
}

if (hasTwo) return "Угроза отчисления";
if (hasThree) return "Надо стараться лучше";
if (hasFive && !hasFour) return "Молодец";
if (hasFive && hasFour) return "Хорошо";
if (hasFour && !hasFive) return "Неплохо";
return "У вас есть стипендия";

}

// Функция для вычисления среднего балла
double calculateAverage(const vector& grades) {
double sum = 0;
for (int grade : grades) {
sum += grade;
}
return sum / grades.size();
}

int main() {
// Данные студентов
vector students = {
{"Иванов Иван", {5, 5, 5, 4}},
{"Максимов Максим", {4, 3, 4, 4}},
{"Андреевич Андрей", {3, 3, 5, 5}}
};

// Вывод информации о каждом студенте
for (const auto& student : students) {
    cout << "Имя: " << student.name << endl;
    cout << "Оценки: ";
    for (int grade : student.grades) {
        cout << grade << " ";
    }
    cout << endl;
    cout << "Средний балл: " << calculateAverage(student.grades) << endl;
    cout << "Успеваемость: " << determinePerformance(student.grades) << endl;
}

return 0;

}

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par examiner le programme C++ fourni et déterminer s’il a sa place dans les supports pédagogiques de ce dépôt. Aucun fichier de projet, test ou correction spécifique n’est identifié ; l’issue a donc besoin d’un objectif défini et de critères d’acceptation avant que le travail puisse être considéré comme terminé.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
content
Type d'issue
Documentation
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
15/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.