локализацию в классе без параметров не применяется хотя я добавил в main setlocale
вот параметры которые вводил:
Введите название фирмы: айти
Введите адрес: будапешт 21
Укажите число сотрудников: 3
Введите годовой доход: 1000
Введите отрасль: айти
Является ли фирма публичной (1 - да, 0 - нет): 1
вот результат:
Название фирмы: cвЁ
Адрес: Ўг¤ Ї?ив 21
Количество сотрудников: 3
Годовой доход: 1000.00
Отрасль: cвЁ
Общественная: Да
#include <iostream>
#include <string>
#include <locale>
class Firm {
private:
std::string name;
std::string address;
int worker;
double money;
std::string industry;
bool isPublic;
public:
// Конструктор без параметров
// Конструктор без параметров
Firm() : name(""), address(""), worker(0), money(0), industry(""), isPublic(false) {}
// Конструктор с параметрами
Firm(const std::string& name, const std::string& address, int worker, double money, const std::string& industry, bool isPublic)
: name(name), address(address), worker(worker), money(money), industry(industry), isPublic(isPublic) {}
// Деструктор
~Firm() {}
// Методы для чтения данных в объект и вывода из объекта
void ReadData() {
std::cout << "Введите название фирмы: ";
std::getline(std::cin, name);
std::cout << "Введите адрес: ";
std::getline(std::cin, address);
std::cout << "Укажите число сотрудников: ";
std::cin >> worker;
std::cin.ignore(); // Очищаем символ новой строки из буфера ввода
std::cout << "Введите годовой доход: ";
std::cin >> money;
std::cin.ignore(); // Очищаем символ новой строки из буфера ввода
std::cout << "Введите отрасль: ";
std::getline(std::cin, industry);
std::cout << "Является ли фирма публичной (1 – да, 0 – нет): " << std::endl; // Добавляем std::endl
std::cin >> isPublic;
}
void DisplayData() {
std::cout << "---------------------------------------" << std::endl;
std::cout << "Название фирмы: " << name << std::endl;
std::cout << "Адрес: " << address << std::endl;
std::cout << "Количество сотрудников: " << worker << std::endl;
std::cout << "Годовой доход: " << money << std::endl;
std::cout << "Отрасль: " << industry << std::endl;
std::cout << "Общественная: " << (isPublic ? "Да" : "Нет") << std::endl;
std::cout << "---------------------------------------" << std::endl;
}
// Конструктор копирования
Firm(const Firm& other) {
name = other.name;
address = other.address;
worker = other.worker;
money = other.money;
industry = other.industry;
isPublic = other.isPublic;
}
};
int main() {
std::setlocale(LC_ALL, "ru");
std::locale::global(std::locale("ru"));
Firm firm1; // Использование конструктора без параметров
firm1.ReadData();
std::cout << "Результат конструктора без параметров :" << std::endl;
firm1.DisplayData();
std::cout << "Результат конструктора с параметрами:" << std::endl;
Firm firm2("ABC Inc.", "123 Main St", 100, 5000000.0, "Technology", true); // Использование конструктора с параметрами
firm2.DisplayData();
// Использование конструктора копирования
std::cout << "Результат конструктора копирования :" << std::endl;
Firm firm3 = firm2;
firm3.DisplayData();
return 0;
}