Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 24.02.2019
Сообщений: 138

Как приведенная программа определяет код символа?

24.03.2019, 20:59. Показов 1444. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Объясните , пожалуйста , как данный код определяет код символа ?
Как выводим , и почему он выводит именно эти кода ?

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h> 
#include <conio.h> 
 
int main()
{
    int c;
    do {
        c = _getch();
        if(c!=0)
            printf("%c %d\n", c, c);
    } while ( c != '.');
}
Миниатюры
Как приведенная программа определяет код символа?  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2019, 20:59
Ответы с готовыми решениями:

Программа определяет код символа по кодовой таблицей ASCII и определяет размер типа данных в байтах
#include&lt;stdio.h&gt; #include&lt;conio.h&gt; #include &lt;stdlib.h&gt; int main() {puts(&quot;My first program&quot;); //вывод сообщения char s='a'; int...

Как работает приведенная рекурсия?
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; void someFunction ( int , int, int ); int main () { ...

Почему приведенная программа распознается антивирусом как вредоносное ПО
Всем привет! я только начал изучать ассемблер, и у меня возникла проблема: я скопировал код из интернета, откомпилировал его и антивирус...

10
2 / 2 / 0
Регистрация: 24.02.2019
Сообщений: 138
24.03.2019, 21:00  [ТС]
Вот эта таблица
Миниатюры
Как приведенная программа определяет код символа?  
0
 Аватар для kazak
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
24.03.2019, 21:11
Цитата Сообщение от DREDON Посмотреть сообщение
как данный код определяет код символа
В компьютере изначально информация хранится в виде чисел, определяется не код по символу, а символ по коду при выводе на экран в соответствии с текущей кодовой страницей.

Цитата Сообщение от DREDON Посмотреть сообщение
Как выводим , и почему он выводит именно эти кода ?
C
1
printf("%c %d\n", c, c);
Функция форматированного вывода на экран. Выводим два раза переменную с, в кавычках задаем формат строки - %c означает вывести переменную в виде символа, %d означает вывести переменную в виде десятичного числа.
0
2 / 2 / 0
Регистрация: 24.02.2019
Сообщений: 138
24.03.2019, 21:17  [ТС]
kazak, Спасибо большое.Более менее понял)
Ещё вопросик: Если не сложно то...
А как сделать так ,эта чтобы программа выглядела примерно вот так ?(прикрепил скрин

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h> 
#include <conio.h> 
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    printf("Для завершения введите точку.\n");
    int c;
    do {
        c = _getch();
        if(c!=0)
            
            printf("%c %d\n", c, c);
    } while ( c != '.');
}
Миниатюры
Как приведенная программа определяет код символа?  
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
24.03.2019, 21:20
Цитата Сообщение от DREDON Посмотреть сообщение
А как сделать так
printf("Символ:\t%c Код:\t%d\n", c, c);
0
2 / 2 / 0
Регистрация: 24.02.2019
Сообщений: 138
24.03.2019, 21:22  [ТС]
kazak, Вот я что-то сделал...
Но она работает не корректно ((

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h> 
#include <conio.h> 
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    printf("Для завершения введите точку.\n");
    int c;
    do {
        c = _getch();
        if(c!=0)
            printf("->");
            scanf("%c" , &c);
            printf("%c %d\n", c, c);
    } while ( c != '.');
}
Добавлено через 1 минуту
valen10,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h> 
#include <conio.h> 
#include <locale.h>
 
int main()
{
    setlocale(LC_ALL, "Russian");
    printf("Для завершения введите точку.\n");
    int c;
    do {
        c = _getch();
        if(c!=0)
            printf("->");
            scanf("%c" , &c);
            printf("cимвол:\t%c Код: %d\n", c, c);
    } while ( c != '.');
}
Что нет ? Ещё очень жёстко плющит при вводе не сразу появляется "->" при нажатии на клавишу ... ух штырит
0
 Аватар для kazak
3602 / 2743 / 355
Регистрация: 11.03.2009
Сообщений: 6,304
24.03.2019, 21:29
Цитата Сообщение от DREDON Посмотреть сообщение
C
1
2
3
4
5
6
7
do {
* * * * c = _getch();
* * * * if(c!=0)
* * * * * * printf("->");
* * * * * * scanf("%c" , &c);
* * * * * * printf("cимвол:\t%c Код: %d\n", c, c);
* * } while ( c != '.');

C
1
2
3
4
5
6
do {
* * * * * * printf("->");
* * * * * * scanf("%c" , &c);
    * * * * if(c!='.')
* * * * * * printf("cимвол:\t%c Код: %d\n", c, c);
* * } while ( c != '.');
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
24.03.2019, 21:33
Цитата Сообщение от DREDON Посмотреть сообщение
Ещё очень жёстко плющит при вводе не сразу появляется "->" при нажатии на клавишу
Может быть надо printf("->"); написать перед чтением символа?

Цитата Сообщение от DREDON Посмотреть сообщение
Что нет ?
Понятия не имею. У меня аллергия на conio.h, поэтому проверить не могу. Написал так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <cstdio>
#include <locale.h>
 
int main() {
    setlocale(LC_ALL, "Russian");
    printf("Для завершения введите точку.\n");
    int c;
    do {
        printf("->");
        c = getchar(); getchar();
        if (c != '.') {
            printf("Символ:\t\t%c Код:\t%d\n", c, c);
        }
    } while (c != '.');
}
И у меня все ок.
0
2 / 2 / 0
Регистрация: 24.02.2019
Сообщений: 138
24.03.2019, 21:39  [ТС]
valen10, Теперь появились другая проблема.
если я вожу двухзначное число , например 10 , то думает ,что это 1 ... если 35 , то он думает , что это 3....


Добавлено через 1 минуту
kazak, чёт он начал с этим кодом выводить не те кода(
0
Параллельный Кот
 Аватар для valen10
1905 / 827 / 350
Регистрация: 25.03.2016
Сообщений: 2,045
24.03.2019, 21:45
Лучший ответ Сообщение было отмечено DREDON как решение

Решение

DREDON, вы хотите сразу много символов вводить? Тогда и логика чуть сложнее получится, что-то вроде этого:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
printf("Для завершения введите точку.\n");
int c = '\n'; // Имитировать первое нажатие <enter>.
do {
    // Выводить строку приглашения ввода только после нажатия <enter>.
    if (c == '\n') {
        printf("->");
    }
 
    // Получить следующий символ.
    c = getchar();
 
    // Не выводить управляющие символы (точку и символ перевода строки).
    if ((c != '.') && (c != '\n')) {
        printf("Символ:\t\t%c Код:\t%d\n", c, c);
    }
} while ( c != '.');
1
2 / 2 / 0
Регистрация: 24.02.2019
Сообщений: 138
24.03.2019, 21:49  [ТС]
valen10, Всё буду разбираться.
Спасибо большое!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2019, 21:49
Помогаю со студенческими работами здесь

Что делает приведенная программа?
вот нашел такую задачу на языке Haskell, помоги разобраться что она делает и как работает data Prop = LVar String | And Prop Prop |...

Какое утверждение содержит приведенная программа?
#include &lt;stdio.h&gt; int main(void) { int a = 10, b = 14, c = 2; int *pi = &amp;a, *pj = &amp;b, *pk = &amp;c; printf(&quot;a = %d, b = %d, c =...

Какую задачу рашает приведенная программа?
Точно и четко сформулировать условие задачи, которая решается в данной программе: Program Kr_2_3; Const NMax = 100; Type LinMass =...

Будет ли приведенная программа сохранять данные в структуре?
Если я запущу программу и внесу какие-либо изменения в структуру (например, DATA.year=1769), то при следующем запуске в программе...

Программа – «Перевод символа в числовой код
CLS N = ASC(“F”) PRINT “ Код буквы F: “; N Код буквы F: 70 Здесь всё нормально. Программа – «Перевод числового кода в...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru