Senin, 07 Januari 2013

Program File KBBI pada C

Untuk menggunakan program berikut, buat 2 file terlebih dahulu
1)File kamus.dat
//isi dengan kata-kata yang sesuai kbbi
ada
baru
cermat
demikian
.
.

2)File cerita.txt
//isi dengan cerita yang didalamnya mengandung kata-kata yang tidak sesuai dengan kbbi


/*File       : kbbi.cpp
Deskripsi    : Mencari kata pada suatu file yang bukan termasuk kata baku yang terdaftar dalam file kbbi
IS           : Daftar kata yang bukan kbbi belum ada
FS           : Daftar kata yang bukan kbbi sudah ada
Author       : Trisna Ari Roshinta

Tanggal      : 12 Desember 2012
*/

#include
#include
#include
#include
#include

void judul();
void entry();
void daftar_kata();
void daftar_kbbi();

int pil,lagi,bool;
FILE *fk;
FILE *fs;
FILE *fd;

typedef struct{
    char kt[100];
    //char arti[256];
}kms;


kms kamus;
char kata[256];

main(){
do{
    judul();
    gotoxy(30,10);    printf("1. ENTRI DATA KBBI\n");
    gotoxy(30,11); printf("2. DAFTAR KATA DALAM KBBI\n");
    gotoxy(30,12); printf("3. DAFTAR KATA BUKAN DALAM KBBI\n");
    gotoxy(30,13); printf("4. KELUAR\n");
    gotoxy(30,17); printf("Masukkan pilihan :");
    gotoxy(50,17); scanf("%d",&pil);
            if(pil==1){
            entry();
        }
        else if(pil==2){
            daftar_kbbi();
        }
        else if(pil==3){
            daftar_kata();
        }

    printf("\n\t\t\t\tMau Operasi Lagi? ");
    scanf("%d",&lagi);

}while(pil!=4 || lagi==1);
}


void judul(){
    clrscr();
    gotoxy(26,3); printf(".:: S E L A M A T  D A T A N G ::.");
    gotoxy(29,5); printf("KAMUS BESAR BAHASA INDONESIA");
}

void entry(){
    judul();
    gotoxy(32,7);    printf(" ENTRI DATA KBBI");
    gotoxy(31,8);    printf("------------------");

    fk=fopen("kamus.dat","ab+");
        if(fk==NULL){
            printf("File Gagal dibuka!");
        }
        else{
            gotoxy(20,12); printf("KATA    : " );fflush(stdin);
            gets(kamus.kt);

            //gotoxy(20,14); printf("ARTI    : " );fflush(stdin);
            //gets(kamus.arti);
            printf("\n");

            fflush(stdin);
            fprintf(fk,"%s \n",kamus.kt);
        }
    fclose(fk);
}

void daftar_kbbi(){
    judul();
    gotoxy(31,7);    printf(" DAFTAR KATA KBBI");
    gotoxy(30,8);    printf("-------------------");

        if((fk=fopen("kamus.dat","rb"))==NULL){
            printf("file gagal");
        }
        else{
            while(fscanf(fk,"%s",kamus.kt)==1){
                        printf("\n%s",kamus.kt);
            }
        }
    fclose(fk);
}


void daftar_kata(){
    judul();
    gotoxy(30,7);    printf(" DAFTAR KATA BUKAN KBBI");
    gotoxy(29,8);    printf("------------------------");
    gotoxy(30,9);    printf("Dari file cerita.txt");


if((fs=fopen("cerita.txt","rt"))==NULL){
                printf("file gagal");
    }
else{
    /*sebelum pengecekan file bukan kbbi harus dikosongkan dahulu, agar data tidak menumpuk*/
                fd=fopen("bukan_kbbi.dat","wb+");
                fclose(fd);

    /*mulai pengecekkan kata*/
    while(fscanf(fs,"%s",kata)!=EOF){
        if((fk=fopen("kamus.dat","rb"))==NULL){
            printf("file gagal");
        }
        else{
        bool=1;

            while((fscanf(fk,"%s",kamus.kt)==1)&&bool==1){
                if(strcmp(kata,kamus.kt)==0){
                    bool=0;
                    break;
                }
            }
         if(bool==1){
                printf("\n%s",kata);
                fd=fopen("bukan_kbbi.dat","ab+");
                    if(fd==NULL){
                        printf("File Gagal dibuka!");
                    }
                    else{
                        fprintf(fd,"%s\n",kata);
                    }
                fclose(fd);
            }
        }
    fclose(fk);
    }
}
fclose(fs);
}

Tidak ada komentar:

Posting Komentar

Author

Trisna Ari Roshinta

Subscribe & Follow

Disini saya hanya sharing beberapa pengalaman saya selama belajar informatika. Silahkan bertanya jika ada yang ingin ditanyakan..

Labels