Menggunakan Isalpha() dan Isdigit() dalam C/C++: Cara Ia Berfungsi

Menggunakan Isalpha Dan Isdigit Dalam C C Cara Ia Berfungsi



Terdapat satu set fungsi untuk dipanggil dalam C++ semasa berurusan dengan nilai alfanumerik. Fungsi ini memastikan bahawa nilai tidak bercampur dengan jenis data lain. Fungsi ini ialah isalpha() dan isdigit() yang digunakan untuk mengesan nilai abjad dan angka dalam rentetan masing-masing.

Isalpha() dalam C++

Fungsi isalpha() dalam C++ digunakan untuk menyemak sama ada aksara itu adalah abjad atau tidak dan untuk mentakrifkannya dalam C++ fail pengepala fungsi perpustakaan digunakan. Abjad yang ditakrifkan dalam fail pengepala ini ialah huruf besar dan huruf kecil 26 abjad bahasa Inggeris.







Sintaks

Sintaks untuk fungsi isalpha() dalam C++ diberikan sebagai:



isalpha ( int ch ) ;

Di mana ch ialah watak di bawah semak.



Nilai Pulangan

Apabila nilai adalah abjad maka fungsi ini akan memberikan nilai bukan sifar, manakala sebaliknya, jika ia bukan abjad maka ia mengembalikan nilai sifar.





Contoh 1

Kod di bawah ialah program C++ mudah yang menggambarkan penggunaan fungsi isalpha() untuk menyemak sama ada nilai itu adalah abjad atau tidak:

#include

#include

menggunakan ruang nama std ;



int utama ( ) {



int x = isalpha ( 'dua puluh satu' ) ;



cout << x ;



kembali 0 ;

}

Fail pengepala cctype disertakan, kerana ia memegang fungsi isalpha(). Integer x disimpan dengan nilai aksara untuk menyemak sama ada ia mengikut abjad atau tidak.



Watak input bukan abjad, jadi sifar dikembalikan kepada output.

Contoh 2

Kod di bawah ialah program C++ mudah yang menggambarkan penggunaan fungsi isalpha() dalam rentetan jenis C:

#include

#include

#include



menggunakan ruang nama std ;



int utama ( ) {

char tali [ ] = 'hum$%^&890qwe@kuidsuidu' ;

int mengira = 0 , semak ;



untuk ( int i = 0 ; i <= strlen ( tali ) ; ++ i ) {



semak = isalpha ( tali [ i ] ) ;

jika ( semak )

++ mengira ;

}



cout << 'Bilangan abjad dalam rentetan: ' << mengira << endl ;

cout << 'Bilangan bukan abjad dalam rentetan : ' << strlen ( tali ) - mengira ;



kembali 0 ;

}

Dalam program ini, fail pengepala yang diperlukan diisytiharkan. Rentetan aksara diisytiharkan untuk menyimpan aksara, dan gelung untuk digunakan untuk menyemak bilangan abjad dalam rentetan. Jika rentetan didapati daripada abjad, maka teruskan menambah bilangan kiraan. Pada output, kembalikan bilangan abjad yang terdapat dalam rentetan dan bukan abjad juga dikira, yang boleh didapati dengan menolak kiraan abjad daripada jumlah bilangan aksara dalam rentetan.

Jumlah bilangan abjad didapati 15 dan bukan abjad ialah 8. Oleh itu, jumlah bilangan aksara rentetan didapati ialah 23.

Isdigit() dalam C++

Fungsi isdigit() dalam C++ digunakan untuk menyemak sama ada aksara yang dimasukkan adalah salah satu daripada sepuluh (0-9) digit perpuluhan atau tidak. Dalam kes nilai ialah angka atau digit maka ia akan mengembalikan nilai bukan sifar, jika tidak, ia mengembalikan 0, yang ditakrifkan dalam fail pengepala .

Sintaks

Ini ialah sintaks untuk fungsi isdigit() dalam C++.

malah ( int char ) ;

Ia mengambil integer tunggal sebagai hujah.

Nilai Pulangan

Apabila nilai adalah angka atau digit maka fungsi ini akan memberikan nilai bukan sifar, manakala sebaliknya, jika ia bukan angka maka ia mengembalikan nilai sifar.

Contoh 1

Kod di bawah ialah program C++ mudah yang menggambarkan penggunaan fungsi isdigit() dalam C++:

#include

#include

menggunakan ruang nama std ;



int utama ( ) {



int x = malah ( '7' ) ;



cout << x ;



kembali 0 ;

}

Dalam kod sumber ini, integer x ditakrifkan untuk menyimpan nilai, dan fungsi isdigit() dipanggil untuk menyemak aksara ini dan mengembalikan output. Watak didapati sebagai angka, jadi ia mengembalikan nilai bukan sifar:

Contoh 2

Contoh ini menggambarkan penggunaan fungsi isdigit() untuk menyemak kehadiran digit dalam rentetan:

#include

#include

#include

menggunakan ruang nama std ;

int utama ( ) {

char tali [ ] = '45ty67d;' ;

int semak ;



cout << 'Digit dalam rentetan ialah:' << endl ;



untuk ( int i = 0 ; i < strlen ( tali ) ; i ++ ) {



semak = malah ( tali [ i ] ) ;



jika ( semak )

cout << tali [ i ] << endl ;

}



kembali 0 ;

}

Dalam kod sumber ini, fail pengepala yang diperlukan ditakrifkan untuk melaksanakan program. Untuk menyimpan aksara, rentetan ditakrifkan dan gelung for berulang melalui rentetan dan terus menyemak kehadiran digit pada setiap lokasi. Hasilnya disimpan dalam rentetan[i] dan Empat digit dalam rentetan ditemui dan dicetak pada output:

Kesimpulan

Terdapat satu set fungsi untuk dipanggil dalam C++ semasa berurusan dengan nilai alfanumerik. Untuk menyemak kehadiran aksara atau abjad dalam C++ fungsi isalpha() ini digunakan manakala fungsi isdigit() dalam C++ digunakan untuk menyemak sama ada aksara yang dimasukkan adalah salah satu daripada sepuluh (0-9) digit perpuluhan atau tidak. Dalam kes jawapan positif, fungsi ini mengembalikan nilai bukan sifar, jika tidak, ia mengembalikan 0. Kedua-dua fungsi ini ditakrifkan dalam fail pengepala .