getch-funksjon i C++

Getch Funksjon I C



I domenet til programmeringsspråkene C og C++ brukes forskjellige naturlige metoder og biblioteker. I denne artikkelen vil vi se nærmere på getch()-metoden til C++. Getch()-funksjonen brukes når vi ønsker å lese en streng med tegn fra tastaturet vårt, og den projiserer ikke en utgang på skjermen. Her vil vi utforske denne getch()-funksjonen riktig ved hjelp av gyldige eksempler og bevis for din bevissthet. Denne metoden er for det meste brukbar i konsollbaserte (utdata) scenarier i C++ for å ta innspill fra brukeren.

Hva er Getch() i C++?

I C++ brukes biblioteket som heter 'cstdio'-headerfilen for det meste for getch()-funksjonen. Getch() er også definert i 'conio. h' header-fil som er kompilatorspesifikk og det er en ikke-standard funksjon fordi den ikke er helt en del av C++-bibliotekstandarden. Forkortelsen av getch er 'get character' og den brukes til å bli på utdataskjermen en stund til brukeren passerer inndataene.

La oss utdype dette konseptet ordentlig ved hjelp av eksempler. Her vil vi lære om syntaksen, bruken og oppførselen til getch()-metoden i C++ ved hjelp av riktige scenarier.







Scenario 1: Hvordan bruke Getch() i en menydrevet applikasjon

La oss diskutere den menydrevne lille applikasjonen som vi vil liste opp forskjellige alternativer for. Hvert alternativ er utformet for forskjellige formål som en restaurantmeny. Kodebiten til dette eksemplet er vedlagt i følgende:



#include
#include
#include
ved hjelp av navneområde std ;
int hoved- ( ) {
røye valg ;
std :: cout << 'Restaurantmeny: \n ' ;
std :: cout << '1. Alternativ 1: Pizza \n ' ;
std :: cout << '2. Alternativ 2: Burger \n ' ;
std :: cout << '3. Alternativ 3: Kake \n ' ;
std :: cout << 'Skriv inn ditt valg: ' ;
valg = finn ( ) ; // bruker gi input  og getch() leser inndataene uten å trykke på enter-knappen
bytte om ( valg ) {
sak '1' :
std :: cout << ' \n du velger 'Pizza' \n ' ;
gå i stykker ;
sak '2' :
std :: cout << ' \n Du velger 'Burger' \n ' ;
gå i stykker ;
sak '3' :
std :: cout << ' \n Du velger 'kake' \n ' ;
gå i stykker ;
misligholde :
std :: cout << '\No choice - Ingen rekkefølge \n ' ;
}
komme tilbake 0 ;
}

Først erklærer vi de nødvendige standardbibliotekene ved programmets start. Vi lager en logikk inne i hovedfunksjonen, og alt inne i programmets hovedfunksjon vil være kjørbart. Her erklærer vi en 'valg'-variabel hvis datatype er et tegn. Deretter lager vi en meny som er synlig på konsollskjermen. Vi gir brukeren en 'restaurantmeny' med forskjellige alternativer som 'Pizza', 'Burger', 'Kake' og 'Ingen valg'.



Vi sender getch() til variabelvalget fordi brukerinndata er lagret i denne variabelen og viser utdata automatisk i henhold til det valgte alternativet. For å velge et alternativ fra menyen bruker vi switch()-funksjonen og sender 'valg' i denne funksjonen. Innenfor 'switch'-metoden lager vi sakene mot hvert alternativ individuelt. I 'switch'-metoden i C++ brukes alltid en break-setning på slutten av hvert tilfelle som indikerer slutten på setningen. Når vi kompilerer og kjører det, vises utdataene på konsollskjermen som er vedlagt i følgende:





Nå vil getch()-funksjonen fungere her. Når brukeren skriver inn valget, vil getch()-funksjonen sammenligne denne inngangen med bryterhuset og vil vise utdata eller alternativet på konsollen automatisk og umiddelbart.



