1 / 1 / 1
Регистрация: 07.05.2017
Сообщений: 55
1

Вывод на экран сообщения в "телеграфном" стиле: буквы сообщения должны появляться по одной, с задержкой

14.05.2017, 23:47. Показов 2804. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Написать программу, которая выводит на экран сообщение в "телеграфном" стиле: буквы сообщения должны появляться по одной, с некоторой задержкой.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2017, 23:47
Ответы с готовыми решениями:

Напишите программу, которая выводит на экран сообщение в "телеграфном" стиле: буквы сообщения должны появляться по одной, с некоторой задержкой.
Напишите программу, которая выводит на экран сообщение в "телеграфном" стиле: буквы сообщения...

Написать прогу, которая выводит сообщение в телеграфном стиле: буквы сообщения выводятся с задержкой.
Написать прогу, которая выводит сообщение в телеграфном стиле: буквы сообщения выводятся с...

Напишите программу, которая выводит на экран сообщение в "телеграфном" стиле: буквы сообщения должны появлятьс
Напишите программу, которая выводит на экран сообщение в "телеграфном" стиле: буквы сообщения...

1. Вывести только те слова сообщения, которые начинаются с прописной буквы. 2. Найти все самые длинные слова сообщения
Дана строка, в которой содержится осмысленное текстовое сообщение. Слова сообщения разделяются...

Вывод сообщения на экран
имеется задача: вычислить позицию первого отрицательного элемента в списке. всё я это сделала, надо...

3
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
24.05.2018, 09:58 2
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
 
#ifdef UNIX
 
#include <unistd.h>
 
#define SLEEP usleep
#define SLEEP_TIME 100000
 
#elif defined WINDOWS
 
#include <windows.h>
 
#define SLEEP Sleep
#define SLEEP_TIME 100
 
#else
 
#error UNIX or WINDOWS must be specified
 
#endif
 
#define DEFAULT_BUFFER_SIZE 2048
#define BUFFER_FAILURE (-1)
 
static int PrintBuffer(const char* buffer)
{
    int charsWritten = 0;
 
    while (*buffer != '\0')
    {
        fputc(*buffer, stdout);
        fflush(stdout);
 
        SLEEP(SLEEP_TIME);
 
        charsWritten++;
        buffer++;
    }
 
    return charsWritten;
}
 
 
static int PrintFixedBuffer(const char* fmt, va_list list, int* pCharsRequired)
{
    int result = 0;
 
    char buffer[DEFAULT_BUFFER_SIZE];
 
    int charsCount = vsnprintf(buffer, DEFAULT_BUFFER_SIZE, fmt, list);
 
    if ((charsCount <= DEFAULT_BUFFER_SIZE) && (charsCount >= 0))
    {
        result = PrintBuffer(buffer);
    }
    else
    {
        result = BUFFER_FAILURE;
        *pCharsRequired = charsCount;
    }
 
    return result;
}
 
 
static int PrintDynamicBuffer(const char* fmt, va_list list, int charsRequired)
{
    int result = 0;
 
    char* buffer = malloc(charsRequired + 1);
 
    if (buffer != NULL)
    {
        result = vsnprintf(buffer, charsRequired + 1, fmt, list);
 
        if (result > 0)
        {
            result = PrintBuffer(buffer);
        }
        else
        {
            result = BUFFER_FAILURE;
        }
 
        free(buffer);
    }
    else
    {
        result = BUFFER_FAILURE;
    }
 
    return result;
}
 
int PrintfTelegrpah(const char* fmt, ...)
{
    va_list args;
 
    va_start(args, fmt);
    int charsRequired;
    int charsWritten = PrintFixedBuffer(fmt, args, &charsRequired);
    va_end(args);
 
    if ((charsWritten == BUFFER_FAILURE) && (charsRequired > 0))
    {
        va_start(args, fmt);
        charsWritten = PrintDynamicBuffer(fmt, args, charsRequired);
        va_end(args);
    }
 
    return charsWritten;
}
 
int main(void)
{
    int res = PrintfTelegrpah("%s\n", "This is a test string!!!!!");
 
    return 0;
}
0
1212 / 706 / 335
Регистрация: 22.02.2018
Сообщений: 2,057
Записей в блоге: 2
24.05.2018, 13:52 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
#include <dos.h>
 
main()
{
     char *test = "This is test string";
     int i;
 
     for(i=0; i<strlen(test); i++)
     {
        printf("%c", test[i]);
        sleep(1);
     }
 
      system("pause");
}
0
6045 / 2160 / 753
Регистрация: 10.12.2010
Сообщений: 6,005
Записей в блоге: 3
24.05.2018, 14:48 4
TrollHammer, с вашим подходом также придется fflush-ить в stdout. Этот поток буферизован, так что посимвольно не будет выводить.
0
24.05.2018, 14:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2018, 14:48
Помогаю со студенческими работами здесь

вывод на экран сообщения
Привет всем помогите пж написать сценарий, который бы в зависимости от времени суток выводил бы...

Вывод сообщения на экран
Подскажите, каким методом можно вывести сообщение на экран (не alert) с кнопкой &quot;закрыть&quot;

Вывод сообщения на экран
Эта программа вычисляет корень из числа. Если вместо числа ввести букву или слово, то результатом...

Вывод сообщения на экран
Здравствуйте, уважаемые форумчане. Подскажите, пожалуйста, как надо написать условие для того,...

Вывод на экран сообщения
Написать программу, которая выводит на экран сообщение «Enter string:&quot;, а затем предлагает...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru