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

Рисование кодами ASCII - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
14.07.2012, 21:28     Рисование кодами ASCII #1
*очередной новичок входит в великий мир С++
Итак, проблема собственно проста. Идея заключается в отрисовке прямоугольничка с использованием ASCII кодов символов. Код следующий:
C++
1
2
3
4
char ch1[]={218,196,196,196,196,196,196,196,196,191};
char ch2[]={179,255,255,255,255,255,255,255,255,179};
char ch3[]={192,196,196,196,196,196,196,196,196,217};
cout<<ch1[10]<<"\n"<<ch2[10]<<"\n"<<ch3[10]<<"\n";
Результат виден на 1-ом скрине. Хотя при выводе кодов по отдельности правильные символы - уголки, черточки, палочки - скрин 2. Где закралась ошибка? Или что-то нужно подключить для корректного отображения символов?
Миниатюры
Рисование кодами ASCII   Рисование кодами ASCII  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
HappyAndRu
13 / 13 / 2
Регистрация: 19.05.2012
Сообщений: 44
14.07.2012, 22:22     Рисование кодами ASCII #2
Ну ты же выводишь только последние элементы массивов.

Добавлено через 21 минуту
Блин не заметил сначала, нумерация массивов с 0 начинается
C++
1
cout<<ch1[9]<<"\n"<<ch2[9]<<"\n"<<ch3[9]<<"\n";
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
14.07.2012, 22:28  [ТС]     Рисование кодами ASCII #3
Благодарю, исправился. Результат все равно немного не тот, чего я ожидал.
C++
1
cout<<ch1<<"\n"<<ch2<<"\n"<<ch3<<"\n"
Миниатюры
Рисование кодами ASCII  
HappyAndRu
13 / 13 / 2
Регистрация: 19.05.2012
Сообщений: 44
14.07.2012, 22:38     Рисование кодами ASCII #4
а полный код можешь выложить?
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
14.07.2012, 22:46  [ТС]     Рисование кодами ASCII #5
Да это собственно и есть весь код
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
#include <time.h>
#include <Windows.h>
#include <stdlib.h>
using namespace std;
void main()         
{
    char ch1[]={218,196,196,196,196,196,196,196,196,196,191};
    char ch2[]={179,255,255,255,255,255,255,255,255,255,179};
    char ch3[]={192,196,196,196,196,196,196,196,196,196,217};
    cout<<ch1<<"\n"<<ch2<<"\n"<<ch3<<"\n";
}
HappyAndRu
13 / 13 / 2
Регистрация: 19.05.2012
Сообщений: 44
14.07.2012, 22:57     Рисование кодами ASCII #6
Странно у меня нормально выводит. Что за компилятор?
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.07.2012, 22:59     Рисование кодами ASCII #7
Это чтобы нарисовать то можно по всем массивм пройтись и каждый код вывести на экран
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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
int main()
{
    char ch1[]={218,196,196,196,196,196,196,196,196,191};
    char ch2[]={179,255,255,255,255,255,255,255,255,179};
    char ch3[]={192,196,196,196,196,196,196,196,196,217};
    int i;
 
    for (i=0; i<9; i++)
        cout << ch1[i];
    cout << endl;
 
    for (i=0; i<9; i++)
        cout << ch2[i];
    cout << endl;
 
 
    for (i=0; i<9; i++)
        cout << ch3[i];
    cout << endl;
 
 
    cout << endl << endl;
    system("pause");
    return 0;
}
Или вот еще что. В конце каждого массива поставьте нолик.
C++
1
2
3
    char ch1[]={218,196,196,196,196,196,196,196,196,191,0};
    char ch2[]={179,255,255,255,255,255,255,255,255,179,0};
    char ch3[]={192,196,196,196,196,196,196,196,196,217,0};
Миниатюры
Рисование кодами ASCII  
HappyAndRu
13 / 13 / 2
Регистрация: 19.05.2012
Сообщений: 44
14.07.2012, 23:01     Рисование кодами ASCII #8
В данном случае не обязательно массив из "char" -это строка по сути.
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
14.07.2012, 23:06  [ТС]     Рисование кодами ASCII #9
MS Visual Studio 11. Массивом-то да, но я хотел как можно проще и меньше кода =) По идее все правильно и должно бы работать, но не работает, поэтому собсно и пишу тут )
HappyAndRu
13 / 13 / 2
Регистрация: 19.05.2012
Сообщений: 44
14.07.2012, 23:09     Рисование кодами ASCII #10
Вот у меня твой код:
Миниатюры
Рисование кодами ASCII  
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.07.2012, 23:11     Рисование кодами ASCII #11
alexelev, Попробуй в каждом массиве в конце поставить нули. У меня тоже без них не работала. А когда поставил то все нормально стало. Четырехугольник печатает
Миниатюры
Рисование кодами ASCII  
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
14.07.2012, 23:13  [ТС]     Рисование кодами ASCII #12
значит, проблема не в коде, спс
да, 0 в конце каждой строки решил проблему, прямоугольничек ровненький вышел
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
14.07.2012, 23:32     Рисование кодами ASCII #13
Еще можно сделать что внутри этого прямоугольника какое-нибудь слово будет написано.
C++
1
2
3
4
5
6
7
    char ch1[]={218,196,196,196,196,196,196,196,196,196,196,196,196,191,0};
    char ch2[]={179,'H','e','l','l','o',',',' ','W','o','r','l','d',179,0};
    char ch3[]={192,196,196,196,196,196,196,196,196,196,196,196,196,217,0};
 
   cout << ch1 << endl
        << ch2 << endl
        << ch3 << endl;
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
16.07.2012, 18:09  [ТС]     Рисование кодами ASCII #14
дабы не плодить одинаковых тем продолжу сюда.
Следующий животрепещущий вопрос: как полученный прямоугольник закрасить цветом? Т.е как изменить цвет ячейки, в моем случае элемента массива?
QWAN
56 / 55 / 1
Регистрация: 02.09.2008
Сообщений: 181
17.07.2012, 10:05     Рисование кодами ASCII #15
Функция SetConsoleTextAttribute устанавливает атрибуты символов, записанных в экранный буфер консоли
http://www.vsokovikov.narod.ru/New_M...tattribute.htm
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2012, 11:43     Рисование кодами ASCII
Еще ссылки по теме:

Сравнение русских букв с их кодами C++
C++ Непонятка с кодами кириллических символов
Подключить ASCII кодировку (рисование рамок в консоли) C++

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

Или воспользуйтесь поиском по форуму:
Kastaneda
17.07.2012, 11:43     Рисование кодами ASCII
  #16

Не по теме:

Помнится я ASCII кодами вот такое рисовал (моя первая программа)
Вложение 24562

Yandex
Объявления
17.07.2012, 11:43     Рисование кодами ASCII
Ответ Создать тему
Опции темы

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