• Задан массив данных следующей структуры: Фамилия; Год рождения; Адрес; Мужчина: 1) военный; 2) заработная плата Женщина: 1) количество детей, 2) замужем или нет, 3) заработная плата. Составить программу с использованием структуры данных, которая обеспечивает ввод полученной информации, вывод ее в виде таблицы и обнаружение разницы между максимальной и минимальной заработной платой мужчин и женщин.В С++

Ответы 1

  • Приведенный ниже код на C++ демонстрирует решение задачи с использованием структуры данных. Он запрашивает у пользователя информацию о людях, используя структуру Person, сохраняет данные в массив и выводит таблицу всех людей. Затем программа находит максимальную и минимальную заработную плату среди мужчин и женщин и выводит разницу.

    Объяснение:

    #include <iostream>

    #include <string>

    using namespace std;

    // Структура данных для человека

    struct Person {

    string name;

    int birthYear;

    string address;

    bool isMale;

    bool isMilitary; // только для мужчин

    int numChildren; // только для женщин

    bool isMarried; // только для женщин

    double salary; // только для мужчин и женщин

    };

    int main() {

    const int MAX_PEOPLE = 100; // максимальное количество людей в базе данных

    Person people[MAX_PEOPLE]; // массив для хранения информации о людях

    int numPeople = 0; // текущее количество людей в базе данных

    // Запрос информации о каждом человеке у пользователя

    while (numPeople < MAX_PEOPLE) {

    cout << "Введите информацию о человеке #" << numPeople + 1 << endl;

    // Общая информация о человеке

    cout << "Фамилия: ";

    cin >> people[numPeople].name;

    cout << "Год рождения: ";

    cin >> people[numPeople].birthYear;

    cout << "Адрес: ";

    cin >> people[numPeople].address;

    // Информация о поле и занятости

    char gender;

    cout << "Пол (M/F): ";

    cin >> gender;

    people[numPeople].isMale = (gender == 'M');

    if (people[numPeople].isMale) {

    cout << "Военный? (0/1): ";

    cin >> people[numPeople].isMilitary;

    } else {

    cout << "Количество детей: ";

    cin >> people[numPeople].numChildren;

    cout << "Замужем? (0/1): ";

    cin >> people[numPeople].isMarried;

    }

    // Информация о заработной плате

    cout << "Заработная плата: ";

    cin >> people[numPeople].salary;

    // Запрос на продолжение ввода информации

    char response;

    cout << "Добавить еще человека? (Y/N): ";

    cin >> response;

    if (response != 'Y' && response != 'y') {

    break;

    }

    numPeople++;

    }

    // Вывод таблицы с информацией о каждом человеке

    cout << "Список людей:" << endl;

    cout << "Фамилия\tГод рождения\tАдрес\tПол\tЗанятость\tДети\tЗамужем\tЗаработная плата" << endl;

    for (int i = 0; i < numPeople; i++) {

    cout

    • Автор:

      goonlrp7
    • 1 год назад
    • 10
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years