Používanie Isalpha() a Isdigit() v C/C++: Ako to funguje

Pouzivanie Isalpha A Isdigit V C C Ako To Funguje



Existuje súbor funkcií, ktoré je možné volať v C++ pri práci s alfanumerickými hodnotami. Tieto funkcie zabezpečujú, že hodnoty nie sú zamieňané s iným typom údajov. Tieto funkcie sú isalpha() a isdigit() používané na zistenie abecedných a číselných hodnôt v reťazci.

Isalpha() v C++

Funkcia isalpha() v C++ sa používa na kontrolu, či znak je alebo nie je abeceda a na jeho definovanie v C++ sa používajú funkcie knižnice hlavičkového súboru. Abecedy definované v tomto hlavičkovom súbore sú veľké aj malé 26 abecedy anglického jazyka.







Syntax

Syntax funkcie isalpha() v C++ je daná ako:



isalfa ( int ch ) ;

Kde ch je znak pod kontrolou.



Návratová hodnota

Keď je hodnota abeceda, potom táto funkcia poskytne nenulovú hodnotu, zatiaľ čo na druhej strane, ak to nie je abeceda, vráti nulovú hodnotu.





Príklad 1

Nižšie uvedený kód je jednoduchý program C++, ktorý ilustruje použitie funkcie isalpha() na kontrolu, či je hodnota abeceda alebo nie:

#include

#include

použitím menný priestor std ;



int Hlavná ( ) {



int X = isalfa ( 'dvadsaťjeden' ) ;



cout << X ;



vrátiť 0 ;

}

Hlavičkový súbor cctype je zahrnutý, pretože obsahuje funkciu isalpha(). Spolu s hodnotou znaku je uložené celé číslo x, aby sa skontrolovalo, či je abecedný alebo nie.



Vstupný znak nie je abeceda, takže na výstup sa vráti nula.

Príklad 2

Nižšie uvedený kód je jednoduchý program C++, ktorý ilustruje použitie funkcie isalpha() v reťazci typu C:

#include

#include

#include



použitím menný priestor std ;



int Hlavná ( ) {

char reťazec [ ] = 'hum$%^&890qwe@kuidsuidu' ;

int počítať = 0 , skontrolujte ;



pre ( int i = 0 ; i <= strlen ( reťazec ) ; ++ i ) {



skontrolovať = isalfa ( reťazec [ i ] ) ;

ak ( skontrolovať )

++ počítať ;

}



cout << 'Počet abecedy v reťazci: ' << počítať << endl ;

cout << 'Počet neabeced v reťazci: ' << strlen ( reťazec ) - počítať ;



vrátiť 0 ;

}

V tomto programe sú deklarované potrebné hlavičkové súbory. Na ukladanie znakov je deklarovaný reťazec znakov a na kontrolu počtu abecied v reťazci sa používa cyklus for. Ak sa zistí, že reťazec má abecedu, potom počet počtov neustále zvyšujte. Na výstupe vráti počet abecied prítomných v reťazci a tiež počet neabecedných znakov, ktorý možno zistiť odčítaním počtu abecied od celkového počtu znakov v reťazci.

Celkový počet abecedy je 15 a neabecedných je 8. Celkový počet znakov reťazca je teda 23.

Isdigit() v C++

Funkcia isdigit() v C++ sa používa na kontrolu, či je zadaný znak jednou z desiatich (0-9) desatinných číslic alebo nie. V prípade, že je hodnota číselná alebo číslica, vráti nenulovú hodnotu, inak vráti 0, ktorá je definovaná v hlavičkovom súbore .

Syntax

Toto je syntax funkcie isdigit() v C++.

dokonca ( int char ) ;

Ako argument berie jediné celé číslo.

Návratová hodnota

Ak je hodnota číselná alebo číslica, potom táto funkcia poskytne nenulovú hodnotu, zatiaľ čo na druhej strane, ak to nie je číselná hodnota, vráti nulovú hodnotu.

Príklad 1

Nižšie uvedený kód je jednoduchý program C++, ktorý ilustruje použitie funkcie isdigit() v C++:

#include

#include

použitím menný priestor std ;



int Hlavná ( ) {



int X = dokonca ( '7' ) ;



cout << X ;



vrátiť 0 ;

}

V tomto zdrojovom kóde je definované celé číslo x na uloženie hodnoty a funkcia isdigit() je volaná na kontrolu tohto znaku a vrátenie výstupu. Zistilo sa, že znak je číselný, takže vráti nenulovú hodnotu:

Príklad 2

Tento príklad ilustruje použitie funkcie isdigit() na kontrolu prítomnosti číslic v reťazci:

#include

#include

#include

použitím menný priestor std ;

int Hlavná ( ) {

char reťazec [ ] = '45ty67d;' ;

int skontrolovať ;



cout << 'Číslice v reťazci sú:' << endl ;



pre ( int i = 0 ; i < strlen ( reťazec ) ; i ++ ) {



skontrolovať = dokonca ( reťazec [ i ] ) ;



ak ( skontrolovať )

cout << reťazec [ i ] << endl ;

}



vrátiť 0 ;

}

V tomto zdrojovom kóde sú definované potrebné hlavičkové súbory na spustenie programu. Na uloženie znaku je definovaný reťazec a cyklus for iteruje cez reťazec a neustále kontroluje prítomnosť číslice na každom mieste. Výsledok je uložený v reťazci [i] a štyri číslice v reťazci sa nájdu a vytlačia na výstupe:

Záver

Existuje súbor funkcií, ktoré je možné volať v C++ pri práci s alfanumerickými hodnotami. Na kontrolu prítomnosti znaku alebo abecedy v C++ sa používa táto funkcia isalpha(), zatiaľ čo funkcia isdigit() v C++ sa používa na kontrolu, či je zadaný znak jednou z desiatich (0-9) desatinných číslic alebo nie. V prípade kladnej odpovede tieto funkcie vrátia nenulovú hodnotu, inak vrátia 0. Obe tieto funkcie sú definované v hlavičkovom súbore .