http://www.losttype.com/

SORU: Telefon ekleme, eklenen telefonları listeme, arama yapma ve çıkma fonksiyonları olan telefon rehberi uygulamasını c programlama dilinde yazınız.

 

#include <stdio.h>
#include <string.h>
struct kayit{
char isim[16];
char soyisim[21];
char tel[11];
};
void menuHazirla();
int telefonEkle();
int telefonlariListele();
int aramaYap(char *);
void menuHazirla(){
printf("---------- \n");
printf("*telefon defteri * \n");
printf("* 1.Telefon Ekle *\n");
printf("* 2.Telefonlari Listele *\n");
printf("* 3.Arama Yap *\n");
printf("* 4. Cik *\n");
printf("*-------------- *\n");}
int telefonEkle(){
struct kayit yeniKayit;
FILE *ptVeritabani;
if((ptVeritabani=fopen("C:\\telefonVeritabani.txt","a"))==NULL){
return -1;}
printf("\n\n");
printf("isim giriniz(max 15):");
scanf("%s",yeniKayit.isim);
printf("soy isim giriniz(max 20) :");
scanf("%s",yeniKayit.soyisim);
printf("\ntelefon numarasini giriniz(max 10) :");
scanf("%s",yeniKayit.tel);
fprintf(ptVeritabani,"\n%s\t%s\t%s",yeniKayit.isim,yeniKayit.soyisim,yeniKayit.tel);
fclose(ptVeritabani);
getchar();
return 0;}
int telefonlariListele(){
FILE *ptVeritabani;
struct kayit aktifKayit;
if((ptVeritabani=fopen("C:\\telefonVeritabani.txt","r"))==NULL){
return -1;
}
printf("\n\nisim\t\t\tsoyisim\t\t\ttel\n");
while(!feof(ptVeritabani)){
fscanf(ptVeritabani,"%s%s%s",&aktifKayit.isim,&aktifKayit.soyisim,&aktifKayit.tel);
printf("%s\t\t",aktifKayit.isim);
printf("%s\t\t",aktifKayit.soyisim);
printf("%s\t\t",aktifKayit.tel);}
fclose(ptVeritabani);
return 0;}
int aramaYap(char *arananIsim){
FILE *ptVeritabani;
struct kayit aktifKayit;
int bulunan=0;
if((ptVeritabani=fopen("C:\\telefonVeritabani.txt","r"))==NULL){
return -1;
}
while(!feof(ptVeritabani)){
fscanf(ptVeritabani,"%s%s%s",&aktifKayit.isim,&aktifKayit.soyisim,&aktifKayit.tel);
if(!strcmp(arananIsim,aktifKayit.isim)){
printf("%s\t\t",aktifKayit.isim);
printf("%s\t\t",aktifKayit.soyisim);
printf("%s\t\t",aktifKayit.tel);}
bulunan++;
}
fclose(ptVeritabani);
return bulunan;
}
int main(){
char secim='0';
char aranacakIsim[16];
int numaraAra=-1;
menuHazirla();
do{
printf("\n\nsecimin:");
secim=putchar(getchar());
switch (secim){
case'1':
if(telefonEkle()==0){printf("\ntelefon numarasi basariyla eklendi.");}
else{printf("\nHata: telefon numarasi eklenemedi!");}
break;
case'2':
if(telefonlariListele()==0){printf("\ntelefon  basariyla listelendi.");}
else{printf("\nHata: telefon numaralary listelenemedi!");}
break;
case'3':{
printf("\n aranacak ismi giriniz(max 15):");
scanf("%s",aranacakIsim);
numaraAra=aramaYap(aranacakIsim);
if(numaraAra==0){printf("\naranan isim kayitlarda bulunamadi.");}
else{if(numaraAra>0)
printf("\ntoplam %d kayit bulundu.",numaraAra);
else
printf("\nHata: numara aranamadi!:");
}}
break;
case'4':
printf("\nbyeee:");
return 0;
break;
default:
printf("\nlutfen 1-4 arasinda secim yap:");
}
}
while (secim!=4);
return 0;
}

 

 Bu örnek Berat Özgüner tarafından gönderilmiştir.

 

and then there were none critical essay
  • Misafir - uğur can

    merhabalar.. bu kodun değiştirerek arama motoru mantıgıyla yapmam gerekiyor.. veri yapıları dersindeki prefix tree(trie) mantıgıyla.. yani "a" harfini girdiğim zaman bana a ile başlayan isimleri önerecek bi program.. yardımcı olabilirmisiniz?

    0 Beğen
  • Misafir - uğur can

    merhaba bu kodu değiştirip arama motoru mantıgıyla yazmam gerekiyor.. yani "a" yı girdigimde bana a ile başlayan isimleri öneren bir program olmalı.. ve aynı zamanda veri yapıları dersindeki prefix tree(trie) mantıgıyl yazılmalı.. yardımcı olabilirmisiniz?

    0 Beğen
  • Misafir - ayşeş

    ya bunların c++ a göre uyarlaması yok mu ????

    0 Beğen
  • Misafir - mehmet

    slm kolay gelsin bana C dilinde texbax ta çalışacak adres ve telefon rehberi programı gönderebilirmisiniz

    0 Beğen