Данные об успешности студентов записано в N строках символов, каждый из которых имеет следующую структуру: фамилия и др., № зачетной книжки, оценки по пяти предметам. Поля данных разделены хотя бы одним символом, который не используется для записи указанных данных. Вывести на экран фамилии студентов, средний балл которых меньше заданного значения.
#include "stdafx.h"
#include <string.h>
#include <math.h>
#include <iostream>
using namespace std;
int main() {
char name[200], surname[200];
int number, mark[6];
int mmark;
int k = 0;
for (int i = 0; i < 6; i++)
{
cout << "Input Name, Surname, number and mark of " << i + 1 << " student: " << endl;
cin >> name >> surname >> number >> mark[i];
cout << mark[0] << endl;
}
cout << "Input your medium mark: " << endl;
cin >> mmark;
cout << k << endl;
return 0;
}
Не знаю как задать оценки и найти их среднее арифметическое. Подскажите.!
Что-то типа
struct Student
{
string name, surname;
int number, mark[5];
int sum() { return mark[0]+mark[1]+mark[2]+mark[3]+mark[4]; }
};
int main()
{
vector<Student> studs;
for (int i = 0; i < 6; i++)
{
Student s;
cout << "Input Name, Surname, number and 5 mark of " << i + 1 << " student: " << endl;
if (!(cin >> s.name >> s.surname >> s.number >> s.mark[0] >> s.mark[1] >> s.mark[2] >> s.mark[3] >> s.mark[4]))
{
cout << "Wrong input!\n";
cin.clear();
cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
--i;
continue;
}
studs.push_back(s);
}
double nmark;
cout << "Input your medium mark: " << endl;
cin >> nmark;
for(auto& s: studs)
{
if (s.sum() < 5*nmark)
cout << s.name << " " << s.surname << endl;
}
return 0;
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Не могли бы объяснить отличие выполнение кода на рекурсивном спуске и возврате (с примером)? Как вообще определить, что программа выполняется...
Это мой код, когда я выбираю файл срабатывает callback, но функция get_filename возвращает пустую строку ""