Информатика, вопрос задал arturnuriev812004 , 2 года назад

C++
Постановка задачи:
1. Сформировать массив из элементов структурного типа. Структурный тип определен в варианте. Ввести данные для десяти элементов массива.
2. Вывести массив на экран.
3. Выполнить поиск элементов в массиве, удовлетворяющих заданному в варианте условию. Вывести найденные элементы на экран. В случае отсутствия таких элементов, вывести сообщение об этом.

Задание:
Определить структурный тип для представления анкеты ребенка, состоящей из его имени, пола и роста. Определить средний рост девочек. Вывести данные по девочкам, чье имя совпадает с введенным с клавиатуры.

Ответы на вопрос

Ответил nazikmuz
0

Відповідь:

С++ 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;      

}

Новые вопросы