realpython / realpython/materials

проект2

Abierto
#725 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Jupyter Notebook
Estrellas
5.2k
Forks
5.3k
Merge medio
4 d 10 h
PR fusionados (30 d)
10

Descripción

грамотно ли написан следующий код:
#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;

}

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Comienza revisando el programa en C++ pegado y determina si pertenece a los materiales educativos de este repositorio. No se identifica ningún archivo del proyecto, prueba ni corrección específica, por lo que el issue necesita un objetivo definido y criterios de aceptación antes de que el trabajo pueda considerarse terminado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp
Área
content
Tipo de issue
Documentación
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
15/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.