Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
10 / 10 / 5
Регистрация: 07.09.2013
Сообщений: 48
1

Анимация символов

07.09.2013, 22:33. Просмотров 1754. Ответов 2
Метки нет (Все метки)

превед ))
решил побаловаться в с++. Нарисовал простенький рисунок( \ / # $ .), а потом решил его "оживить" т.е. добавить анимацию.Делать решил через цикл фор.
Но есть одна проблема.-
Когда делал простую анимацию вроде -

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
 
using namespace std;
 
int  main()
{
 
    for(int i = 1; i<25;i++)
    {
        cout << "\\\r";
        Sleep(70);
        cout << "|\r";
        Sleep(70);
        cout << "/\r";
        Sleep(70);
        cout << "-\r";
        Sleep(70);
        
    }
 
}
то всё получаетсья, ибо вывод состоит только из 1 строки т.к использую символ возврата каретки \r.
Но когда рисунок состоит из многих строк, то не получаеться. Получаетсья что то типо слайда т.е. выводятся по одному в низ, хотя надо как в первом примере.
Вот для примера код -

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
#include <iostream>
 
using namespace std;
 
int main()
{
   for (int i = 1; i<15;i++)
    {
    cout <<"\r-----------\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r-----------\n";
    
Sleep(500);
    
    cout <<"\r-----------\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r-----------\n";
Sleep(500);
    }
system ("pause>>nul");
return 0;
 
}

пробовал \n заменить на endl - не помогло. Короче говоря вариантов переделал много - рузультата почти нет.
Где нужно поставить \r что бы всё заработало? Или как сделать так, как в 1 примере.
Спасибо ))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.09.2013, 22:33
Ответы с готовыми решениями:

Анимация в OpenGL, а где собсно, анимация?
// Bounce.cpp // Demonstrates a simple animated rectangle program with GLUT // OpenGL SuperBible,...

Дана строка символов. Подсчитать общее число вхождений символов +, -, *, / в строку. Произвести обмен символов + и -.
помогите, пожалуйста.

Дана последовательность символов x1, x2, ., xn. Выясните, есть ли среди символов этой последовательности пара символов
Дана последовательность символов x1, x2, ..., xn. Выясните, есть ли среди символов этой...

Дана последовательность символов x1, x2, ., xn. Выясните, есть ли среди символов этой последовательности пара символов
Дана последовательность символов x1, x2, ..., xn. Выясните, есть ли среди символов этой...

2
50 / 50 / 9
Регистрация: 18.07.2013
Сообщений: 138
Записей в блоге: 1
07.09.2013, 22:43 2
Цитата Сообщение от metallix Посмотреть сообщение
Где нужно поставить \r что бы всё заработало? Или как сделать так, как в 1 примере.
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
#include <iostream>
#include <Windows.h>
 
using namespace std;
 
int main()
{
    
   for (int i = 1; i<15;i++)
    {
        
    cout <<"\r-----------\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r|          |\n";
    cout <<"\r-----------\n";
    
Sleep(500);
system("cls");
    
    cout <<"\r-----------\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r|    |     |\n";
    cout <<"\r-----------\n";
Sleep(500);
system("cls");
    }
system ("pause>>nul");
return 0;
 
}
1
10 / 10 / 5
Регистрация: 07.09.2013
Сообщений: 48
07.09.2013, 22:49  [ТС] 3
уоу, как всё просто оказалось )) спасибо ))
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.09.2013, 22:49

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Строку из n символов распечатать по m символов. Если в последней строке нет m символов, то ее не печатать
Строку из n символов распечатать по m символов в строке. Если в последней строке нет m символов, то...

Дана строка символов. Преобразовать данную строку, удалив из нее каждую пару символов >> и вставив вместо них пару символов <<.
Дана строка символов. Преобразовать данную строку, удалив из нее каждую пару символов &gt;&gt; и вставив...

В заданной последовательности символов определить количество символов «*», стоящих после двоеточия
Дана последовательность символов, заканчивающаяся точкой. Известно, что среди этих символов есть...

В последовательности символов заданной в текстовом файле, посчитать общее кол-во символов
В последовательности символов, заданной в текстовом файле, посчитать общее кол-во символов + - *


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

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

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