
C/C++
Программирование, пожалуйста помогите очень нужно решить

1.
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using namespace std;
class Pupil {
public:
Pupil() : m(0), r(0), p(0) {}
Pupil(const string& n, short m, short r, short p) : m(m), r(r), p(p), n(n) {}
int sum()const { return m + r + p; }
double average()const { return sum() / 3.0; }
private:
short m, r, p;
string n;
friend ostream& operator<<(ostream& out, const Pupil& p) {
return out << p.n << ", ср. балл: " << p.average();
}
};
template<typename Type>
Type number(const char* msg) {
cout << msg;
Type value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
Pupil pupil() {
cout << "Ф. И. О.: ";
string name;
getline(cin, name);
auto m = number<short>("Математика: ");
auto r = number<short>("Русский язык: ");
auto p = number<short>("Физика: ");
Pupil pupil(name, m, r, p);
return pupil;
}
int main() {
system("chcp 1251 > nul");
auto n = number<size_t>("Количество учеников: ");
vector<Pupil> sheet(n);
for (auto& record : sheet) record = pupil();
puts("");
auto sum = 0.0;
for (const auto& record : sheet) sum += record.average();
auto avg = sum / n;
cout.setf(ios::fixed);
cout.precision(2);
cout << "Срединий балл класса: " << avg << '\n';
auto id = 0U;
for (const auto& record : sheet) {
if (record.average() > avg) {
cout << ++id << ". " << record << '\n';
}
}
cout.precision(8);
cout.unsetf(ios::fixed);
system("pause > nul");
}
2.
a) абсолютно недопустим, функция calc ожидает всего один параметр, а ей передано два
b) допустим
с) допустим
d) условно допустим, т. к. второй параметр будет усечён до типа int с потерей точности
#include <iostream>
#include <iomanip>
#include <string>
#include <vector>
using namespace std;
class Pupil {
public:
Pupil() : m(0), r(0), p(0) {}
Pupil(const string& n, short m, short r, short p) : m(m), r(r), p(p), n(n) {}
int sum()const { return m + r + p; }
double average()const { return sum() / 3.0; }
private:
short m, r, p;
string n;
friend ostream& operator<<(ostream& out, const Pupil& p) {
return out << p.n << ", ср. балл: " << p.average();
}
};
template<typename Type>
Type number(const char* msg) {
cout << msg;
Type value;
cin >> value;
cin.ignore(cin.rdbuf()->in_avail());
return value;
}
Pupil pupil() {
cout << "Ф. И. О.: ";
string name;
getline(cin, name);
auto m = number<short>("Математика: ");
auto r = number<short>("Русский язык: ");
auto p = number<short>("Физика: ");
Pupil pupil(name, m, r, p);
return pupil;
}
int main() {
system("chcp 1251 > nul");
auto n = number<size_t>("Количество учеников: ");
vector<Pupil> sheet(n);
for (auto& record : sheet) record = pupil();
puts("");
auto sum = 0.0;
for (const auto& record : sheet) sum += record.average();
auto avg = sum / n;
cout.setf(ios::fixed);
cout.precision(2);
cout << "Срединий балл класса: " << avg << '\n';
auto id = 0U;
for (const auto& record : sheet) {
if (record.average() > avg) {
cout << ++id << ". " << record << '\n';
}
}
cout.precision(8);
cout.unsetf(ios::fixed);
system("pause > nul");
}
2.
a) абсолютно недопустим, функция calc ожидает всего один параметр, а ей передано два
b) допустим
с) допустим
d) условно допустим, т. к. второй параметр будет усечён до типа int с потерей точности
Похожие вопросы
- Программирование С++. Помогите, пожалуйста, решить задачу.
- Программирование пожалуйста быстрее, и блок схему нужно тоже, помогите пожалуйста
- Программирование C++.Помогите решить пожалуйста
- Помогите решить задачку по программированию, пожалуйста. (с++)
- Программирование C++ Помогите решить задачу
- С++, реализовать код с помощью функции, помогите пожалуйста, очень нужно
- Помогите, пожалуйста, нужно решить задачи С++
- Помогите пожалуйста нужно решить задачу по с++
- Программирование С++ помогите пожалуйста!
- Программирование С++ помогите пожалуйста