Домашнее задание

Домашнее задание для студентов курса “Основы программирования” 1 курса кафедры ИУ5 МГТУ им Н.Э. Баумана.

Содержание

Цель работы

Освоение низкоуровнего программирования

Начало работы

Зайдите в локальную директорию с репозиторием и обновите его из upstream-репозитория:

git pull upstream

или, если используется ветка homeWork:

git pull upstream homeWork

Переключитесь на ветку с текущей работой:

git checkout homeWork

Свяжите ветку локального репозитория с вашим удаленным репозиторием:

git push --set-upstream origin homeWork

Задание

БЕЗ ИСПОЛЬЗОВАНИЯ конструкции

Общее задание для всех вариантов

а) написать программу ввода такого текста с клавиатуры.

Индивидуальные задания

Указания к выполнению задания

В Windows используется getch() (библиотека conio.h).

В Linux / macOS аналогичной функции нет, поэтому для безэхового посимвольного ввода используется termios.

Необходимо подключить:

#include <termios.h>   // для управления параметрами терминала (отключение эха)
#include <unistd.h>    // функции read(), write()
#include <stdio.h>     // putchar()

В начале main() устанавливаем переменные управления консолью

struct termios old, raw;

где

Отключение канонического режима и эха:

tcgetattr(STDIN_FILENO, &old); // читаем текущие настройки терминала

raw = old;                     // копируем для модификации
raw.c_lflag &= ~(ICANON | ECHO);

где

tcsetattr(STDIN_FILENO, TCSANOW, &raw);
    // применяем новые настройки

Перед завершением программы необходимо обязательно восстановить режим терминала:

tcsetattr(STDIN_FILENO, TCSANOW, &old);