realpython / realpython/materials
проект2
Nessuno ha ancora preso questa issue.
- Lingua principale
- Jupyter Notebook
- Stelle
- 5.2k
- Fork
- 5.3k
- Merge medio
- 4g 10h
- PR unite (30g)
- 10
Descrizione
грамотно ли написан следующий код:
#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;
}
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia esaminando il programma C++ incollato e determina se appartiene al materiale didattico di questo repository. Non sono identificati alcun file di progetto, test o correzione specifica, quindi l’issue necessita di un obiettivo definito e di criteri di accettazione prima che il lavoro possa essere considerato completato.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp
- Ambito
- content
- Tipo di issue
- Documentazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 15/100