funcția getch în C++

Functia Getch In C



În domeniul limbajelor de programare C și C++, sunt folosite diferite metode și biblioteci naturale. În acest articol, vom examina îndeaproape metoda getch() din C++. Funcția getch() este utilizată atunci când dorim să citim un șir de caractere de la tastatură și nu proiectează o ieșire pe ecran. Aici, vom explora această funcție getch() în mod corespunzător, cu ajutorul unor exemple și dovezi valide pentru conștientizarea dumneavoastră. Această metodă este mai ales utilizabilă în scenarii bazate pe consolă (ieșire) în C++ pentru a prelua intrarea de la utilizator.

Ce este Getch() în C++?

În C++, biblioteca numită fișier antet „cstdio” este folosită în principal pentru funcția getch(). Getch() este definit și în „conio. h” fișier de antet care este specific compilatorului și este o funcție non-standard, deoarece nu face parte în totalitate din standardul bibliotecii C++. Abrevierea getch este „get character” și este folosită pentru a rămâne pe ecranul de ieșire pentru un timp până când utilizatorul trece de intrare.

Să detaliem acest concept în mod corespunzător cu ajutorul exemplelor. Aici, vom afla despre sintaxa, utilizarea și comportamentul metodei getch() în C++ cu ajutorul scenariilor adecvate.







Scenariul 1: Cum să utilizați Getch() într-o aplicație bazată pe meniu

Să discutăm despre aplicația mică condusă de meniu pentru care vom enumera diferite opțiuni. Fiecare opțiune este concepută pentru scopuri diferite, cum ar fi un meniu de restaurant. Fragmentul de cod al acestui exemplu este atașat în cele ce urmează:



#include
#include
#include
folosind spatiu de nume std ;
int principal ( ) {
char alegere ;
std :: cout << „Meniul restaurantului: \n ' ;
std :: cout << „1. Opțiunea 1: Pizza \n ' ;
std :: cout << „2. Opțiunea 2: Burger \n ' ;
std :: cout << „3. Opțiunea 3: Tort \n ' ;
std :: cout << 'Introduceți alegerea dvs.:' ;
alegere = getch ( ) ; // utilizatorul dă intrare  și getch() citește intrarea fără a apăsa butonul Enter
intrerupator ( alegere ) {
caz „1” :
std :: cout << ' \n selectezi 'Pizza' \n ' ;
pauză ;
caz '2' :
std :: cout << ' \n Selectați „Burger” \n ' ;
pauză ;
caz '3' :
std :: cout << ' \n Selectați „Prăjitură” \n ' ;
pauză ;
Mod implicit :
std :: cout << „\Fără alegere - Fără comandă \n ' ;
}
întoarcere 0 ;
}

În primul rând, declarăm bibliotecile standard necesare la începutul programului. Creăm o logică în interiorul funcției principale și orice din interiorul funcției principale a programului va fi executabil. Aici, declarăm o variabilă „de alegere” al cărei tip de date este un caracter. Apoi, creăm un meniu care este vizibil pe ecranul consolei. Oferim utilizatorului un „Meniu restaurant” cu diferite opțiuni precum „Pizza”, „Burger”, „Prăjitură” și „Fără alegere”.



Transmitem getch() variabilei de alegere deoarece intrarea utilizatorului este stocată în această variabilă și afișează automat rezultatul în funcție de opțiunea selectată. Pentru a selecta o opțiune din meniu, folosim funcția switch() și trecem „alegerea” în această funcție. În cadrul metodei „comutați”, facem cazurile împotriva fiecărei opțiuni în mod individual. În metoda „switch” din C++, o instrucțiune break este întotdeauna folosită la sfârșitul fiecărui caz care indică sfârșitul instrucțiunii. Când îl compilăm și îl executăm, rezultatul este afișat pe ecranul consolei care este atașat în următoarele:





Acum, funcția getch() va funcționa aici. Când utilizatorul introduce alegerea, funcția getch() va compara această intrare cu carcasa comutatorului și va afișa ieșirea sau opțiunea pe consolă automat și imediat.



