Untitled
unknown
plain_text
a year ago
2.8 kB
1
Indexable
Never
#include <iostream> #include <string> #include <iomanip> using namespace std; const int i = 4; class City { struct ratio { float male; float female; }; struct info { string name; string mayor; float citizens; ratio procent; }h[i]; public: void enter(); void out(); void sorting(); void choise(); }; void City::enter() { cout << "Введите данные о четырёх городах" << endl << endl; for (int k = 0; k < i; k++) { cout << "Название города" << endl; cin >> h[k].name; cout << "Имя мэра" << endl; cin >> h[k].mayor; cout << "Количество жителей (млн.)" << endl; cin >> h[k].citizens; cout << "Процент мужского населения (до 100.0%)" << endl; cin >> h[k].procent.male; h[k].procent.female = 100.0 - h[k].procent.male; } } void City::out() { system("cls"); cout << "Города" << endl; cout << left << setw(30) << "Имя" << left << setw(30) << "Мэр" << left << setw(30) << "Жители, млн." << left << setw(30) << "Соотношение мужчин и женщин, %" << endl << endl; for (int k = 0; k < i; k++) { cout << left << setw(30) << h[k].name << left << setw(30) << h[k].mayor << left << setw(30) << h[k].citizens << h[k].procent.male << "|" << h[k].procent.female << endl; } system("pause"); } void City::sorting() { system("cls"); info t; cout << "Сортировка по горожанам по возрастанию" << endl; for (int k = 0; k < i - 1; k++) { for (int j = 0; j < i - 1; j++) { if (h[j].citizens>h[j+1].citizens) { t = h[j]; h[j] = h[j + 1]; h[j + 1] = t; } } } cout << left << setw(30) << "Имя" << left << setw(30) << "Мэр" << left << setw(30) << "Жители, млн." << left << setw(30) << "Соотношение мужчин и женщин, %" << endl << endl; for (int k = 0; k < i; k++) { cout << left << setw(30) << h[k].name << left << setw(30) << h[k].mayor << left << setw(30) << h[k].citizens << h[k].procent.male << "|" << h[k].procent.female << endl; } system("pause"); } void City::choise() { system("cls"); cout << "Города с населением больше 100 млн." << endl << left << setw(30) << "Имя" << left << setw(30) << "Мэр" << left << setw(30) << "Жители, млн." << left << setw(30) << "Соотношение мужчин и женщин, %" << endl << endl; for (int k = 0; k < i; k++) { if (h[k].citizens > 100) { cout << left << setw(30) << h[k].name << left << setw(30) << h[k].mayor << left << setw(30) << h[k].citizens << h[k].procent.male << "|" << h[k].procent.female << endl; } } system("pause"); } int main() { setlocale(LC_ALL, "rus"); City t; t.enter(); t.out(); t.sorting(); t.choise(); }