C++
Постановка задачи:
1. Сформировать массив из элементов структурного типа. Структурный тип определен в варианте. Ввести данные для десяти элементов массива.
2. Вывести массив на экран.
3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию. Вывести найденные элементы на экран. В случае отсутствия таких элементов, вывести сообщение об этом.
Задание:
Определить структурный тип для представления анкеты ребенка, состоящей из его имени, пола и роста. Определить средний рост девочек. Вывести данные по девочкам, чье имя совпадает с введенным с клавиатуры.
Ответы на вопрос
Відповідь:
С++ code:
#include <iostream>
#include <string>
struct Child{
private:
std::string name;
int height;
std::string gender;
public:
void set_name(std::string name){this->name = name;}
void set_height(int height){this->height = height;}
void set_gender(std::string gender){this->gender = gender;}
int get_height(){return this->height;}
std::string get_name(){return this->name;}
std::string get_gender(){return this->gender;}
};
double Average_height_of_girls(Child* object,int size){
double average = 0;
int counter = 0;
for(int i = 0; i < size; i++){
if(object[i].get_gender() == "Female"){
average += object[i].get_height();
counter++;
}
}
return average / counter;
}
void input_child(Child* object,int size){
std::string input;
int height;
for(int i = 0; i < size; i++){
std::cout << "\tThe " << i + 1 << " child" << std::endl;
std::cout << "Name: ";
std::cin >> input;
object[i].set_name(input);
std::cout << "Height: ";
std::cin >> height;
object[i].set_height(height);
std::cout << "Gender(Male,Female): ";
std::cin >> input;
object[i].set_gender(input);
}
}
void output_child(Child* object,int size){
for(int i = 0; i < size; i++){
std::cout << "\tThe " << i + 1 << " child: " << std::endl;
std::cout << "Name: " << object[i].get_name() << " Age: " << object[i].get_height() << " Gender: " << object[i].get_gender() << std::endl;
}
}
void find_name(Child* object, int size,std::string find_name){
bool check = false;
for(int i = 0; i < size; i++){
if(object[i].get_gender() == "Female"){
if(object[i].get_name() == find_name){
std::cout << "Name: " << object[i].get_name() << " Age: " << object[i].get_height() << " Gender: " << object[i].get_gender() << std::endl;
}
}
}
}
int main(){
int size;
std::string find_namee;
std::cout << "Enter a number of children: ";
std::cin >> size;
Child *array = new Child[size];
input_child(array,size);
output_child(array,size);
std::cout << "Average height of girls: " << Average_height_of_girls(array,size) << std::endl;
std::cout << "Enter a name: ";
std::cin >> find_namee;
find_name(array,size,find_namee);
delete[] array;
return 0;
}