C++ Variable Casting [char to int] – misal A=1, B=2….Z=26

char to int

Kisah lagi, ceritanya pengen menghitung nilai dari sebuah nama misal karakter a bernilai 1, b bernilai 2, c bernilai 3 dan seterusnya… Pada dasarnya suatu karater itu kalau dicasting ke intergr maka akan mejadi nilai ASCIInya. Ada ASCII tabel tuh coba cari. Nah huruf A-Z itu nilai ASCIInya 65 untuk A….. sampai 91 untuk Z, sedangkan untuk huruf kecil beda lagi, yaitu 97 untuk a….. sampai 123 untuk z. Nah supaya nilai A atau a = 1 yaaa tinggal dikurangin aja, kalau karakternya huruf besar kita kurangi 96, kalau karakternya huruf kecil tinggal kurangi 64. Jadi deh.

Lalu gimana tau itu hurup besar atau hurup kecil?  tenang, sekarang ada teknologi (baca : ada fungsi) yang namanya isupper. Nah kita bisa pake itu tuh 🙂

—————————

#include <stdio.h>
#include <string>
#include <Windows.h>

void main ()
{
 char nama[100];
 int namaInt[100];
 int totalNamaInt=0, spasi=1;
 float persNama;
printf("masukkan nama Anda : "); scanf("%[^\n]",nama); fflush(stdin);
 
//system("cls");
 for(int a=0; a<strlen(nama); a++)
 {
 if(nama[a]==' ')
 {
 namaInt[a]=0;
 spasi++;
 }
 else if(isupper(nama[a])==1) //ASCII huruf kecil dari 97-122
 {
 namaInt[a]=((int)nama[a])-64;
 }
 else if(isupper(nama[a])==0)
 {
 namaInt[a]=((int)nama[a])-96; //ASCII huruf besar dari 65-90..
 }
 
 printf("\nNilai untuk Huruf %c adalah %d",nama[a],namaInt[a]);
 totalNamaInt+=namaInt[a];
 }

persNama=(totalNamaInt*100/((strlen(nama)-spasi)*26));
printf("\n\n\nTotal Karakter : %d\nJumlah Suku Kata : %d\njumlah nama anda jika diangkakan adalah : %d",strlen(nama),spasi,totalNamaInt);
 printf("\nPersentase nama anda dari huruf Z : %.2f%%",persNama);
 getchar();
}

Komen dimari gann....

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s