Постановка задачи:
1. Сформировать массив из элементов структурного типа. Структурный тип определен в варианте. Ввести данные для десяти элементов массива.
2. Вывести массив на экран.
3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию. Вывести найденные элементы на экран. В случае отсутствия таких элементов, вывести сообщение об этом.
Задание:
Определить структурный тип для представления анкеты ребенка, состоящей из его имени, пола и роста. Определить средний рост девочек. Вывести данные по девочкам, чье имя совпадает с введенным с клавиатуры.
(Анкету ребенка сделать в int main через for)
(Надо чтобы средний рост девочек был отдельной функцией и данные по девочкам, чье имя совпадает)
C/C++
C++ | Структуры и массивы структур. Помогите пожалуйста!
Я еще не настолько профи, чтобы деньги брать.
#include <iostream>
#include <iomanip>
#include <Windows.h>
using namespace std;
struct child
{
string name{}; //имя
uint16_t height{}; //рост
bool ismale{}; //пол
};
void print(child* vec, uint16_t size, string name = "")
{
bool chk = false;
for (int i = 0;i<size;i++)
if (vec[i].name == name || !name.length()) {
cout << setw(10) << vec[i].name << setw(7) << vec[i].height << endl; chk = true;
}
if (name.length() && !chk) cout << "Данного имени нет в списках\n";
}
double height(child* vec, uint16_t size)
{
double h = 0;
int count = 0;
for (uint16_t i = 0; i < size; i++) if (!vec[i].ismale) h += vec[i].height, count++;
return h ? h / count : 0; //если рост пуст - вернуть нуль.
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << "Введите размер списка:\n";
int size; cin >> size;
child* childs = new child[size];
cout << "Вводите данные: имя, рост (в см), пол (0-девочка, 1-мальчик)\n";
for (int i = 0; i < size; i++)
{
cout << i+1 << "):\n";
cin >> childs[i].name >> childs[i].height >> childs[i].ismale;
}
print(childs,size);
double aver = height(childs, 5);
if (!aver) cout << "Девочек в списке нет\n"; else cout << "Средний рост девочек: " << setprecision(2) << fixed << aver << " см\n";
cout << "Введите имя для поиска:\n";
string name;
cin >> name;
print(childs, size, name);
delete[] childs;
}
#include <iostream>
#include <iomanip>
#include <Windows.h>
using namespace std;
struct child
{
string name{}; //имя
uint16_t height{}; //рост
bool ismale{}; //пол
};
void print(child* vec, uint16_t size, string name = "")
{
bool chk = false;
for (int i = 0;i<size;i++)
if (vec[i].name == name || !name.length()) {
cout << setw(10) << vec[i].name << setw(7) << vec[i].height << endl; chk = true;
}
if (name.length() && !chk) cout << "Данного имени нет в списках\n";
}
double height(child* vec, uint16_t size)
{
double h = 0;
int count = 0;
for (uint16_t i = 0; i < size; i++) if (!vec[i].ismale) h += vec[i].height, count++;
return h ? h / count : 0; //если рост пуст - вернуть нуль.
}
int main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << "Введите размер списка:\n";
int size; cin >> size;
child* childs = new child[size];
cout << "Вводите данные: имя, рост (в см), пол (0-девочка, 1-мальчик)\n";
for (int i = 0; i < size; i++)
{
cout << i+1 << "):\n";
cin >> childs[i].name >> childs[i].height >> childs[i].ismale;
}
print(childs,size);
double aver = height(childs, 5);
if (!aver) cout << "Девочек в списке нет\n"; else cout << "Средний рост девочек: " << setprecision(2) << fixed << aver << " см\n";
cout << "Введите имя для поиска:\n";
string name;
cin >> name;
print(childs, size, name);
delete[] childs;
}
Похожие вопросы
- C++ | Структуры и массивы структур. Помогите пожалуйста!
- Структура и массив структуры С++ Помогите пожалуйста
- Помогите пожалуйста - создать 4 массива на c++
- Динамические массивы структур. Помогите с решением.
- Такая лаба мне попалась.. Не шарю в структурах, кому не сложно помогите пожалуйста
- С++ структуры. Помогите ппжпж жпж пж ж
- Помогите, пожалуйста решить на C++, используя многомерные статические массивы
- Помогите пожалуйста со структурами. Нужно перебрать свойство структуры.
- Помогите, пожалуйста, написать программу на C++ (массивы)
- Помогите пожалуйста написать программу небольшую в C++. Одномерный массив