Форум программистов, компьютерный форум CyberForum.ru

Эмуляция работы светофора в консольном приложении - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
13.10.2012, 16:09     Эмуляция работы светофора в консольном приложении #1
Всем привет! Давно читал ваш форум и находил множество решений в Delphi. Но решил двигаться дальше и начал изучать C++ и решил вопросы задавать сам.
Вот, что мне нужно
Нужно написать светофор. В консольном режиме нужно сделать так, что бы через 60 секунд горела надпись "стой", а 55 секунд "иди".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2012, 16:09     Эмуляция работы светофора в консольном приложении
Посмотрите здесь:

C++ Таймер в консольном приложении
Таблица в консольном приложении C++
Таймер в консольном приложении C++
Timer в консольном приложении C++
C++ Изображение в консольном приложении.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
13.10.2012, 16:18     Эмуляция работы светофора в консольном приложении #2
LoL4ik, Sleep(1000*n);
где n-колличество секунд простоя программы
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
13.10.2012, 16:20     Эмуляция работы светофора в консольном приложении #3
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Sleep(1000*n);
Только время будет ХЗ какое, зависящее от компа, на котором выполняется программа.
Invader_Zim
Twilight Parasite
 Аватар для Invader_Zim
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 907
13.10.2012, 16:22     Эмуляция работы светофора в консольном приложении #4
John Prick, неа, будет приблизительно нужное.
пенек первый спит секудну.
Core 2 duo спит секунду.
Разница там для ТС не значительна.
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
13.10.2012, 16:25     Эмуляция работы светофора в консольном приложении #5
Я мало программирую в винде и Sleep меня как-то совсем не радовал по стабильности времени. Но мне и не сильно надо было, поэтому других методов не искал. Но в любом случае, это тонкости.
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
13.10.2012, 16:28  [ТС]     Эмуляция работы светофора в консольном приложении #6
Invader_Zim, примерно так?
А дальше? Как менять надписи?
Я вот так написал:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdafx.h"
#include <conio.h>
#include <stdio.h>
 
using namespace System;
 
int main()
{
    int n;
Sleep(1000*n);
  {
      printf("Idi!\n");
 
}
}
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.10.2012, 16:48     Эмуляция работы светофора в консольном приложении #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <chrono>
#include <cstdlib>
#include <thread>
#include <vector>
#include <string>
 
struct Signal
{
    using Sec_t = std::size_t;
 
    std::string value;
    Sec_t       seconds;
};
 
void clear()
{
#   ifdef WIN32
        std::system("cls");
#   else
        std::system("clear");
#   endif
}
 
int main()
{
    using Signals = std::vector<Signal>;
 
    const Signals signals
    {
        {"Stop",    55},
        {"Wait",    5},
        {"Go",      60}
    };
 
    while(true)
        for(const auto& s: signals)
        {
            clear();
            std::cout << s.value << std::endl;
            std::this_thread::sleep_for(std::chrono::seconds(s.seconds));
        }
 
    return 0;
}
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
13.10.2012, 16:55  [ТС]     Эмуляция работы светофора в консольном приложении #8
Там при компиляции фэил показывает:
1>------ Build started: Project: Светофор, Configuration: Debug Win32 ------
1> Светофор.cpp
1>Светофор.cpp(3): warning C4627: '#include <iostream>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Светофор.cpp(4): warning C4627: '#include <chrono>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Светофор.cpp(5): warning C4627: '#include <cstdlib>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Светофор.cpp(6): warning C4627: '#include <thread>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Светофор.cpp(7): warning C4627: '#include <vector>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Светофор.cpp(8): warning C4627: '#include <string>': skipped when looking for precompiled header use
1> Add directive to 'StdAfx.h' or rebuild precompiled header
1>Светофор.cpp(49): fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "StdAfx.h"' to your source?
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Это я исправил, но там все равно еще много фэилов...
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.10.2012, 17:01     Эмуляция работы светофора в консольном приложении #9
LoL4ik, Какой компиялтор?
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
13.10.2012, 17:05  [ТС]     Эмуляция работы светофора в консольном приложении #10
go, Microsoft Visual C++ 2010
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.10.2012, 17:13     Эмуляция работы светофора в консольном приложении #11
LoL4ik, нужна поддержка C++11. Ну или изать WinAPI.
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.10.2012, 17:13     Эмуляция работы светофора в консольном приложении #12
http://liveworkspace.org/code/544290...606f57621e1aaf

Я без понятия, поддерживает-ли последний msvc r-b for, using и списки инициализации.
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
13.10.2012, 17:31  [ТС]     Эмуляция работы светофора в консольном приложении #13
go, где это найти?

soon, ты через что сделал?
soon
 Аватар для soon
2536 / 1301 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.10.2012, 17:36     Эмуляция работы светофора в консольном приложении #14
LoL4ik, g++ 4.8.0 experimental
John Prick
754 / 687 / 123
Регистрация: 27.07.2012
Сообщений: 1,974
Завершенные тесты: 3
13.10.2012, 21:11     Эмуляция работы светофора в консольном приложении #15
C++
1
StdAfx.h
Создай пустой проект (empty project) без всяких stdafx и прочих.
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
14.10.2012, 17:07  [ТС]     Эмуляция работы светофора в консольном приложении #16
John Prick, а что дальше? Как туда код вставлять?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.10.2012, 18:18     Эмуляция работы светофора в консольном приложении
Еще ссылки по теме:

C++ Вывод в консольном приложении
Графика в консольном приложении C++
Тетрис в консольном приложении C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
14.10.2012, 18:18     Эмуляция работы светофора в консольном приложении #17
LoL4ik, Если у Вас стоит Win, то скачайте MiNGW.

Добавлено через 1 минуту
Сборки MinGW(GCC-win32/win64) от niXman
Yandex
Объявления
14.10.2012, 18:18     Эмуляция работы светофора в консольном приложении
Ответ Создать тему
Опции темы

Текущее время: 09:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru