getch-funktio C++:ssa

Getch Funktio C Ssa



C- ja C++-ohjelmointikielten alueella käytetään erilaisia ​​luonnollisia menetelmiä ja kirjastoja. Tässä artikkelissa tutkimme tarkasti C++:n getch()-menetelmää. Getch()-funktiota käytetään, kun haluamme lukea merkkijonon näppäimistöstämme, eikä se heijasta tulostetta näytölle. Tässä tutkimme tätä getch()-toimintoa oikein kelvollisten esimerkkien ja tietoisuuttasi koskevien todisteiden avulla. Tätä menetelmää voidaan käyttää enimmäkseen konsolipohjaisissa (tulostus) skenaarioissa C++:ssa ottamaan syötteen käyttäjältä.

Mikä on Getch() C++:ssa?

C++:ssa kirjastoa nimeltä 'cstdio' otsikkotiedosto käytetään enimmäkseen getch()-funktiolle. Getch() on myös määritelty 'conio. h' otsikkotiedosto, joka on kääntäjäkohtainen ja se on epätyypillinen toiminto, koska se ei ole täysin osa C++-kirjastostandardia. Lyhenne sanasta getch on 'get character' ja sitä käytetään pysymään tulostusnäytössä jonkin aikaa, kunnes käyttäjä ohittaa syötteen.

Tarkastellaanpa tätä käsitettä kunnolla esimerkkien avulla. Täällä opimme getch()-menetelmän syntaksista, käytöstä ja käyttäytymisestä C++:ssa oikeiden skenaarioiden avulla.







Skenaario 1: Getch():n käyttäminen valikkopohjaisessa sovelluksessa

Keskustellaan valikkopohjaisesta pienestä sovelluksesta, jolle luettelemme erilaisia ​​vaihtoehtoja. Jokainen vaihtoehto on suunniteltu eri tarkoituksiin, kuten ravintolamenuksi. Tämän esimerkin koodinpätkä on liitteenä seuraavassa:



#include
#include
#include
käyttämällä nimiavaruus std ;
int pää ( ) {
hiiltyä valinta ;
std :: cout << 'Ravintolamenu: \n ' ;
std :: cout << '1. Vaihtoehto 1: Pizza \n ' ;
std :: cout << '2. Vaihtoehto 2: Burger \n ' ;
std :: cout << '3. Vaihtoehto 3: Kakku \n ' ;
std :: cout << 'Syötä valintasi:' ;
valinta = saada ( ) ; // käyttäjä antaa syötteen ja getch() lukee syötteen painamatta Enter-painiketta
vaihtaa ( valinta ) {
tapaus '1' :
std :: cout << ' \n valitset 'Pizza' \n ' ;
tauko ;
tapaus '2' :
std :: cout << ' \n Valitset 'Burger' \n ' ;
tauko ;
tapaus '3' :
std :: cout << ' \n Valitset 'kakku' \n ' ;
tauko ;
oletuksena :
std :: cout << '\Ei vaihtoehtoa - Ei järjestystä \n ' ;
}
palata 0 ;
}

Ensin ilmoitamme vaaditut standardikirjastot ohjelman käynnistyessä. Luomme logiikan pääfunktion sisään, ja kaikki ohjelman päätoiminnon sisällä on suoritettavaa. Tässä ilmoitamme 'valinta'-muuttujan, jonka tietotyyppi on merkki. Sitten luomme valikon, joka näkyy konsolin näytöllä. Tarjoamme käyttäjälle 'ravintolamenun', jossa on erilaisia ​​vaihtoehtoja, kuten 'Pizza', 'Burger', 'Kakku' ja 'Ei valinnanvaraa'.



Välitämme getch():n muuttujan valinnalle, koska käyttäjän syöte on tallennettu tähän muuttujaan ja näyttää tulosteen automaattisesti valitun vaihtoehdon mukaan. Valitaksemme vaihtoehdon valikosta käytämme switch()-funktiota ja välitämme 'valinta' tässä funktiossa. 'Switch'-menetelmän sisällä teemme tapaukset jokaista vaihtoehtoa vastaan ​​erikseen. C++:n 'switch'-menetelmässä jokaisen tapauksen lopussa käytetään aina break-lausetta, joka osoittaa käskyn lopun. Kun käännämme ja suoritamme sen, tulos näkyy konsolin näytössä, joka on liitetty seuraavaan:





Nyt getch()-funktio toimii täällä. Kun käyttäjä tekee valinnan, getch()-funktio vertaa tätä syötettä kytkimen tapaukseen ja näyttää lähdön tai vaihtoehdon konsolissa automaattisesti ja välittömästi.



Aiemmin liitetyssä kuvakaappauksessa käyttäjä syöttää valinnan '2' ja tulos näkyy näytöllä 'valitset 'Burger''. Getch()-funktion toiminta tyhjennetään tässä esimerkissä, kun käyttäjä syöttää syötteen ja odotettu tulos näytetään konsolin näytöllä käyttäjän antaman syötteen sijaan, joka näytetään konsolissa.

Skenaario 2: Hyväksy piilotettu salasana käyttäjältä käyttämällä Getch()

Tässä skenaariossa käymme läpi konseptin, kuinka käyttäjä voi syöttää salasanan salaa ja näyttää syöttösalasanan konsolin näytöllä. Tässä käytämme getch()-funktiota pitämään näyttöä, kunnes käyttäjä ohittaa syötteen. Muista, että getch() ei näytä käyttäjän syötettä, koska kohdistin ei näytä syötettä konsolin näytöllä. Tämän skenaarion koodinpätkä mainitaan seuraavasti:

#include
#include
#include
#include
#include
int pää ( )
{
hiiltyä paw [ 8 ] ;
int m ;
std :: cout << 'Anna 8-numeroinen salasana:' ;
varten ( m = 0 ; m <= 7 ; m ++ ) {
paw [ m ] = saada ( ) ;
std :: cout << '*' ;
}
paw [ m ] = ' \0 ' ;
std :: cout << ' \n ' ;
std :: cout << 'Poista syötetty salasana:' ;
varten ( m = 0 ; paw [ m ] ! = ' \0 ' ; m ++ )
std :: cout << ( '%c' , paw [ m ] ) ;
saada ( ) ;
palata 0 ;
}

Kuten annetusta koodista näkyy, lisää standardikirjastot, jotka ovat välttämättömiä getch()-funktion käytölle ja tulosteen näyttämiseksi näytöllä. Tämän ohjelman päätehtävä on sisältää eri vaiheet, joiden kautta syötämme salasanan käyttäjältä ja näytämme salasanan näytöllä. Tarvitsemme taulukkomuuttujan, jonka tietotyyppi on 'Char', jonka koko on 8 elementtiä. Tätä lukuun ottamatta tarvitsemme myös muuttujan, joka tallentaa iteraatioarvot.

Tässä käytämme 'For Loop' -toimintoa, joka lukee jokaisen käyttäjän syötemäärän, jos taulukon koko on '8'. Tällöin käyttäjä painaa vain syöttökonsolin ikkunassa olevaa avainsalasanaa silmukan avulla. Tämän 'for'-silmukan sisällä välitämme getch()-funktion passw[]-taulukkoon. Tämä toiminto pysyy näytössä, kunnes käyttäjä syöttää salasanan 8 merkkiä. Tulosta '*' jokaiselle silmukalle, jolloin silmukka suljetaan tässä.

Sen jälkeen käytämme uudelleen 'for'-silmukkaa, joka näyttää itse piilotetun salasanan ottamalla arvot passw[]:sta. Getch pitää näytön automaattisesti, kunnes käyttäjän syöte on tallennettu täydellisesti taulukkoon ja näyttää salasanan näytöllä.

Napsauta 'Käännä ja suorita' -vaihtoehtoa suorittaaksesi ohjelman ja näyttääksesi tulosteen näytöllä.

Syötä 8-numeroinen salasana näytölle. Kun 8-numeroinen syöttö on valmis, se näyttää automaattisesti kirjoitetun salasanan konsoliikkunassa. Paina näppäimistön näppäimiä 8 kertaa ja kirjoita salasana.

Tulostusnäyttö jumiutuu vain getch()-funktion takia. Getch()-funktio vain tulostaa syöttötiedot näytölle, kuten aiemmin liitetyssä kuvakaappauksessa näkyy.

Johtopäätös

Lopuksi todettakoon, että getch() on C- ja C++-ohjelmoinnin tärkein toiminto, jonka avulla käyttäjä voi jäädyttää syötteen näppäimistöltä näyttämättä tai ilman, että kohdistin näyttää syötettä näytöllä. Epätyypillisen kirjastonsa vuoksi, jos emme käytä ohjelmassa getch():tä, konsoli-ikkuna näkyy, kunnes ohjelman suorittamiseen vaadittu aika on millisekunteina. Tässä artikkelissa selitimme tämän menetelmän asianmukaisilla koodiesimerkeillä.