сделал сортировку по алфавиту для структур по первому элементу. но украинские буквы і ї ґ выводяться вверху. Моет быть в locale("rus_rus.1251") надо ввести како-то параметр для укр языка, но я не нашел.
cout << endl << "ЗАВДАННЯ 2" << endl;
int razmer_masiva;
cout << "Введіть кількість рядків для таблиці(7-10 цитата з завдання 'Скласти програму, у якій будуть вводитися 7 - 10 рядків таблиці') " << endl;
while (!(cin >> razmer_masiva) || (cin.peek() != '\n') || razmer_masiva > 10 || razmer_masiva < 7)//Цикл который очищает оставшиеся символы в потоке
{
cin.clear();//сброс битов ошибок входного стандартного потока
while (cin.get() != '\n');
cout << "Неправильний ввід, будь ласка, повторіть ввід спочатку : " << endl;
}
vector<R_T> R_T_vector;
for (int i = 0; i < razmer_masiva; i++) {
string firm;
int Number_of_products;
long Annual_sales;
float Part_of_the_market;
cout << "Введіть Фірму|Кількість продуктів|Річний об’єм продажу ($)|Частину ринку (%%)" << endl;
while (!(cin >> firm >> Number_of_products >> Annual_sales >> Part_of_the_market) || (cin.peek() != '\n'))//Цикл который очищает оставшиеся символы в потоке
{
cin.clear();//сброс битов ошибок входного стандартного потока
while (cin.get() != '\n');
cout << "Неправильний ввід, будь ласка, повторіть ввід спочатку : " << endl;
}
firm[0] = toupper(firm[0], locale("rus_rus.1251"));
R_T_vector.push_back(ryadok_tablici(firm, Number_of_products, Annual_sales, Part_of_the_market));
}
printf("+---------------------------------------------------------------------------+\n");
printf("|Фірми – виробники СКБД |\n");
printf("+---------------------------------------------------------------------------+\n");
printf("|Фірма |Кількість продуктів|Річний об’єм продажу ($)|Частина ринку (%%)|\n");
printf("+---------------------------------------------------------------------------+\n");
for (int i = 0; i < razmer_masiva; i++) {
printf("|%12s|%19d|%24d|%17.1f|\n", R_T_vector[i].firm.c_str(), R_T_vector[i].Number_of_products, R_T_vector[i].Annual_sales, R_T_vector[i].Part_of_the_market);
}
printf("+---------------------------------------------------------------------------+\n");
sort(R_T_vector.begin(), R_T_vector.end(), compareRT);
printf("+---------------------------------------------------------------------------+\n");
printf("|Фірми – виробники СКБД |\n");
printf("+---------------------------------------------------------------------------+\n");
printf("|Фірма |Кількість продуктів|Річний об’єм продажу ($)|Частина ринку (%%)|\n");
printf("+---------------------------------------------------------------------------+\n");
for (int i = 0; i < razmer_masiva; i++) {
printf("|%12s|%19d|%24d|%17.1f|\n", R_T_vector[i].firm.c_str(), R_T_vector[i].Number_of_products, R_T_vector[i].Annual_sales, R_T_vector[i].Part_of_the_market);
}
printf("+---------------------------------------------------------------------------+\n");
return 0;
}
функция
bool compareRT(R_T a, R_T b) {
return a.firm.compare(b.firm) < 0;
}
структура
typedef struct ryadok_tablici {
string firm;
int Number_of_products;
long Annual_sales;
float Part_of_the_market;
ryadok_tablici(string firm, int Number_of_products, long Annual_sales, float Part_of_the_market) {
this->firm = firm;
this->Number_of_products = Number_of_products;
this->Annual_sales = Annual_sales;
this->Part_of_the_market = Part_of_the_market;
}
}R_T;
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Не записывает в файлМожет ли быть ошибка с правами доступа?если да, то как её решить?подскажите пожалуйста, try catch уже пробовала
Подскажите, пожалуйста, когда для статичного объекта в C++ вызывается конструктор?
Метод next () - возвращает указатель/итератор на следующий за каким-л элементомКак называется обратный метод? В голову пришёл back, но как вижу,...