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

Очистка экрана - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура: вывод на дисплей фамилии и номеров групп студентов, если средний балл выше 4 http://www.cyberforum.ru/cpp-beginners/thread636434.html
Описать структуру содержащую поля фамилия и инициалы номер группы успеваемость(массив из 5 цифр) Написать программу , выполняющие следующие действия: -написать с клавиатуры данные в массив состоящий из структур;записи должны быть упорядочены по возрастанию номера группы -вывод на дисплей фамилии и номеров групп студентов, если средний балл выше 4 -если таких нет вывести...
C++ Олимпиадная задача Был в прошлом году на олимпиаде по программированию и там была такая задача: После запуска программы пользователь должен начать последовательно вводить "2+2+2+2+2" ввод "++" означает завершение ввода после чего программа должна выдать сумму введенных чисел а именно двоек. Ума не приложу как ее решить, помогите пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread636410.html
Освобождение памяти C++
Написал программу.Но есть проблема при освобождении памяти,в значениях locals (visual studio 2010) Указатель массивов pAxx остается значение,pAxx2 -удаляется все отлично. Хотя условие вроде бы написано правильно.Заранее спасибо. Вот код программы: #include<iostream> using namespace std; int main() { setlocale(LC_ALL, "rus"); int r=2,OPr,f=3,s=1;
Визуальный редактор C++
Я пользуюсь Microsoft Visual C++ 2008 Express Edition и я знаю что там есть визуальный редактор, как к какому нибудь элементу подключить клавитуру мышь. И вабше заставить их работать.
C++ Почему нельзя компилировать отдельный заголовочный файл? http://www.cyberforum.ru/cpp-beginners/thread636390.html
Вообще можно весь код поместить в один .cpp файл. Но, как я понимаю, люди советуют все функции помещать в отдельные заголовочные файлы. А потом эти заголовочные файлы подключать директивой #include в основной файл .cpp. Хотя я не понимаю, чем это лучше то? Не вижу преимуществ. Не так давно задал этот вопрос своему шефу. Но только он задачи решает не на С++ как я, а на Фортране. Для Фортрана у...
C++ Почему Visual Studio 2010 не нумерует строчки? Как я понимаю, сами строчки считаются, но их номера мне почему-то не показываются. Вот, например, маленький код: #include <iostream> using namespace std; #include <conio.h> int main() { cout<<"Hello World"<<endl getch(); return 0; } подробнее

Показать сообщение отдельно
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
12.08.2012, 16:09     Очистка экрана
не. символы перезатрираться должны. скажем если раньше была звездочка, а я поверх нее рисую пробел, то пробел затрет звездочку, потому что в этом месте должен рисоваться целиком новый символ.
На счет винапи и gdi - это лучше сразу не консольное приложение делать, а по нормальному. даже эмулировать консольный вид будет проще, чем заставить настоящее консольное окошко работать как надо.

кстати попробовал свою идейку. мерцает не тас сильно, но какие-то черные точки все таки проскакивают. Вот код прохода пробела по полю из символов '@'



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
#include "stdafx.h"
#include <windows.h>
#include <iostream>
#include <string>
 
HANDLE GetConsoleHandle()
{
  return GetStdHandle(STD_OUTPUT_HANDLE);
}
 
void GoToXY(unsigned x, unsigned y)
{
  COORD coord = { static_cast<SHORT>(x), static_cast<SHORT>(y) };
  SetConsoleCursorPosition(GetConsoleHandle(), coord);
}
 
class ScreenBuffer
{
  unsigned m_width;
  unsigned m_height;
  std::string m_buffer;
 
public:
  ScreenBuffer(unsigned width, unsigned height)
    : m_width(width)
    , m_height(height)
  {
    const unsigned size = (m_width + 1) * m_height;
    m_buffer.resize(size);
    Clear();
  }
 
  unsigned GetWidth()
  {
    return m_width;
  }
 
  unsigned GetHeight()
  {
    return m_height;
  }
 
  void Fill(char ch)
  {
    for (size_t i = 0, end = m_buffer.size(); i != end; ++i)
      m_buffer[i] = ch;
 
    for (size_t i = 1, end = m_height; i <= end; ++i)
    {
      m_buffer[(i * (m_width + 1)) - 1] = '\n';
    }
  }
 
  void Clear()
  {
    Fill(' ');
  }
 
  void Draw(unsigned x, unsigned y, char ch)
  {
    m_buffer[y * (m_width + 1) + x] = ch;
  }
 
  void DrawToScreen() const
  {
    GoToXY(0, 0);
    std::cout << m_buffer;
  }
};
 
int main()
{
  ScreenBuffer screenBuffer(40, 20);
 
  for (unsigned y = 0; y < screenBuffer.GetHeight(); ++y)
  {
    for (unsigned x = 0; x < screenBuffer.GetWidth(); ++x)
    {
      screenBuffer.Fill('@');
      screenBuffer.Draw(x, y, ' ');
      screenBuffer.DrawToScreen();
      Sleep(10);
    }
  }
 
  return 0;
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru