Cara Menghitung String Masukan Dengan strlen() dan cin.gcount() di bahasa C++ dengan menggunakan codeblocks - Ada beberapa cara yang bisa dilakukan untuk menghitung jumlah karakter yang dimasukkan oleh user. Cara yang mungkin biasa Anda gunakan adalah dengan menggunakan perulangan for, Kurang lebih seperti ini jika menggunakan for :
jum_karakter = 0;
for(int i = 0; string[i]; i++)
jum_karakter++;
“Mulai dari index 0, Ulang selama string[i] tidak bernilai NULL, lakukan increment/penambahan nilai pada varibel ‘jum_karakter’ selama kondisi bernilai benar, kemudian increment nilai index”.
*Tambahan :
“Untuk yang belum tau, perlu dicatat bahwa setiap string pada C++ selalu diakhiri dengan NULL. Jika kita melakukan input atau melakukan inisialisasi = “C++”. Maka diakhir kata C++ akan ditambahkan karakter NULL (biasa disimbolkan dengan ‘\0’). Seperti ini :
C
|
+
|
+
|
\0
|
Kembali ke bahasan utama…
Sebenarnya tidak ada masalah menggunakan perulangan for untuk menghitung jumlah karakter. Namun di sini C++ sudah menyiapkan fungsi yang lebih mudah untuk digunakan yaitu strlen() dan cin.gcount().
strlen() atau “string length” akan secara otomatis mengitung jumlah karakter yang disimpan dalam suatu variabel. Strlen bisa digunakan untuk menghitung jumlah karakter yang diinisialisasiakan pada awal deklarasi variabel maupun input dari keyboard. Sedangkan cin.gcount() hanya dikhususkan untuk membaca jumlah karakter yang di input dari standard input (keyboard).
Berikut kode program untuk menghitung jumlah karakter :
/*
Menghitung panjang string masukan dengan for,
strlen() dan cin.gcount()
compiler : Microsoft Visual Studio 2012
*/
#include <iostream>
using namespace std;
#include <string.h>
int main()
{
char string[70]; //deklarasi variabel
int jum_karakter;
cout<<"Menghitung panjang string inputan"<<endl;
cout<<"---------------------------------"<<endl;
cout<<"Masukkan String : ";
cin.getline(string, sizeof(string));
cout<<"\nJumlah String"<<endl;
//menghitung karakter dengan perulangan for
jum_karakter = 0;
for(int i = 0; string[i]; i++)
jum_karakter++;
cout<<"> dengan perulangan for = "<<jum_karakter<<" karakter"<<endl;
cout<<"> dengan cin.gcount() = "<<cin.gcount()-1<<" karakter"<<endl;
cout<<"> dengan strlen = "<<strlen(string)<<" karakter"<<endl;
cout<<endl;
system("pause");
return EXIT_SUCCESS;
}
Output Program
Dilarang berkomentar kotor,promo link selain link blog
EmoticonEmoticon