гетцх функција у Ц++

Getch Funkcija U C



У домену Ц и Ц++ програмских језика користе се различите природне методе и библиотеке. У овом чланку ћемо детаљно испитати гетцх() методу Ц++. Функција гетцх() се користи када желимо да прочитамо низ знакова са наше тастатуре и не пројектује излаз на екрану. Овде ћемо правилно истражити ову функцију гетцх() уз помоћ валидних примера и доказа за вашу свест. Овај метод је углавном употребљив у сценаријима базираним на конзоли (излаз) у Ц++-у за преузимање уноса од корисника.

Шта је Гетцх() у Ц++?

У Ц++, библиотека под називом „цстдио“ датотека заглавља се углавном користи за гетцх() функцију. Гетцх() је такође дефинисан у „цонио. х” датотека заглавља која је специфична за компајлер и представља нестандардну функцију јер није у потпуности део стандарда библиотеке Ц++. Скраћеница од гетцх је „доби карактер“ и користи се да неко време остане на излазном екрану док корисник не прође унос.

Хајде да правилно разрадимо овај концепт уз помоћ примера. Овде ћемо научити о синтакси, употреби и понашању методе гетцх() у Ц++ уз помоћ одговарајућих сценарија.







Сценарио 1: Како користити Гетцх() у апликацији вођеној менијима

Хајде да разговарамо о малој апликацији са менијем за коју ћемо навести различите опције. Свака опција је дизајнирана за различите сврхе као што је мени ресторана. Исечак кода овог примера је приложен у следећем:



#инцлуде <стдио.х>
#инцлуде <цонио.х>
#инцлуде <иостреам>
Користећи именског простора стд ;
инт главни ( ) {
цхар избор ;
стд :: цоут << „Мени ресторана: ' ;
стд :: цоут << „1. Опција 1: Пица ' ;
стд :: цоут << „2. Опција 2: Бургер ' ;
стд :: цоут << „3. Опција 3: Торта ' ;
стд :: цоут << 'Унесите свој избор: ' ;
избор = гетцх ( ) ; // корисник даје унос  и гетцх() чита унос без притискања дугмета ентер
прекидач ( избор ) {
случај '1' :
стд :: цоут << ' изаберете 'пицу' ' ;
пауза ;
случај '2' :
стд :: цоут << ' Изабрали сте 'Бургер' ' ;
пауза ;
случај '3' :
стд :: цоут << ' Ви бирате 'торту' ' ;
пауза ;
Уобичајено :
стд :: цоут << „\Нема избора – нема реда ' ;
}
повратак 0 ;
}

Прво, декларишемо потребне стандардне библиотеке на почетку програма. Ми креирамо логику унутар главне функције и све унутар главне функције програма биће извршно. Овде декларишемо променљиву „избор“ чији је тип података знак. Затим креирамо мени који је видљив на екрану конзоле. Дајемо кориснику „мени ресторана“ са различитим опцијама као што су „Пица“, „Бургер“, „Торта“ и „Без избора“.



Пребацујемо гетцх() на избор променљиве јер је кориснички унос ускладиштен у овој променљивој и аутоматски приказујемо излаз према изабраној опцији. Да бисмо изабрали опцију из менија, користимо функцију свитцх() и проследимо „избор“ у овој функцији. Унутар методе „свитцх“ правимо случајеве за сваку опцију појединачно. У методи „свитцх“ у Ц++, наредба бреак се увек користи на крају сваког случаја који означава крај наредбе. Када га компајлирамо и извршимо, излаз се приказује на екрану конзоле који је приложен у наставку:





Сада ће функција гетцх() радити овде. Када корисник унесе избор, функција гетцх() ће упоредити овај улаз са малим словима и показаће излаз или опцију на конзоли аутоматски и одмах.



На претходно приложеном снимку екрана, корисник уноси избор „2“ и излаз се појављује на екрану као „одаберете 'Бургер'“. Рад гетцх() је очишћен у овом примеру када корисник унесе улаз и очекивани излаз се приказује на екрану конзоле уместо уноса који је дао корисник који је приказан на конзоли.

Сценарио 2: Прихватите скривену лозинку од корисника помоћу Гетцх()

У овом сценарију ћемо проћи кроз концепт како корисник може тајно да унесе лозинку и прикаже лозинку за унос на екрану конзоле. Овде користимо функцију гетцх() да задржимо екран док корисник не прође унос. Запамтите да гетцх() не приказује кориснички унос јер курсор не приказује унос на екрану конзоле. Исечак кода овог сценарија се помиње на следећи начин:

#инцлуде<иостреам>
#инцлуде <цонио.х>
#инцлуде <дос.х>
#инцлуде <стдио.х>
#инцлуде <стринг.х>
инт главни ( )
{
цхар пасв [ 8 ] ;
инт м ;
стд :: цоут << „Унесите лозинку од 8 цифара:“ ;
за ( м = 0 ; м <= 7 ; м ++ ) {
пасв [ м ] = гетцх ( ) ;
стд :: цоут << '*' ;
}
пасв [ м ] = ' \0 ' ;
стд :: цоут << ' ' ;
стд :: цоут << „Откриј унету лозинку:“ ;
за ( м = 0 ; пасв [ м ] ! = ' \0 ' ; м ++ )
стд :: цоут << ( '%ц' , пасв [ м ] ) ;
гетцх ( ) ;
повратак 0 ;
}

Као што се види у датом коду, додајте стандардне библиотеке које су неопходне за употребу функције гетцх() и за приказ излаза на екрану. Главна функција овог програма је да садржи различите кораке кроз које уносимо лозинку од корисника и приказујемо лозинку на екрану. Потребна нам је променљива низа чији је тип података „Цхар“ и има величину од 8 елемената. Осим овога, потребна нам је и променљива која чува вредности итерације.

Овде користимо „За петљу“ која чита сваки улазни број корисника ако је величина низа „8“. Затим корисник само притисне кључну лозинку на прозору улазне конзоле уз помоћ петље. Унутар ове „фор“ петље, ми прослеђујемо функцију гетцх() у низ пассв[]. Ова функција остаје на екрану док корисник не унесе 8 карактера лозинке. На сваком броју петље, одштампајте „*“ на сваком броју уноса корисника и петља је овде затворена.

Након тога, поново користимо петљу „фор“ која приказује саму скривену лозинку само узимајући вредности из пассв[]. Гетцх аутоматски држи екран све док кориснички унос не буде савршено ускладиштен у низу и не прикаже лозинку на екрану.

Кликните на опцију „Компилирај и покрени“ да бисте извршили програм и приказали излаз на екрану.

Унесите лозинку од 8 цифара на екрану. Када се изврши унос од 8 цифара, он аутоматски приказује откуцану лозинку у прозору конзоле. Притисните тастере на тастатури 8 пута и унесите лозинку.

Излазни екран се замрзава само због функције гетцх(). Функција гетцх() само штампа улазне податке на екрану као што је приказано на претходно приложеном снимку екрана.

Закључак

Да закључимо, гетцх() је најважнија функција Ц и Ц++ програмирања која олакшава кориснику да замрзне унос са тастатуре без приказа или без показивања курсора на екрану. Због своје нестандардне библиотеке, ако не користимо гетцх() у програму, прозор конзоле се приказује све док потребно време за извршавање програма не буде у милисекундама. У овом чланку смо објаснили ову методу одговарајућим примерима кода.