Удаление символа по нажатию клавиши backspace - C (СИ)

Узнай цену своей работы

Формулировка задачи:

в общем у меня есть код
#include <malloc.h>
#include <stdio.h>
#include <conio.h>
#include "file_work.h"
char* stype()
{
    char* pass=(char*)malloc(sizeof(char)*255);
 
    for(int cx=0;cx<254;cx++)
    {
    pass[cx]=_getch();
    if(pass[cx]=='\b' || pass[cx]=='\r')
        {
            printf("");
        }
    else
    {
    printf("*");
    }
        if(pass[cx]=='\r')
        {
            pass[cx]='\0';
            break;
        }
    }
    return pass;
}
Он служит для того чтобы при вводе символа вместо самого символа выводилась *. Теперь вопрос: как сделать так, что при нажатии backspace стиралась эта самая *

Решение задачи: «Удаление символа по нажатию клавиши backspace»

textual
Листинг программы
a=getch();
if(a==8) //ГЄГ«Г*ГўГЁГёГ* backspace
{
      cout<<(char)a;
      cout<<" ";
      cout<<(char)a;
}

Объяснение кода листинга программы

  1. a=getch(); - В этой строке программа получает ввод пользователя и сохраняет его в переменную a.
  2. if(a==8) - Если значение переменной a равно 8, то выполняется следующий блок кода.
  3. cout<<(char)a; - Выводится символ, соответствующий значению переменной a, при этом символ автоматически преобразуется в тип char.
  4. cout<< ; - Выводится пробел.
  5. cout<<(char)a; - Выводится символ, соответствующий значению переменной a, при этом символ автоматически преобразуется в тип char.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.929 из 5
Похожие ответы