Предмет: Информатика, автор: melfoy

Задан массив данных следующей структуры:

Фамилия; Год рождения; Адрес;

Мужчина: 1) военный; 2) заработная плата

Женщина: 1) количество детей, 2) замужем или нет, 3) заработная плата.

Составить программу с использованием структуры данных, которая обеспечивает ввод полученной информации, вывод ее в виде таблицы и обнаружение разницы между максимальной и минимальной заработной платой мужчин и женщин.В С++

Как вывести(сделать) таблицу, которая будет нормально выглядеть из этого кода!!!!!!!

#include
#include
#include
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;

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

cout<< i+1<<" surname:"< maxMaleSalary) {

maxMaleSalary = people[i].salary;

}

if (people[i].salary < minMaleSalary) {

minMaleSalary = people[i].salary;

}

} else {

if (people[i].salary > maxFemaleSalary) {

maxFemaleSalary = people[i].salary;

}

if (people[i].salary < minFemaleSalary) {

minFemaleSalary = people[i].salary;

}

}

}

// Вычисление разницы между максимальной и минимальной заработной платой мужчин и женщин

double diff = maxMaleSalary - minMaleSalary - (maxFemaleSalary - minFemaleSalary);

cout << "\nРазница между максимальной и минимальной заработной платой мужчин и женщин: " << diff << endl;


}

Ответы

Автор ответа: vlasenkoandrej668
0

Відповідь:

Надіюсь допомогла!!!(УКРАЇНА)

Пояснення:

Для вывода таблицы с информацией о каждом человеке можно воспользоваться функцией setw() из библиотеки iomanip. Эта функция позволяет установить ширину выводимого поля, что позволит выровнять столбцы таблицы. Вот пример, как можно модифицировать код для вывода таблицы:

#include <iostream>

#include <iomanip>

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 << "\nСписок людей:" << endl;

cout << setw(4) << "№" << setw(20) << "Фамилия" << setw(10) << "Год рожд." << setw(20) << "Адрес" << setw(10) << "Пол" << setw(10) << "Военный" << setw(10) << "Дети" << setw(10) << "Замужем" <<

Похожие вопросы
Предмет: Русский язык, автор: aisanabylatova15