função getch em C++

Funcao Getch Em C



No domínio das linguagens de programação C e C++, são utilizados diferentes métodos naturais e bibliotecas. Neste artigo, examinaremos de perto o método getch() de C++. A função getch() é utilizada quando desejamos ler uma sequência de caracteres do nosso teclado e não projeta uma saída na tela. Aqui, exploraremos essa função getch() adequadamente com a ajuda de exemplos válidos e provas para seu conhecimento. Este método é principalmente utilizável em cenários baseados em console (saída) em C++ para receber informações do usuário.

O que é Getch() em C++?

Em C++, a biblioteca chamada arquivo de cabeçalho “cstdio” é usada principalmente para a função getch(). Getch() também é definido no arquivo “conio. h” que é específico do compilador e é uma função não padrão porque não faz parte totalmente do padrão da biblioteca C++. A abreviatura de getch é “get character” e serve para permanecer na tela de saída por um tempo até que o usuário passe a entrada.

Vamos elaborar esse conceito adequadamente com a ajuda de exemplos. Aqui, aprenderemos sobre a sintaxe, o uso e o comportamento do método getch() em C++ com a ajuda de cenários adequados.







Cenário 1: Como usar Getch() em um aplicativo baseado em menu

Vamos discutir sobre o pequeno aplicativo baseado em menu para o qual listaremos diferentes opções. Cada opção é projetada para finalidades diferentes, como o menu de um restaurante. O trecho de código deste exemplo está anexado a seguir:



#include
#include
#include
usando espaço para nome padrão ;
interno principal ( ) {
Caracteres escolha ;
padrão :: corte << 'Cardápio do restaurante: \n ' ;
padrão :: corte << '1. Opção 1: Pizza \n ' ;
padrão :: corte << '2. Opção 2: Hambúrguer \n ' ;
padrão :: corte << '3. Opção 3: Bolo \n ' ;
padrão :: corte << 'Digite sua escolha:' ;
escolha = pega ( ) ; // o usuário fornece a entrada e getch() lê a entrada sem pressionar o botão Enter
trocar ( escolha ) {
caso '1' :
padrão :: corte << ' \n você seleciona 'Pizza' \n ' ;
quebrar ;
caso '2' :
padrão :: corte << ' \n Você seleciona 'Hambúrguer' \n ' ;
quebrar ;
caso '3' :
padrão :: corte << ' \n Você seleciona 'Bolo' \n ' ;
quebrar ;
padrão :
padrão :: corte << '\Sem escolha - Sem ordem \n ' ;
}
retornar 0 ;
}

Primeiro, declaramos as bibliotecas padrão necessárias no início do programa. Criamos uma lógica dentro da função principal, e qualquer coisa dentro da função principal do programa será executável. Aqui, declaramos uma variável de “escolha” cujo tipo de dados é um caractere. Em seguida, criamos um menu que fica visível na tela do console. Damos ao usuário um “Menu de restaurante” com diversas opções como “Pizza”, “Hambúrguer”, “Bolo” e “Sem escolha”.



Passamos getch() para a variável choice porque a entrada do usuário é armazenada nesta variável e exibe a saída automaticamente de acordo com a opção selecionada. Para selecionar uma opção do menu, usamos a função switch() e passamos “choice” nesta função. Dentro do método “switch”, defendemos cada opção individualmente. No método “switch” em C++, uma instrução break é sempre usada no final de cada caso, o que indica o final da instrução. Quando o compilamos e executamos, a saída é mostrada na tela do console anexada a seguir:





Agora, a função getch() funcionará aqui. Quando o usuário insere a escolha, a função getch() irá comparar esta entrada com o switch case e mostrará a saída ou opção no console automática e imediatamente.



Na captura de tela anexada anteriormente, o usuário digita a opção “2” e a saída aparece na tela como “você seleciona ‘Burger’”. O funcionamento de getch() é limpo neste exemplo quando o usuário insere a entrada e a saída esperada é exibida na tela do console em vez da entrada fornecida pelo usuário que é mostrada no console.

Cenário 2: Aceite a senha oculta do usuário usando Getch()

Neste cenário, passaremos pelo conceito de como o usuário pode inserir a senha secretamente e mostrar a senha inserida na tela do console. Aqui, usamos a função getch() para segurar a tela até que o usuário passe a entrada. Lembre-se de que getch() não exibe a entrada do usuário, pois o cursor não exibe a entrada na tela do console. O trecho de código deste cenário é mencionado a seguir:

#include
#include
#include
#include
#include
interno principal ( )
{
Caracteres pasw [ 8 ] ;
interno eu ;
padrão :: corte << 'Digite a senha de 8 dígitos:' ;
para ( eu = 0 ; eu <= 7 ; eu ++ ) {
pasw [ eu ] = pega ( ) ;
padrão :: corte << '*' ;
}
pasw [ eu ] = ' \0 ' ;
padrão :: corte << ' \n ' ;
padrão :: corte << 'Mostrar a senha digitada:' ;
para ( eu = 0 ; pasw [ eu ] ! = ' \0 ' ; eu ++ )
padrão :: corte << ( '%c' , cara [ eu ] ) ;
pega ( ) ;
retornar 0 ;
}

Conforme visto no código fornecido, adicione as bibliotecas padrão que são essenciais para o uso da função getch() e para exibir a saída na tela. A principal função deste programa é conter os diferentes passos através dos quais inserimos uma senha do usuário e mostramos a senha na tela. Precisamos da variável array cujo tipo de dados é “Char” com tamanho de 8 elementos. Exceto por isso, também precisamos de uma variável que armazene os valores da iteração.

Aqui, usamos um “For Loop” que lê cada contagem de entrada do usuário se o tamanho do array for “8”. Em seguida, o usuário apenas pressiona a chave senha na janela do console de entrada com a ajuda do loop. Dentro deste loop “for”, passamos a função getch() para o array passw[]. Esta função permanece na tela até que o usuário insira os 8 caracteres da senha. Em cada contagem de loop, imprima “*” em cada contagem de entrada do usuário e o loop será fechado aqui.

Depois disso, usamos novamente o loop “for” que mostra a própria senha oculta apenas pegando os valores de passw[]. Getch segura a tela automaticamente até que a entrada do usuário seja armazenada perfeitamente no array e exiba a senha na tela.

Clique na opção “Compile and Run” para executar o programa e mostrar o resultado na tela.

Digite a senha de 8 dígitos na tela. Quando a entrada de 8 dígitos é concluída, a senha digitada é exibida automaticamente na janela do console. Pressione as teclas do teclado 8 vezes e digite a senha.

A tela de saída congela apenas por causa da função getch(). A função getch() apenas imprime os dados de entrada na tela, conforme mostrado na captura de tela anexada anteriormente.

Conclusão

Para concluir, getch() é a função mais importante da programação C e C++ que facilita ao usuário congelar a entrada do teclado sem exibir ou sem que o cursor mostre uma entrada na tela. Devido à sua biblioteca não padrão, se não utilizarmos getch() no programa, a janela do console será exibida até que o tempo necessário para a execução do programa seja em milissegundos. Neste artigo, explicamos esse método com exemplos de código adequados.