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

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

Войти
Регистрация
Восстановить пароль
 
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
#1

Постепенный вывод текста - C++

08.03.2013, 15:10. Просмотров 1126. Ответов 7
Метки нет (Все метки)

Ребят, подскажите пожалуйста, есть ли какой несложный способ сделать так, чтобы текст в консольном приложении появлялся не мгновенно, а постепенно? Как бы, чтобы создавался эффект печатания?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2013, 15:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Постепенный вывод текста (C++):

как сделать вывод текста, результата и продолжение текста - C++
#include <iostream> using namespace std; int main() { int win; cout<<"Введите цифру\n"; cin >> win; ...

Вывод текста - C++
В чем различие этих программ и какой вариант предпочтительнее и почему #include <stdio.h> void main() { printf("Hello world"); ...

Вывод текста - C++
нужно чтобы программа запоминала имя и выводило его. незнаю что нужно поставить перед res; int main() { setlocale(LC_ALL,...

Вывод текста - C++
#include <iostream> #include <conio.h> using namespace std; void main() { setlocale(LC_ALL, "rus"); char a; char...

Некорректный вывод текста - C++
Вот учусь писать функции, и наткнулся на проблемку. После написание и компилирования вот этой функции, вместо нужный мне "Введите пароль" и...

Вывод русского текста - C++
Привет, я тут упражнение из книжки делаю. Там класс с переменными, содержащими имя (тип string) и ID работника (long). Я все сделал, но...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Черный ворон
130 / 124 / 6
Регистрация: 31.01.2012
Сообщений: 435
08.03.2013, 15:22 #2
перед выводом каждой буквы делайте задержку в работе :
C++
1
Sleep(time);
где time - время задержки в миллисекундах
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream.h>
int main()
{
     string a="qwerty";
     int time =200;
     for (int i=0; i< a.length(); i++){
                Sleep(time);
                cout<<a[i];}
     cout<<endl;
     system("pause");
}
1
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
08.03.2013, 15:28 #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <string>
#include <thread>
#include <chrono>
 
int main(int argc, char** argv) 
{
    setlocale (0, "Russian");
    
    std::string s = "Ребят, подскажите пожалуйста, есть ли какой несложный "
            " способ сделать так, чтобы текст в консольном приложении появлялся "
            " не мгновенно, а постепенно? Как бы, чтобы создавался эффект печатания?";
    for (auto& x : s) {
        std::this_thread::sleep_for(std::chrono::milliseconds(100));
        std::cout<<x;
    }
    std::cout<<"\n";
    return 0;
}
0
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
08.03.2013, 15:39  [ТС] #4
Черный ворон, для Sleep ничего подключать не надо? Компилятор почему-то не распознает у меня эту функцию.
yuron_477, у меня почему-то не находит заголовочный thread. Он входит в стандартные заголовочные файлы?
Использую Visual Studio 2008
0
DiffEreD
1430 / 767 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
08.03.2013, 15:56 #5
Цитата Сообщение от Rifle Посмотреть сообщение
Использую Visual Studio 2008
Походу, там его нет.
0
Черный ворон
130 / 124 / 6
Регистрация: 31.01.2012
Сообщений: 435
08.03.2013, 16:08 #6
Rifle, для borland c++ builder'a более ничего подключать не нужно.
для Visual Studio 2008 код будет выглядеть примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "stdafx.h"
#include "iostream"
#include "Windows.h"
 
 
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
 
    string a="qwerty";
     int time =200;
     for (unsigned int i=0; i< a.length(); i++){
                Sleep(time);
                std::cout<<a[i];}    
     std::cout<<endl;
     system("pause");
    return 0;
}
1
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
08.03.2013, 16:21 #7
вот посмотри вот эту тему , плюс там ещё мой проект плавного появление всего консольного окна
Замедление действия
0
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
08.03.2013, 17:11  [ТС] #8
Все, всем спасибо, с выводом разобрался).

Добавлено через 7 минут
Хотя возникла еще другая проблема: как можно так сделать, чтобы по нажатию enter цикл прерывался и выводился сразу весь текст? Делать в цикле запрос на ввод - не вариант, потому что он будет прерывать вывод текста своим ожиданием. Другого что-то ничего пока в голову не приходит.

Добавлено через 31 минуту
Все, снова отбой. Научился прерывать текст с помощью kbhit().
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2013, 17:11
Привет! Вот еще темы с ответами:

Вывод текста в файл - C++
можно ли в c++ форматируемо записывать текст в файл? То есть некоторые слова выделять в файле цветом, или жирным шрифтом?

Постраничный вывод текста - C++
У меня есть функция вывода содержимого файла на экран. И задаётся максимальное количество строк на одну страницу 21. И если у меня на...

Вывод текста на консоль в C++ - C++
парни, необходимо перевести строку printf (&quot;%5d&quot;, a); в с++. интересует как записать “%5d” в с++

Некорректный вывод текста - C++
Здравствуйте! Есть такая функция: wchar_t* GetPlayerInfo() { wchar_t buffer; ....... int player_scores = GetScores(player); ...


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

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

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