Program pendeteksi jenis karakter

Berikut adalah program sederhana yang dapat digunakan untuk mengidentifikasi banyaknya huruf, membedakan mana yang  vokal dan yang konsonan serta numerik.

#include <stdio.h>
#include <ctype.h>
#include <string.h>
void trim(char *kata);
void head();
int main()
{
    char kata[100],v[100],k[100],n[100],cari;
    int nov=0,nok=0,non=0,flag=0,jml=0;
    head();
    printf("\n\tInput kata atau kalimat : ");
    gets(kata);
    trim(kata);
    int i,lenght=strlen(kata),vokal=0,konsonan=0,numerik=0;
    for(i=0;i<lenght;i++)
        {
            if(toupper(kata[i])=='A'||
               toupper(kata[i])=='I'||
               toupper(kata[i])=='U'||
               toupper(kata[i])=='E'||
               toupper(kata[i])=='O')
               {
                   v[nov]=kata[i];
                   vokal++;
                   nov++;
               }
            else if(isdigit(kata[i]))
               {
                   n[non]=kata[i];
                   numerik++;
                   non++;
               }
            else
               {
                 k[nok]=kata[i];
                 konsonan++;
                 nok++;
               }

        }
    printf("\n\t--- Keterangan ---\n"
           "\tJumlah karakter : %d\n"
           "\tHuruf vokal : %d\n",lenght,vokal);
           for(i=0;i<vokal;i++)
            {
                printf("\t%c\n",v[i]);
            }
    printf("\tHuruf konsonan : %d\n",konsonan);
           for(i=0;i<konsonan;i++)
            {
                printf("\t%c\n",k[i]);
            }
    printf("\tNumerik : %d\n",numerik);
           for(i=0;i<numerik;i++)
                printf("\t%c\n",n[i]);

    printf("\n\tMasukan data yang anda cari : ");
    scanf("%c",&cari);
    for(i=0;i<lenght;i++)
        if(kata[i]==cari)
            {
                flag=1;jml++;
            }
    if(flag==1)printf("\tData ditemukan. Sebanyak %d karakter\n",jml);
    else printf("\nData tidak ditemukan.");
    getchar();
    getchar();
    return 0;
}

void head()
    {
        printf(" _____Program detektor karakter____\n");
    }
void trim(char *kata){
    int a,b;
    for(a=0;kata[a];a++){
        if(isspace(kata[a])){
            for(b=a;kata[b];b++){
                kata[b]=kata[b+1];}
                    a--;}
        }

}

Jika ada kesalahan dan kekurangan pada source ini tolong dikomen ya. Maklum saya juga pemula dalam bahasa C.

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: