realpython / realpython/materials
проект2
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- 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