Mail.ru
Почта
Мой Мир
Одноклассники
ВКонтакте
Игры
Знакомства
Новости
Календарь
Облако
Заметки
Все проекты
Все проекты
выход
Регистрация
Вход
Категории
Все вопросы проекта
Компьютеры, Интернет
Темы для взрослых
Авто, Мото
Красота и Здоровье
Товары и Услуги
Бизнес, Финансы
Наука, Техника, Языки
Философия, Непознанное
Города и Страны
Образование
Фотография, Видеосъемка
Гороскопы, Магия, Гадания
Общество, Политика, СМИ
Юридическая консультация
Досуг, Развлечения
Путешествия, Туризм
Юмор
Еда, Кулинария
Работа, Карьера
О проектах Mail
Животные, Растения
Семья, Дом, Дети
Другое
Знакомства, Любовь, Отношения
Спорт
Золотой фонд
Искусство и Культура
Стиль, Мода, Звезды
Полный список
Спросить
Лидеры
Поиск по вопросам
Ответы Mail
Программирование
Android
C/C++
C#
iOS
Java
JavaScript
jQuery
SQL
Perl
PHP
Python
Веб-дизайн
Верстка, CSS, HTML, SVG
Системное администрирование
Другие языки и технологии
Вопросы - лидеры.
Clickteam Fusion 2.5: Прекращена работа программы edrt.exe
1 ставка
Как перенести значения с электронного штангель циркуля на LCD монитор, через Ардуино
1 ставка
Лидеры категории
Лена-пена
Искусственный Интеллект
М.И.
Искусственный Интеллект
Y.Nine
Искусственный Интеллект
•••
К переменной username применяется некорректная кодировка, хоть и указано в главном блоке кодировка RU.
Артур Кириллов
Профи
(656), на голосовании
2 недели назад
#include <iostream>
#include <random>
#include <Windows.h>
#include <array>
#include <thread>
#include <sstream>
typedef std::string string_t;
#define cout_d std::cout
#define cin_d std::cin
#define endl_d std::endl
#define cls_d system("cls")
int generateRandomNumber(int range_min, int range_max) {
int random_number;
std::random_device rd;
std::mt19937 generator(rd());
std::uniform_int_distribution<> distribution(range_min, range_max);
random_number = distribution(generator);
return random_number;
}
float getResponseTime(std::atomic<bool>& is_process_input) {
float response_time = 0.0f;
while (true) {
if (!is_process_input) break;
Sleep(100);
response_time += 0.1f;
}
return response_time;
}
class UserResult {
public:
string_t example;
unsigned short right_answer;
int user_answer;
float response_time;
bool error_answer;
UserResult() : example(""), right_answer(0), user_answer(0), response_time(0), error_answer(0) {}
UserResult(string_t param1, unsigned short param2, int param3, float param4, bool param5) {
example = param1;
right_answer = param2;
user_answer = param3;
response_time = param4;
error_answer = param5;
}
};
int main() {
setlocale(LC_ALL, "RU");
const unsigned short range_min = 1, range_max = 10;
unsigned int random_number1, random_number2, right_answer, user_answer, example_number, quantity_right_answers = 0;
float response_time, total_time = 0.0f;
std::atomic<bool> is_process_input;
bool error_answer;
string_t user_name; <-------------------
cout_d << "Введите ваше имя: ";
cin_d >> user_name;
std::array<UserResult, 10> user_results_array;
for (int i = 0; i < user_results_array.size(); i++) {
random_number1 = generateRandomNumber(range_min, range_max);
random_number2 = generateRandomNumber(range_min, range_max);
right_answer = random_number1 * random_number2;
is_process_input = true;
std::stringstream example;
example << random_number1 << " * " << random_number2;
std::thread timer_thread([&]() { response_time = getResponseTime(is_process_input); });
cls_d;
cin_d >> user_answer;
is_process_input = false;
timer_thread.join();
if (user_answer != right_answer) error_answer = true;
else error_answer = false;
user_results_array[i] =
UserResult (
example.str(),
right_answer,
user_answer,
response_time,
error_answer
);
}
cls_d;
for (int i = 0; i < user_results_array.size(); i++) {
example_number = i + 1;
cout_d << "Ответ " << user_name << ": " << user_results_array[i].user_answer << endl_d;
}
for (int i = 0; i < user_results_array.size(); i++) {
total_time += user_results_array[i].response_time;
if (user_results_array[i].error_answer == 0) quantity_right_answers += 1;
}
return 0;
} Много кода было вырезано, т.к. мыло не пропускало
Голосование за лучший ответ
Лайт Ягами
Искусственный Интеллект
(306057)
1 месяц назад
Не существует кодировки RU
Похожие вопросы
#include <random>
#include <Windows.h>
#include <array>
#include <thread>
#include <sstream>
typedef std::string string_t;
#define cout_d std::cout
#define cin_d std::cin
#define endl_d std::endl
#define cls_d system("cls")
int generateRandomNumber(int range_min, int range_max) {
int random_number;
std::random_device rd;
std::mt19937 generator(rd());
std::uniform_int_distribution<> distribution(range_min, range_max);
random_number = distribution(generator);
return random_number;
}
float getResponseTime(std::atomic<bool>& is_process_input) {
float response_time = 0.0f;
while (true) {
if (!is_process_input) break;
Sleep(100);
response_time += 0.1f;
}
return response_time;
}
class UserResult {
public:
string_t example;
unsigned short right_answer;
int user_answer;
float response_time;
bool error_answer;
UserResult() : example(""), right_answer(0), user_answer(0), response_time(0), error_answer(0) {}
UserResult(string_t param1, unsigned short param2, int param3, float param4, bool param5) {
example = param1;
right_answer = param2;
user_answer = param3;
response_time = param4;
error_answer = param5;
}
};
int main() {
setlocale(LC_ALL, "RU");
const unsigned short range_min = 1, range_max = 10;
unsigned int random_number1, random_number2, right_answer, user_answer, example_number, quantity_right_answers = 0;
float response_time, total_time = 0.0f;
std::atomic<bool> is_process_input;
bool error_answer;
string_t user_name; <-------------------
cout_d << "Введите ваше имя: ";
cin_d >> user_name;
std::array<UserResult, 10> user_results_array;
for (int i = 0; i < user_results_array.size(); i++) {
random_number1 = generateRandomNumber(range_min, range_max);
random_number2 = generateRandomNumber(range_min, range_max);
right_answer = random_number1 * random_number2;
is_process_input = true;
std::stringstream example;
example << random_number1 << " * " << random_number2;
std::thread timer_thread([&]() { response_time = getResponseTime(is_process_input); });
cls_d;
cin_d >> user_answer;
is_process_input = false;
timer_thread.join();
if (user_answer != right_answer) error_answer = true;
else error_answer = false;
user_results_array[i] =
UserResult (
example.str(),
right_answer,
user_answer,
response_time,
error_answer
);
}
cls_d;
for (int i = 0; i < user_results_array.size(); i++) {
example_number = i + 1;
cout_d << "Ответ " << user_name << ": " << user_results_array[i].user_answer << endl_d;
}
for (int i = 0; i < user_results_array.size(); i++) {
total_time += user_results_array[i].response_time;
if (user_results_array[i].error_answer == 0) quantity_right_answers += 1;
}
return 0;
} Много кода было вырезано, т.к. мыло не пропускало