În captura de ecran atașată anterior, utilizatorul introduce opțiunea „2” și rezultatul apare pe ecran ca „selectați „Burger””. Funcționarea getch() este șters în acest exemplu pe măsură ce utilizatorul introduce intrarea și rezultatul așteptat este afișat pe ecranul consolei în loc de intrarea dată de utilizator care este afișată pe consolă.

Scenariul 2: Acceptați parola ascunsă de la utilizator folosind Getch()

În acest scenariu, vom parcurge conceptul despre cum utilizatorul poate introduce parola în secret și afișează parola de intrare pe ecranul consolei. Aici, folosim funcția getch() pentru a menține ecranul până când utilizatorul trece de intrare. Amintiți-vă că getch() nu afișează intrarea utilizatorului, deoarece cursorul nu afișează intrarea pe ecranul consolei. Fragmentul de cod al acestui scenariu este menționat după cum urmează:

#include
#include
#include
#include
#include <șir.h>
int principal ( )
{
char pasw [ 8 ] ;
int m ;
std :: cout << 'Introduceți parola de 8 cifre: ' ;
pentru ( m = 0 ; m <= 7 ; m ++ ) {
pasw [ m ] = getch ( ) ;
std :: cout << '*' ;
}
pasw [ m ] = ' \0 ' ;
std :: cout << ' \n ' ;
std :: cout << „Afișați parola introdusă:” ;
pentru ( m = 0 ; pasw [ m ] ! = ' \0 ' ; m ++ )
std :: cout << ( „%c” , pasw [ m ] ) ;
getch ( ) ;
întoarcere 0 ;
}

După cum se vede în codul dat, adăugați bibliotecile standard care sunt esențiale pentru utilizarea funcției getch() și pentru a afișa rezultatul pe ecran. Funcția principală a acestui program este de a conține diferiții pași prin care introducem o parolă de la utilizator și arătăm parola pe ecran. Avem nevoie de variabila matrice al cărei tip de date este „Char” având o dimensiune de 8 elemente. În afară de aceasta, avem nevoie și de o variabilă care stochează valorile iterației.

Aici, folosim un „For Loop” care citește fiecare număr de intrare al utilizatorului dacă dimensiunea matricei este „8”. Apoi, utilizatorul apasă doar parola cheii din fereastra consolei de intrare cu ajutorul buclei. În cadrul acestei bucle „for”, trecem funcția getch() matricei passw[]. Această funcție rămâne pe ecran până când utilizatorul introduce cele 8 caractere ale parolei. La fiecare număr de bucle, tipăriți „*” pe fiecare număr de intrare de utilizator, iar bucla este închisă aici.

După aceea, folosim din nou bucla „for” care arată parola ascunsă însăși, luând doar valorile din passw[]. Getch ține ecranul automat până când intrarea utilizatorului este stocată perfect în matrice și afișează parola pe ecran.

Faceți clic pe opțiunea „Compilați și rulați” pentru a executa programul și a afișa rezultatul pe ecran.

Introduceți parola de 8 cifre pe ecran. Când se termină introducerea de 8 cifre, se afișează automat parola introdusă pe fereastra consolei. Apăsați tastele de la tastatură de 8 ori și introduceți parola.

Ecranul de ieșire se blochează doar din cauza funcției getch(). Funcția getch() doar imprimă datele de intrare pe ecran, așa cum se arată în captura de ecran atașată anterior.

Concluzie

În concluzie, getch() este cea mai importantă funcție a programării C și C++ care facilitează utilizatorului să blocheze intrarea de la tastatură fără a fi afișată sau fără ca cursorul să arate o intrare pe ecran. Datorită bibliotecii sale non-standard, dacă nu folosim getch() în program, fereastra consolei este afișată până când timpul necesar pentru execuția programului este în milisecunde. În acest articol, am explicat această metodă cu exemple de cod adecvate.