Я учу себя C ++ и застрял с таймером в моем коде. Попытка создать сообщение через 3 секунды после предыдущего - PullRequest
1 голос
/ 04 мая 2020

Я застрял, пытаясь отследить сообщение с 3-секундной задержкой. Возможно, я пытаюсь сделать это трудным путем, используя goto. Если у кого-то есть какие-либо предложения, они будут очень благодарны. Спасибо!

Код:

#include <iostream>
#include <string>
using namespace std;

int seconds = 0;
int timer = seconds + 1;
int clock = timer;


int main() {
    string namevar;
    cout << "Enter your name: " << flush;
    cin >> namevar;
    std::cout << "Welcome " << namevar << ". This program was created to teach the user how to code using C++" "\n";
clockf1:do {
    seconds = timer;
    if (clock < 3);
        timer = seconds + 1;
        goto clockf1;
        }
    while (clock == 3);
        cout << "When learning any coding language the first step is to understand how to print Hello World. So let us begin!" << flush;
}

Ответы [ 2 ]

1 голос
/ 04 мая 2020

На самом деле вы можете написать таким образом, чтобы ждать 3 секунды:

#include <bits/stdc++.h>

using namespace std;
using namespace this_thread; 
using namespace chrono;

int sec = 0;
int main(){
    string namevar;
    cout << "Enter your name: " << flush;
    cin >> namevar;
    cout << "Welcome " << namevar << ". This program was created to teach the user how to code using C++" "\n";
    do{
        sleep_for(1s);//sleep for 1 sec
        sec++;
        cout << sec <<endl;
    }while (sec<3);


    cout << "When learning any coding language the first step is to understand how to print Hello World. So let us begin!" << flush;

    return 0;
}

Вы можете прочитать больше о this_thread и chrono в этой предыдущей очереди . Я также рассматриваю c ++ и могу предложить вам эту книгу .

0 голосов
/ 04 мая 2020

Я упростил приведенный выше код, удалив циклы do и while. Думаю, я мог бы также опубликовать это здесь, если кому-то было интересно. Еще раз спасибо всем людям, которые прокомментировали или разместили код, чтобы помочь!

#include <iostream>
#include <string>
#include <chrono>
#include <thread>

using namespace std;
using namespace this_thread;
using namespace chrono;

const string term = "Hello World!";
int main() {
    string namevar;
    cout << "Enter your name: " << flush;
    cin >> namevar;
    std::cout << "Welcome " << namevar << ". This program was created to teach the user how to code using C++" "\n";
    sleep_for(2s);
    cout << "When learning any coding language the first step is to understand how to print Hello World. So let us begin!" << endl;
}
...