I det tidligere vedlagte skjermbildet angir brukeren valget '2' og utgangen vises på skjermen som 'du velger 'Burger''. Arbeidet til getch() slettes i dette eksemplet når brukeren går inn i inngangen og den forventede utgangen vises på konsollskjermen i stedet for den brukergitte inngangen som vises på konsollen.

Scenario 2: Godta det skjulte passordet fra brukeren ved å bruke Getch()

I dette scenariet vil vi gå gjennom konseptet om hvordan brukeren kan skrive inn passordet i hemmelighet og vise passordet på konsollen. Her bruker vi getch()-funksjonen til å holde skjermen til brukeren passerer inndataene. Husk at getch() ikke viser brukerinndata da markøren ikke viser inndata på konsollskjermen. Kodebiten til dette scenariet er nevnt som følger:

#include
#include
#include
#include
#include
int hoved- ( )
{
røye pasw [ 8 ] ;
int m ;
std :: cout << 'Skriv inn 8 sifre passord: ' ;
til ( m = 0 ; m <= 7 ; m ++ ) {
pasw [ m ] = finn ( ) ;
std :: cout << '*' ;
}
pasw [ m ] = ' \0 ' ;
std :: cout << ' \n ' ;
std :: cout << 'Vis det angitte passordet:' ;
til ( m = 0 ; pasw [ m ] ! = ' \0 ' ; m ++ )
std :: cout << ( '%c' , pasw [ m ] ) ;
finn ( ) ;
komme tilbake 0 ;
}

Som vist i den gitte koden, legg til standardbibliotekene som er avgjørende for bruk av getch()-funksjonen og for å vise utdataene på skjermen. Hovedfunksjonen til dette programmet er å inneholde de forskjellige trinnene der vi legger inn et passord fra brukeren og viser passordet på skjermen. Vi trenger matrisevariabelen hvis datatype er 'Char' med en størrelse på 8 elementer. Bortsett fra dette trenger vi også en variabel som lagrer iterasjonsverdiene.

Her bruker vi en 'For Loop' som leser alle inndata fra brukeren hvis matrisestørrelsen er '8'. Deretter trykker brukeren bare på nøkkelpassordet på inngangskonsollvinduet ved hjelp av løkken. Inne i denne 'for'-løkken sender vi getch()-funksjonen til passw[]-matrisen. Denne funksjonen holder på skjermen til brukeren skriver inn de 8 tegnene i passordet. For hver løkketelling, skriv ut '*' på hver brukerinndatatelling, og løkken lukkes her.

Etter det bruker vi 'for'-løkken igjen som viser selve det skjulte passordet ved å bare ta verdiene fra passw[]. Getch holder skjermen automatisk til brukerinndata er lagret perfekt i arrayet og viser passordet på skjermen.

Klikk på 'Kompiler og kjør' for å kjøre programmet og vise utdataene på skjermen.

Skriv inn det 8-sifrede passordet på skjermen. Når den 8-sifrede inntastingen er ferdig, viser den automatisk det innskrevne passordet i konsollvinduet. Trykk på tastaturtastene 8 ganger og skriv inn passordet.

Utdataskjermen fryser bare på grunn av getch()-funksjonen. Getch()-funksjonen skriver bare ut inndataene på skjermen som vist i det tidligere vedlagte skjermbildet.

Konklusjon

For å konkludere, er getch() den viktigste funksjonen til C- og C++-programmering som gjør det lettere for brukeren å fryse inndata fra tastaturet uten å vise eller uten at markøren viser en inngang på skjermen. På grunn av det ikke-standardbiblioteket, hvis vi ikke bruker getch() i programmet, vises konsollvinduet til den nødvendige tiden for programkjøring er i millisekunder. I denne artikkelen forklarte vi denne metoden med riktige kodeeksempler.