Program T9 – pengubah karakter ke angka dalam keypad HP T9

Pada keypad Telephone selular yang bukan type QWERTY, penempatan karakter huruf ,angka, serta spasi dibagi menjadi 10 bagian, yaitu dari angka 0 s.d 9. Angka-angka tersebut mewakili beberapa karakter. Misal angka 2, mewakili karakter a,b,c, dan angka 2 itu sendiri. Dan program ini dibua untuk mengetahui berapa susunan angka T9 pada telephone seluler jika inputnya sebuah kalimat majemuk yang dapat tersusun dari huruf, angka, dan tanda baca.

#include <stdio.h>
#include <ctype.h>

typedef struct{
    char elemen[100];
    int jml_kata;
}Kata;
Kata kata;
Kata *p_kata=&kata;
void ToAngka(char k);
void T9(char kalimat[]);
void main()
{
    char kalimat[100];
    p_kata->jml_kata=0;
    char *p=p_kata->elemen;
    int i;
    printf("\n Masukan sebuah kalimat : ");
    gets(kalimat);
    fflush(stdin);
    for(i=0;i<kalimat[i];i++){
        *p=kalimat[i];
        p_kata->jml_kata++;
        }
    printf("\n Tatanan angka T9 dari %s adalah :\n\n ",kalimat);
    T9(kalimat);
    getchar();
    getchar();

}
void T9(char kalimat[]){
    int i;
    for(i=0;i<kalimat[i];i++){
        ToAngka(toupper(kalimat[i]));
    }
}
void ToAngka(char k){
    switch(k){
        case '0':
        printf("0");break;
        case '1': default :
        printf("1");break;
        case '2':
        case 'A':
        case 'B':
        case 'C':
        printf("2");break;
        case '3':
        case 'D':
        case 'E':
        case 'F':
        printf("3");break;
        case '4':
        case 'G':
        case 'H':
        case 'I':
        printf("4");break;
        case '5':
        case 'J':
        case 'K':
        case 'L':
        printf("5");break;
        case '6':
        case 'M':
        case 'N':
        case 'O':
        printf("6");break;
        case '7':
        case 'P':
        case 'Q':
        case 'R':
        case 'S':
        printf("7");break;
        case '8':
        case 'T':
        case 'U':
        case 'V':
        printf("8");break;
        case '9':
        case 'W':
        case 'X':
        case 'Y':
        case 'Z':
        printf("9");break;
        case ' ':
        printf("#");break;
    }
}

Program ini masih memiliki kemungkinan salah atau error, tolong beritahu saya jika ada kekurangan dan kesalahan pada program ini. Saya juga mengharapkan saran, agar bisa lebih baik🙂

About Iin aryani

I don't wanna be a "Copycat" but, something they need to copy.

Posted on 25 April 2012, in Open Source ( C Program ) and tagged . Bookmark the permalink. Leave a comment.

Komentar untuk penulis

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 )

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s

%d bloggers like this: