Вопрос задан 01.08.2023 в 00:09. Предмет Информатика. Спрашивает Прашкэ Екатерина.

Как сделать таймер на с++(на андроид) Не с помощью sleep(это не работает) Пж помогите

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Смирнова Соня.
#include<iostream>
#include <ctime>
using namespace std;
void startTimer(int ms) {
    clock_t end_time = clock() + ms * (CLOCKS_PER_SEC / 1000);
    while (clock() < end_time) {}
}
int main () {
    cout << "Waitig for 5 seconds..." << endl;
    startTimer(5000); // 5s -> 5000ms
    cout << "5 seconds left.";
    cin.ignore();
    return 0;
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для создания таймера на C++ для Android без использования sleep можно воспользоваться механизмом асинхронного программирования. В данном случае, можно использовать стандартную библиотеку C++11 или более поздних версий, которая поддерживает асинхронные операции.

Один из способов сделать таймер - это использовать класс std::async, который позволяет выполнить функцию в отдельном потоке и получить от неё std::future, чтобы отслеживать результат. В данном случае, мы будем использовать std::this_thread::sleep_for для создания таймера.

Приведу пример простого таймера на C++ для Android:

cpp
#include <iostream> #include <future> #include <chrono> void timerFunction(int seconds) { std::this_thread::sleep_for(std::chrono::seconds(seconds)); std::cout << "Timer completed after " << seconds << " seconds!" << std::endl; } int main() { int duration = 5; // Задаем длительность таймера в секундах std::cout << "Timer started for " << duration << " seconds." << std::endl; // Запускаем таймер в отдельном потоке std::future<void> timerFuture = std::async(std::launch::async, timerFunction, duration); // Дожидаемся завершения таймера timerFuture.wait(); std::cout << "Main thread continues." << std::endl; return 0; }

Этот код создаст таймер на 5 секунд и продолжит работу в главном потоке после истечения указанного времени.

Обратите внимание, что для использования стандартной библиотеки C++11 или более поздних версий вам нужно установить компилятор с поддержкой этих стандартов и настроить окружение для разработки на Android. Возможно, вам также потребуется использовать Android NDK для сборки C++ кода.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос