пятница, 13 ноября 2015 г.

X занятие "Работа со строками в C/C++"

На десятом занятии мы работали со строками. Мы вспомнили, что строка в C/C++ - это массив символов. Строка всегда завершается символом '\0' (нуль-терминатор). Нуль-терминатор - это один символ (хоть и обозначается на письме двумя - обратный слэш, ноль), означающий конец строки. В C/C++ существует два способа работы со строками:
  1. работа со строкой как с массивом символов
  2. работа с использованием специальных функций обработки строк
Мы поработали пробовали работать со строкой, как с массивом символов, а именно, написали программу "ввода пароля".
Краткое содержание занятия:
    1. Чаще всего при вводе какого бы то ни было пароля на экране устройства отображаются звездочки - вспомните банкомат, телефон, социальные сети и т.д.. Это делается для конфиденциальности ваших данных, т.е. для того, чтобы человек, находящийся рядом, не мог (нарочно или случайно) узнать ваш пароль. Чтобы попрактиковаться в работе со строками мы решили написать программу, которая запрашивает у пользователя пароль, сравнивает его с каким-то заданным словом (в нашей программе - "kulakov") и сообщает о правильности введенного пароля.

    2. Чтобы создать такую программу, нам необходимо, чтобы вместо вводимого символа на экране отображалась звездочка '*' (или какой-нибудь другой знак). Чтобы вводимый символ не отображался на экране, будем читать его из буфера клавиатуры (консоли), а не из буфера операционной системы. Для этого используется функция "getch()", расположенная в библиотеке "conio.h". После прочтения очередного символа нужно поместить на экран звездочку (или другой символ). Это сделаем любой функцией вывода, например putch():

    puts("Введите пароль:");
    for(int i=0;i<10;i++)
    {
    str[i]=getch(); // читаем из буфера клавиатуры
    putch('*'); // а на экран посылаем звездочку
    }
    str[l-1]='\0';    //не забываем про нуль-терминатор в конце

    Листинг программы pass:

















    Пример выполнения программы (введен вначале неверный, затем верный пароль):



    Скачать листинг программы pass (в текстовом формате)

    Комментариев нет:

    Отправить комментарий