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

Псевдографика - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 13, средняя оценка - 5.00
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
21.12.2011, 20:20     Псевдографика #1
Тема для рассуждений.
Можно ли вывести на экран, скажем так клетку (3х3) начерченную в файле:
Код
--------------------------------- 
|          |         |           |
|    n    |         |           |
|          |         |           |
---------------------------------
|          |         |           |
|          |         |           |
|          |         |           |
----------------------------------
|          |         |           |
|          |         |           |
|          |         |           |
----------------------------------
И выводить n, как слово или какой то символ в клетку с клавиатуры.
Очень важны любые ваши мысли по этому поводу.

Добавлено через 27 минут
Есть идеи?

Добавлено через 17 часов 7 минут
Хоть какие то?

Добавлено через 3 часа 50 минут
Мысли ..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2011, 20:20     Псевдографика
Посмотрите здесь:

C++ псевдографика в С++
C++ Псевдографика
[C++] Псевдографика C++
Псевдографика C++
C++ псевдографика
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
21.12.2011, 20:21     Псевдографика #2
sonice, всё что в голову пришло сделал
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
//#define mCONSOLE  // макрос для вывода сетки в консоль
#ifdef mCONSOLE
#include <iostream>
typedef std::ostream xstream;
#else
#include <fstream>
typedef std::ofstream xstream;
#endif
 
void mprint(xstream& fp, const char* s, int N, int cx, int cy) {
   int x, y, a, b = cy / 2;
   for(y = 0; y <= cy * N; y++) {
        if(!(y % cy)) {
            for(x = 0; x <= cx * N; x++)
                fp << '-';
            fp << std::endl;
        } else {
            fp << '|';
            a = cx / 2;
            for(int i = 1; i <= cx * N; i++) {
                 if(*s && y == b && i == a) {
                      fp << *s++;
                      a += cx;
                      continue;
                 }
                 fp << ((!(i % cx)) ? '|' : ' ');
            }
            fp << std::endl;
       }
       if(y == b)
          b += cy;
   }
}
 
 
int main(void)
{
  std::ofstream fp("D:\\r.txt");
  mprint(fp, "DOGCATFOX", 3, 10, 6);
  fp.flush();
  fp.close();
  // если макрос-mCONSOLE  объявлен, то вывод в консоль таким образом
  // mprint(std::cout, "DOGCATFOX", 3, 10, 6);
  return 0;
}
Вот так выводить в консоль.
http://codepad.org/JNijDUgM
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
21.12.2011, 20:22     Псевдографика #3
А что тут думать, конечно можно!
Читаешь файл и выводишь на консоль, будет тебе такой же квадрат. Только геометрия может плавать, потому что в консоли высота и ширина символов сильно различаются.
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
21.12.2011, 20:38  [ТС]     Псевдографика #4
Спасибо, макросы еще не проходил правда, а можно прям из файл (txt) вывести, как матрицу что-ли ?

Добавлено через 3 минуты
Цитата Сообщение от Kastaneda Посмотреть сообщение
А что тут думать, конечно можно!
Читаешь файл и выводишь на консоль, будет тебе такой же квадрат. Только геометрия может плавать, потому что в консоли высота и ширина символов сильно различаются.
Как матрицу или что? Если не сложно напишите алгоритм вывода клетки.
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
21.12.2011, 20:44     Псевдографика #5
Цитата Сообщение от sonice Посмотреть сообщение
Как матрицу или что? Если не сложно напишите алгоритм вывода клетки.
Какой тут алгоритм, я же писал:

Цитата Сообщение от Kastaneda Посмотреть сообщение
Читаешь файл и выводишь на консоль, будет тебе такой же квадрат.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <fstream>
#include <string>
 
int main()
{
    std::ifstream in("file.txt");
    //не проверяю открылся ли файл, а надо!
    std::string str;
    while(getline(in, str)) {
        std::cout<<str<<std::endl;
    }
    return 0;
}
в папку с кодом положи file.txt
Код
-------------------------------
|         |         |         |
|         |         |         |
|    D    |    O    |    G    |
|         |         |         |
|         |         |         |
-------------------------------
|         |         |         |
|         |         |         |
|    C    |    A    |    T    |
|         |         |         |
|         |         |         |
-------------------------------
|         |         |         |
|         |         |         |
|    F    |    O    |    X    |
|         |         |         |
|         |         |         |
-------------------------------
Kastaneda
Модератор
Эксперт С++
 Аватар для Kastaneda
4236 / 2769 / 218
Регистрация: 12.12.2009
Сообщений: 7,104
Записей в блоге: 1
Завершенные тесты: 1
21.12.2011, 20:46     Псевдографика #6
Псевдографика
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
21.12.2011, 21:01  [ТС]     Псевдографика #7
Спасибо большое!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.01.2012, 10:21     Псевдографика
Еще ссылки по теме:

C++ Псевдографика на c++
Псевдографика на плюсах C++
C++ Консольная псевдографика

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

Или воспользуйтесь поиском по форуму:
sonice
0 / 0 / 0
Регистрация: 25.05.2011
Сообщений: 41
23.01.2012, 10:21  [ТС]     Псевдографика #8
Слушайте, а как одновременно увеличивать размеры каждого квадрата, допустим на 2 символа?
Yandex
Объявления
23.01.2012, 10:21     Псевдографика
Ответ Создать тему
Опции темы

Текущее время: 02:37. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru