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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
LoL4ik
0 / 0 / 0
Регистрация: 13.10.2012
Сообщений: 20
#1

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

13.10.2012, 16:09. Просмотров 1584. Ответов 16
Метки нет (Все метки)

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

Изображение в консольном приложении. - C++
Помогите, пожалуйста, с загрузкой и отображением изображений формата bmp в консольном приложении C++. Очень надо! Заранее спасибо.

WxWidgets - в консольном приложении - C++
Начал изучение библиотек wxWidgets в Code Blocks, столкнулся с проблемой компиляции, вроде все подключено,просто строку в консоль выводит а...

Таблица в консольном приложении - C++
Здравствуйте. Помогите пожалуйста советом, как организовать таблицу в консольном приложении? Таблица состоит из n строк и 2 столбцов.

Вывод в консольном приложении - C++
Мне надо после 19 вернуться на прежнюю строку. Что бы после 19 числа начали выводиться вверх ( по спирали, и что бы ничего не стиралось )....

Меню в консольном приложении - C++
есть ошибки не могу исправить #include <iostream> #include <iomanip> #include <ctime> #include <cstdlib> using namespace std; ...

Тетрис в консольном приложении - C++
Помогите с написанием тетриса в консоли, пожалуйста. Как сделать поле, и чтобы по нему передвигалась фигура? И чтобы можно было стрелками...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
13.10.2012, 16:18 #2
LoL4ik, Sleep(1000*n);
где n-колличество секунд простоя программы
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
13.10.2012, 16:20 #3
Цитата Сообщение от Invader_Zim Посмотреть сообщение
Sleep(1000*n);
Только время будет ХЗ какое, зависящее от компа, на котором выполняется программа.
0
Invader_Zim
Twilight Parasite
153 / 149 / 2
Регистрация: 21.07.2011
Сообщений: 908
13.10.2012, 16:22 #4
John Prick, неа, будет приблизительно нужное.
пенек первый спит секудну.
Core 2 duo спит секунду.
Разница там для ТС не значительна.
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
13.10.2012, 16:25 #5
Я мало программирую в винде и Sleep меня как-то совсем не радовал по стабильности времени. Но мне и не сильно надо было, поэтому других методов не искал. Но в любом случае, это тонкости.
0
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");
 
}
}
0
soon
2540 / 1305 / 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;
}
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 ==========


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

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

soon, ты через что сделал?
0
soon
2540 / 1305 / 81
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
13.10.2012, 17:36 #14
LoL4ik, g++ 4.8.0 experimental
0
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
13.10.2012, 21:11 #15
C++
1
StdAfx.h
Создай пустой проект (empty project) без всяких stdafx и прочих.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2012, 21:11
Привет! Вот еще темы с ответами:

Timer в консольном приложении - C++
Доброе время суток! Подскажите пожалуйста, как в консольном приложении создать таймер, который бы срабатывал каждые n минут или в...

Графика в консольном приложении - C++
Помогите создать приблизительно такую штуку, которая будет высвечиваться при запуске консольной программы, и по нажатию на любую клавишу...

Таймер в консольном приложении - C++
Всем доброго времени суток, у меня вопрос, как сделать так, чтобы программа записывала текст в файл, а, к примеру через 40 минут стирала...

Таймер в консольном приложении - C++
Подскажите, как сделать чтобы консольное приложение было постоянно запущено и раз в 1 минуту выполняло одну из функций? Добавлено...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.10.2012, 21:11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru