duyuruElektroArge.com'a Hoşgeldiniz. Üye Olmak İçin Tıklayın. duyuru





houseForum ana sayfa   iletişimİletişim   bilgiSSS  
kırmızı yeşil mavi
ekleKayıt  anahtarGiriş
evForum ana sayfa goKod Paylaşımı & Tamamlanmış Projeler goC Dili Kod Paylaşımı ve Projeler
 

  • Reklam

Telefon Defteri Uygulaması

C Dili ile Yazılmış Kodlar ve Tamamlanmış Projeler

Telefon Defteri Uygulaması

Mesajgönderen okanbilke » 07 Mar 2014 01:01

Program basit bir telefon defteri olarak tasarlanmıştır. Bu defterde isimler ve telefon numaraları yer alacak. program ile şu üç işlemi gerçekleştirebiliyoruz:
  1. İsim telefon kaydet
  2. Tüm isim ve telefonları ekrana yazdır
  3. Dosya içinde isme göre arama yap, istenilen telefon numarasını bul
  4. Programdan çıkış
//telefon_defteri_uygulamasi.c - 07.03.2014 - Okan BİLKE -www.elektroarge.com

#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("* *\n");
printf("* telefon defteri *\n");
printf("* programina hosgeldiniz! *\n");
printf("* *\n");
printf("* *\n");
printf("* 1. Telefon Ekle *\n");
printf("* 2. Telefonlari Listele *\n");
printf("* 3. Arama Yap *\n");
printf("* 4. Cikis *\n");
printf("* *\n");
printf("--------------------------------------\n");
}

int telefonEkle()
{
struct kayit yeniKayit;
FILE *ptVeritabani;

// dosyaya ac:
if((ptVeritabani = fopen("D:\\telefonVeritabani.txt","a"))==NULL)
{
return -1;
}
printf("\n\n");
printf("isim giriniz(max 15 karakter): ");
scanf("%s",yeniKayit.isim);

printf("soyisim giriniz(max 20 karakter): ");
scanf("%s",yeniKayit.soyisim);

printf("telefon numarasini giriniz(max 10 karakter): ");
scanf("%s",yeniKayit.tel);

fprintf(ptVeritabani, "\n%s\t%s\t%s", yeniKayit.isim, yeniKayit.soyisim, yeniKayit.tel);

fclose(ptVeritabani);
return 0;
}


int telefonlariListele()
{
// dosyadaki tum telefonlari listele
// dosyaya ac:
FILE *ptVeritabani;
struct kayit aktifKayit;
if((ptVeritabani = fopen("D:\\telefonVeritabani.txt","r"))==NULL)
{
return -1;
}

printf("\n\nisim\t\t\tsoyisim\t\t\ttel\n");
printf("----\t\t\t-----\t\t\t---\n\n");
// dosya sonuna kadar tum verileri oku:

while(!feof(ptVeritabani))
{
fscanf(ptVeritabani,"%s%s%s",&aktifKayit.isim, &aktifKayit.soyisim, &aktifKayit.tel);
printf("%s\t\t\t",aktifKayit.isim);
printf("%s\t\t\t",aktifKayit.soyisim);
printf("%s\n",aktifKayit.tel);
}

fclose(ptVeritabani);
return 0;
}

int aramaYap(char *arananIsim)
{
// dosyadaki tum telefonlarini ara
// dosyaya ac:
FILE *ptVeritabani;
struct kayit aktifKayit;
int bulunan=0;

if((ptVeritabani=fopen("D:\\telefonVeritabani.txt","r"))==NULL)
{
return -1;
}

// dosya sonuna kadar tum verileri oku:
while(!feof(ptVeritabani))
{
fscanf(ptVeritabani, "%s%s%s", &aktifKayit.isim, &aktifKayit.soyisim, &aktifKayit.tel);

if(!strcmp(arananIsim, aktifKayit.isim))
{ // bbulundu!
printf("%s\t\t\t", aktifKayit.isim);
printf("%s\t\t\t", aktifKayit.soyisim);
printf("%s\n", aktifKayit.tel);
bulunan++;
}
}

fclose(ptVeritabani);
return bulunan;
}

int main()
{
char secim='0';
char aranacakIsim[16];
int numaraAra=-1;

// menu hazirla:
menuHazirla();

do
{
printf("\n\nseciminiz: ");
secim = putch(getch());

switch (secim)
{
case '1':
if (telefonEkle()==0) // geri bildirim:
{
printf("\ntelefon numarasi basariyla eklendi.");
}else{
printf("\nHATA: telefon numarasi eklenemedi!");
}
break;
case '2':
if (telefonlariListele()==0) // geri bildirim:
{
printf("\ntelefonlar basariyla listelendi.");
}else{
printf("\nHATA: telefon numaralari listelenemedi!");
}
break;
case '3':
printf("\naranacak ismi giriniz(max 15 karakter):");
scanf("%s",aranacakIsim);

numaraAra = aramaYap(aranacakIsim); // geri bildirim:
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("\nprogrami kullandiginiz icin tesekkurler.");
return 0;
break;
default:
printf("\nlutfen 1-4 arasinda bir secim yapiniz.");
}
}while(secim!=4);

return 0;
}
//bu dosya elektroarge.com'dan indirilmiştir.

Örnek ekran çıktıları:
--------------------------------------
* *
* telefon defteri *
* programina hosgeldiniz! *
* *
* *
* 1. Telefon Ekle *
* 2. Telefonlari Listele *
* 3. Arama Yap *
* 4. Cikis *
* *
--------------------------------------


seciminiz: 1

isim giriniz(max 15 karakter): elektro
soyisim giriniz(max 20 karakter): arge
telefon numarasini giriniz(max 10 karakter): 235343

telefon numarasi basariyla eklendi.

seciminiz:

İşte bir kayıt ekledik bile. Şimdi başka kayıtlar da ekleyelim. Dosyamızın son şekli şuna benzeyecektir:
Resim

Şimdi bu dosya üzerinde sıralama ve arama işlemleri yaptırabiliriz:
seciminiz: 2

isim soyisim tel
---- ----- ---

okan bilke 123456
goksu tuna 123654
onur bilke 987634
mevlut iscan 234324
coskun elber 523432
furkan ozlem 453345
elektro arge 235343

telefonlar basariyla listelendi.

seciminiz:

Şimdi ismi onur olan arkadaşlarımızı aratalım:
seciminiz: 3
aranacak ismi giriniz(max 15 karakter):onur
onur bilke 987634

toplam 1 kayit bulundu.

seciminiz:

İsmi ayşe olan kişileri aratalım:
seciminiz: 3
aranacak ismi giriniz(max 15 karakter):ayşe

aranan isim kayitlarda bulunamadi.

seciminiz:

İşimiz bittiğinde menüden 4'ü seçerek programdan çıkabiliriz:
seciminiz: 4
programi kullandiginiz icin tesekkurler.
okanbilke@gmail.com
Kullanıcı avatarı
okanbilke
Site Kurucusu
Site Kurucusu
 
Mesajlar: 720
Beğendiklerim: 0 mesaj
Beğenilenlerim: 0 mesaj
Kayıt: 15 Mar 2013 13:09
Konum: Ankara

Reklam

Dön C Dili Kod Paylaşımı ve Projeler

Kimler çevrimiçi

Bu forumu gezen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 0 misafir


  • Reklam
cron