Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Составить программу, циклически перемещающую Вашу фамилию по экрану / 2 сообщений из 2, страница 1 из 1
24.12.2012, 10:11
    #38090258
mr.davidos
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить программу, циклически перемещающую Вашу фамилию по экрану
Необходима реализация на Си данного задания:

Составить программу, циклически перемещающую Вашу фамилию по экрану

а) по вертикали снизу вверх,
б) по горизонтали слева направо.
В начале нового цикла должен случайно меняться цвет надписи.


Нужна помощь в написании или просто подскажите в сторону каких функций смотреть
...
Рейтинг: 0 / 0
24.12.2012, 12:58
    #38090521
m_Sla
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Составить программу, циклически перемещающую Вашу фамилию по экрану
Windows консольное приложение. По горизонтали слева направо. Остальное сам допилишь.

Код: plaintext
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.
#include <iostream>
#include <windows.h>

using namespace std;
//===================================================================
void set_pos(short x, short y)
{
    #ifdef WIN32
        COORD Coords;

        Coords.X=x;
        Coords.Y=y;
        SetConsoleCursorPosition( GetStdHandle(STD_OUTPUT_HANDLE), Coords);
    #endif
}
//===================================================================
void ClearScreen()
{
    #ifdef WIN32
        HANDLE                     hStdOut;
        CONSOLE_SCREEN_BUFFER_INFO csbi;
        DWORD                      count;
        DWORD                      cellCount;
        COORD                      homeCoords = { 0, 0 };

        hStdOut = GetStdHandle( STD_OUTPUT_HANDLE );
        if (hStdOut == INVALID_HANDLE_VALUE) return;

        /* Get the number of cells in the current buffer */
        if (!GetConsoleScreenBufferInfo( hStdOut, &csbi )) return;
        cellCount = csbi.dwSize.X *csbi.dwSize.Y;

        /* Fill the entire buffer with spaces */
        if (!FillConsoleOutputCharacter(hStdOut,(TCHAR)' ',cellCount,homeCoords,&count)) return;

        /* Fill the entire buffer with the current colors and attributes */
        if (!FillConsoleOutputAttribute(hStdOut,csbi.wAttributes,cellCount,homeCoords,&count)) return;

        /* Move the cursor home */
        SetConsoleCursorPosition( hStdOut, homeCoords );
    #endif
}
//===================================================================
void set_text_color(unsigned short color)
{
    #ifdef WIN32
        SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), color);
    #endif
}
//===================================================================
void sleep(unsigned long Milliseconds)
{
    #ifdef WIN32
        Sleep(Milliseconds);
    #endif
}
//===================================================================
int main()
{
    for(int i=0; i<25; i++)
    {
        sleep(100);             // задержка 100мс
        ClearScreen();          // очищаем экран

        set_pos(i, 10);         // устанавливаем курсор в новую позицию
        set_text_color(i & 15); // устанавливаем цвет
        cout<<"asdfgh";         // выводим сообщение
    }

    set_text_color(7);
    return 0;
}


...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Составить программу, циклически перемещающую Вашу фамилию по экрану / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]