19 Nisan 2022 Salı

Sözlük c programlama

 Sözlük c programlama modüler programlama. Dosyaları ayrı ayrı ekliyorum ayrı ayrı isim verip kaydedip çalıştırabilirsiniz.

Main.c 

#include<stdio.h>

#include<stdlib.h>

#include"sozluk.h"

int main(int argc, char *argv[])

{

sozlukislemleri();

return 0;

}

//////////

sozluk.h

#ifndef _SOZLUK_H

#define _SOZLUK_H


typedef struct sozluk

{

char turkce[20],ingilizce[20];

}sozluk;


void kelimeekle();

void turkceingilizce();

void ingilizceturkce();

void kelimebul();

void kelimelistele();

void kelimesil();

int menu();

void sozlukislemleri();

#endif

/////////////

sozluk.c

#include"sozluk.h"

#include<stdio.h>

#include<stdlib.h>

#include<string.h>


sozluk soz;


void kelimeekle()

{

system("cls");

printf("Kelime Ekleme..\n\n");

printf("Turkce Kelime: "); scanf(" %[^\n]s",soz.turkce);

printf("Ingilizce Kelime: "); scanf(" %[^\n]s",soz.ingilizce);

strlwr(soz.turkce);

strlwr(soz.ingilizce);

FILE *ptr=fopen("sozluk.dat","a+b");

fwrite(&soz,sizeof(sozluk),1,ptr);

fclose(ptr);

printf("Kelime Kaydi tamam \n");

}

///////////////


void kelimebul()

{

system("cls");

int secim;

printf("Kelime Bul..\n\n");

printf("1- Turkce      - Ingilizce\n");

printf("2- Ingilizce   - Turkce \n");

printf("0- Ana Menuye Don \n");

printf("Seciminiz : "); scanf("%d",&secim);

if(secim == 1)

{

turkceingilizce();

}

else if(secim == 2)

{

ingilizceturkce();

}

else if(secim == 0)

{

printf("Ana menuye yonlendiriliyor\n");

}

else

{

printf("Yanlis secim yaptiniz");

}

}



void turkceingilizce()

{

system("cls");

printf("Turkce - Ingilizce Kelime Bulma\n\n");

char kelime[20];

printf("Turkce Kelime: "); scanf(" %[^\n]s",kelime);

strlwr(kelime);

int durum=0;


FILE *ptr=fopen("sozluk.dat","r+b");

while(fread(&soz,sizeof(sozluk),1,ptr) != NULL)

{

if(strcmp(kelime,soz.turkce)== 0)

{

system("cls");

printf("\n\t%-20s%-20s",soz.turkce,soz.ingilizce);

durum=1;

break;

}

}

fclose(ptr);

if(durum == 0)

{

printf("\nAranan Kelime Bulunamadi \n");

}





}

/////////////


void ingilizceturkce()

{

system("cls");

printf("Ingilizce - Turkce Kelime Bulma\n\n");

char kelime[20];

printf("Ingilizce Kelime: "); scanf(" %[^\n]s",kelime);

strlwr(kelime);

int durum=0;


FILE *ptr=fopen("sozluk.dat","r+b");

while(fread(&soz,sizeof(sozluk),1,ptr) != NULL)

{

if(strcmp(kelime,soz.ingilizce)== 0)

{

system("cls");

printf("\n\t%-20s%-20s",soz.ingilizce,soz.turkce);

durum=1;

break;

}

}

fclose(ptr);

if(durum == 0)

{

printf("\nAranan Kelime Bulunamadi \n");

}




}

//////////////////


void kelimelistele()

{

system("cls");

printf("Kelime Listele..\n\n");

int sayac=0;

printf("%-10s%-20s%-20s\n","SIRA NO","TURKCE","INGILIZCE");

FILE *ptr=fopen("sozluk.dat","r+b");

while(fread(&soz,sizeof(sozluk),1,ptr) != NULL)

{

sayac++;

printf("%-10d%-20s%-20s\n",sayac,soz.turkce,soz.ingilizce);

}

fclose(ptr);

if(sayac == 0)

{

printf("\nKelime kaydi yok \n");

}

else

{

printf("\n\n%d adet kelime bulundu.\n\n",sayac);

}



}

//////////////


void kelimesil()

{

system("cls");

printf("Kelime Listele..\n\n");

int sayac=0,numara;

printf("%-10s%-20s%-20s\n","SIRA NO","TURKCE","INGILIZCE");

FILE *ptr=fopen("sozluk.dat","r+b");

while(fread(&soz,sizeof(sozluk),1,ptr) != NULL)

{

sayac++;

printf("%-10d%-20s%-20s\n",sayac,soz.turkce,soz.ingilizce);

}

if(sayac == 0)

{

printf("\nKelime kaydi yok \n");

}

else

{


printf("\nSilmek istediginiz kelime numarasi giriniz : "); scanf("%d", &numara);

if(numara <=0 || numara > sayac)

{

printf("Hatali numara girdiniz..");

}

else

{

sayac=0;

rewind(ptr);

FILE *yedekptr = fopen("yedek.dat","w+b");

while(fread(&soz,sizeof(sozluk),1,ptr) != NULL)

{

sayac++;

if(numara != sayac)

{

fwrite(&soz,sizeof(sozluk),1,yedekptr);

}


}


fclose(ptr);

fclose(yedekptr);


remove("sozluk.dat");

rename("yedek.dat","sozluk.dat");

printf("\n%d Numarali kayit silidi \n",numara);

}

}

fclose(ptr);

}

/////////////


int sozlukmenu()

{

int secim;

printf("\n\n\t TURKCE-INGILIZCE SOZLUK PROGRAMI\n\n");

printf("\n\t\t1- Kelime Ekle\n");

printf("\n\t\t2- Kelime Bul\n");

printf("\n\t\t3- Kelime Listele\n");

printf("\n\t\t4- Kelime Sil\n");

printf("\n\t\t0- Programi Kapat\n");

printf("\n\t\tSeciminiz : "); scanf("%d",&secim);

system("cls");

return secim;



}

//////////////


void sozlukislemleri()

{

int secim = sozlukmenu();

while(secim != 0)

{

switch(secim)

{

case 1: kelimeekle(); break;

case 2: kelimebul(); break;

case 3: kelimelistele();break;

case 4: kelimesil(); break;

case 0: break;

default: printf("Hatali secim yaptiniz! \n"); break;

}

secim = sozlukmenu();

}

}



Hiç yorum yok:

Yorum Gönder

Her yorum bilgidir. Araştırmaya devam...