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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.64
alexelev
1 / 1 / 0
Регистрация: 28.06.2012
Сообщений: 6
#1

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

14.07.2012, 21:28. Просмотров 1452. Ответов 15
Метки нет (Все метки)

*очередной новичок входит в великий мир С++
Итак, проблема собственно проста. Идея заключается в отрисовке прямоугольничка с использованием 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  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.07.2012, 21:28     Рисование кодами ASCII
Посмотрите здесь:

Рисование ASCII кодами и русский текст в консоли - C++
Всем добрый вечер. И вот такой вопрос есть. Сначала печатаю в консоли текст а под ним горизонтальную линию. Только вместо линии...

Нарисовать изображение ASCII кодами - C++
Написать программу, которая рисует изображение, используя ASCII таблицы (ASCII код). Заранее благодарен

Сформировать строку, считая числа начальной строки соответствующими ASCII-кодами символов результирующей строки - C++
Доброго времени суток! Прошу помощи. Дана строка в виде последовательности разделенных запятыми натуральных чисел 32 ... 255....

Подключить ASCII кодировку (рисование рамок в консоли) - C++
Добрый день! Пишу в VS'13. Проект: Консольное приложение Win32 Есть такая проблема. Хочется использовать символы для рисования рамок...

Сравнение русских букв с их кодами - C++
Всем доброго времени суток. Имеется проблема ввода русского языка в консоле(!), при выполнении программы. Суть задания: пользователь...

Не могу разобраться с кодами к заданиям. - C++
1.Дано натуральное число n. Bычислить n! (произведение 1*2*...*n) 2.Задан массив L из N элементов (N не больше 30). Определить...

Непонятка с кодами кириллических символов - C++
Писал программу для перевода символов в верхний регистр. Для латиницы она работает, но странно ведет себя с кирилицей. Собственно код: ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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
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
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
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
58 / 57 / 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++
Как сделать, чтобы не было предупреждений? warning C4309: инициализация: усечение константного значения char dictionary = {...

Объясните отличия между двумя кодами - C++
Всем привет ! Чем отличается такой код for(...){ ... ... } от такого for(...)

Как связать два файла с кодами? - C++
В одном файле вычисляется константа, которая используется при расчете функции в другом файле. Какой элементарный способ можно использовать,...

Выполнить поразрядные логические операции над машинными кодами - C++
99 OR -17 99 AND 17 17 ← 2 (18 OR NOT –8) AND NOT –7 XOR 3 еще блок схему сделайте пожалуйста :)

найти последовательности символов произвольной длины, которые повторяются и заменить их кодами - C++
Пожалуйста помогите написать,просто совершенно ничего в голову не лезет.:cry: Дана строка символов. Для сохранения ее в сжатом виде...


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

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

Не по теме:

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

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

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