#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct { int ID; char isim[15]; char soyisim[15];

Benzer belgeler
/* Çember alanını hesaplar */

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

YAPILAR (STRUCTURES)

mod ile açılacak olan dosyanın ne amaçla açılacağı belirlenir. Bunlar:

Temel Dosya İşlemleri. Kütük Organizasyonu 1

ALGORİTMA VE PROGRAMLAMA II

KOCAELİ ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ. BİLGİSAYAR LABORATUVARI II FİNAL SINAVI SORU ve CEVAPLARI(I. ogr)

Telefon Rehberi Uygulaması

Adı Soyadı Öğrenci No. Toplam (100p) 2 (10p) +10p. 5 (25p) +10p. 3 (20p) 4 (25p) 1 (20p)

#include<stdio.h> #include<conio.h> #define doktorsayisi 3. typedef struct dr{ int ay1, ay2, ay3, ay4; } doktor; float hesapla(doktor dktr){

Sınav tarihi : Süre : 60 dak.

PROGRAMLAMA. Dosyalama İşlemleri. Yrd. Doç. Dr. Bülent Çobanoğlu. Sakarya Üniversitesi Mekatronik Mühendisliği. Yrd.Doç.Dr.

int main(void) { int num = 0; int input = 1; int retval = 0; struct NODE *nodepointer; nodepointer = (struct NODE *)malloc(sizeof(struct NODE));

printf("\nbilgilerini goruntulemek istediginiz ogrencinin numarasini girin: "); scanf("%d",&no);

ÇOK BOYUTLU DİZİLER VE DİNAMİK BELLEK YÖNETİMİ İLE İLGİLİ ÖRNEKLER

Döngü Komutları. Komutu. while Komutu Diğer Operatörler Bileşik Komut for Komutu. İçiçe Döngüler break ve continue Komutları

şeklinde tanımlanmıştır. O halde, dosyaları daha önceki bilgilerimizi kullanarak FILE *Dosya1, *Dosya2;

2) /* Kullanıcıdan alınan iki sayının obebini alt fonksiyon yardımı ile hesaplayan C programı*/

Fall Object-Oriented Programming Laboratory 03

Eln 1002 Bilgisayar Programlama II

void main() { int a[] = {1, 2, 3, 4, 5, 6}; int *p=&a[2]; int **pp=&p; printf("%d", **pp+2); }

BLM 111 Algoritma ve Programlama I Güz 2018

BÖLÜM 11: YAPISAL VERİ TİPLERİ

10. DOSYA GİRİŞ ÇIKIŞ FONKSİYONLARI

int printf (const char *format [, argument,...]);

Jval tipi. Genel veri yapılarını kullanacağımız zaman Jval den faydalanırız.önemli olanlar aşağıda mevcuttur:

B02.6 Karar Verme, Eşitlik ve Bağıntı Operatörleri

YAPILAR BİRLİKLER SAYMA SABİTLERİ/KÜMELERİ. 3. Hafta

Arasınav Sınavı Soruları Güz 2017 Süre: 90 Dakika

C Dosyalama. Öğr. Gör. M. Ozan AKI. Rev 1.0

Programlama Dilleri. C Dili. Programlama Dilleri-ders08/ 1

Adı Soyadı : Öğrenci No :

Deney 7: Fonksiyon Tanımlama ve Parametre Aktarım Yöntemleri

C dilinde if-else yapısı

Dr. Fatih AY Tel: fatihay@fatihay.net

elemanlı bir dizide bir sinyalin 1 er saniye aralıklarla ölçülen gerilim değerleri tutulmaktadır. Bu sinyalin tepeden tepeye genliğini,

STRİNG DİZİLER(KATARLAR)

Bölüm 2 - C ile Programlamaya Giriş

Fall Object-Oriented Programming Laboratory 02 - Structures

Eln 1001 Bilgisayar Programlama I

SAKARYA ÜNİVERSİTESİ BİLGİSAYAR VE BİLİŞİM BİLİMLERİ FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ GÜZ DÖNEMİ PROGRAMLAMAYA GİRİŞ DERSİ

Programlama Dilleri Laboratuvarı

Hazır Fonksiyonlar {\} /\ Suhap SAHIN Onur GÖK 1

C++ Giriş Ders 1 MSGSU Fizik Bölümü Ferhat ÖZOK Kullanılacak kaynak: Published by Juan Soulié

C Dersleri Bölüm 3 : Program akışı

12. Saat : Dosyalar I (Files)

C ile Uygulamalar 4 - Cevaplar

işlemler bittikten sonra dosyaların kapatılması uygun olacaktır. Bunun için, fclose(fin);

BÖLÜM 6: KARŞILAŞTIRMALI KONTROL YAPILARI

BİLG Dr. Mustafa T. Babagil 1

ATATÜRK ÜNİVERSİTESİ BİLGISAYAR MÜHENDİSLİĞİ BÖLÜMÜ BM 104- NESNEYE YÖNELİK PROGRAMLAMA DERSİ BAHAR DÖNEMİ ÖDEV-3

Stack Islemleri. Postfix ve Infix notasyonlari. Stack ozellikleri

Metin Dosyaları. Metin Dosyaları Dosya Açma ve Kapama Dosya Okuma ve Yazma Rastgele Erişim Standart Girdi/Çıktı Hata Kontrolü

Strings(Karakter Dizisi)

Struct VE GÖSTERİCİLER FONKSİYONLARDA STRUCT KULLANIMI Programlama dilleri hafta -

BMB1002 Bilgisayar Programlamaya Giriş. Dosyalar. Prof. Dr. Necmettin Kaya

AHMET YESEVİ ÜNİVERSİTESİ BİLİŞİM SİSTEMLERİ VE MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ LİSANS DÖNEM ÖDEVİ

Matris İşlemleri Uygulaması

Sınav tarihi : Süre : 60 dak. a) strstr b) strchr c) strcat d) strcpy e) strlen. a) b) d) e) 0

Kocaeli Üniversitesi C Bilgisayar Programlama Ara Sınavı Test Soruları

Adı Soyadı : Öğrenci No :

menu(besleme,toplam_odul,array,tercih,puan);//deger dondurmeyen fonksiyon cagiriliyor...

BİL1001 Bilgisayar Bilimlerine Giriş 1

BLM-111 PROGRAMLAMA DİLLERİ I. Ders-8 Değişken Tipleri ve Temel Giriş/Çıkış İşlemleri

PROGRAMLAMAYA GİRİŞ DERS 2

Programlama Dilleri 1. Ders 5: Göstericiler

Adım Adım C. Dr. Hidayet Takcı

ELN1002 BİLGİSAYAR PROGRAMLAMA 2

BİLG Dr. Mustafa T. Babagil 1

Temel Bilgisayar Programlama

BÖLÜM 12: DOSYA İŞLEMLERİ

enum, struct, union ve typedef Yapıları

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Giris {\} /\ Suhap SAHIN Onur GÖK

MAK 1005 Bilgisayar Programlamaya Giriş C DİLİNE GİRİŞ. Prof. Dr. Necmettin Kaya

Chapter 11 Dosya İşleme

Diziler (Arrays) Çok Boyutlu Diziler

DOSYA İŞLEMLERİ Programlama dilleri hafta -



C ile Uygulamalar 2 - Cevaplar

C PROGRAMLAMA D İ L İ

Bil 105 Laboratuvar (1. Hafta Problemleri)

Başkent Üniversitesi Mühendislik Fakültesi Güz Yarıyılı BİL 101-Bilgisayar Yazılımı I Arasınavı

Adım Adım C-II. Eksik kalmış konular

Diziler. Yrd.Doç.Dr.Bülent ÇOBANOĞLU

BÖLÜM 1b: C++ PROGRAMLAMANIN YAPISI. C++, hard diskte TC, BIN, INCLUDE, LIB gibi alt dizinlere yüklenir.

Fonksiyonlar. C++ ve NESNEYE DAYALI PROGRAMLAMA 51. /* Fonksiyon: kup Bir tamsayının küpünü hesaplar */ long int kup(int x) {

AVL Agacı {\} /\ Suhap SAHIN Onur GÖK

GENEL GĐRĐŞ-ÇIKIŞ FONKSĐYONLARI. ENF102 Jeoloji 1. #include <stdio.h> printf Fonksiyonu ÖRNEK. printf

while(), do-while(), for() M.İLKUÇAR 2010 MAKU-MYO

Döngü ve Koşul Deyimleri

Temel Bilgisayar Bilimleri Ders Notu #4-1. kısım

C# Çalışma Örnekleri

DOSYALAR. Temel terimler Hafta. Dr. Fahri Vatansever

Sınav tarihi : Süre : 60 dak. a) ABCDE b) BCDE c) ABCD d) kod hatalı e) BCD

Örnek: İki fonksiyondan oluşan bir program. Fonksiyon Tanımı

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

BĠLGĠSAYAR PROGRAMLAMA II C++ Programlamaya GiriĢ Published by Juan Soulié

Temel Bilgisayar Programlama Final Sınavı Çalışma Notları

Transkript:

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct int ID; char isim[15]; char soyisim[15]; Ad; typedef struct int ID; char teltip[3]; char tel[12]; Tel; typedef struct int ID; char adrestip[3]; char adres[50]; Adres; void yenikayit(); void listele(); void main() short secim; do printf ( "\n(1)yeni kayit\n(2)sorgulama \n(-1)seciminiz: "); scanf ( "%d", &secim); switch(secim) case 1 :yenikayit(); case 2 :listele(); while(secim!=-1); // main () fonksiyonu sonu void yenikayit() FILE *isrtad, *isrttel, *isrtadres, *sayi,*isrtgiris; Ad kisi; Tel telefon; Adres adresi; short evethayir=1;

short yenikayit=1; int ksayisi; char ilkkayitmi[4]; //programin ilk kez calistirildiginin kontrolu yapilir //yani ilk kayit girisi. isrtgiris = fopen("giris.txt","r"); fscanf(isrtgiris,"%s",ilkkayitmi); fclose(isrtgiris); //dosyalardaki kayit sayisi ayarlanir veya //daha once kayit yapilmis ise kayit sayisi dosyadan alinir if (!strcmpi(ilkkayitmi,"yeni")) sayi = fopen("kayitsayisi.txt","w"); ksayisi=0; //fseek (sayi, 0, SEEK_SET); //fwrite(&ksayisi, sizeof(int), 1, sayi); fprintf(sayi,"%d",ksayisi); fclose(sayi); sayi = fopen("kayitsayisi.txt","r"); //fseek (sayi, 0, SEEK_SET); //fread (&ksayisi, sizeof(int), 1, sayi); fscanf(sayi,"%d",&ksayisi); fclose(sayi); //kayit sayisina bagli olarak dosyalarin açilis formati ayarlanir if (ksayisi==0) isrtad = fopen("isimler.bin","w"); isrttel = fopen("telefon.bin","w"); isrtadres = fopen("adres.bin","w"); sayi = fopen("kayitsayisi.txt","w"); isrtad = fopen("isimler.bin","a+"); isrttel = fopen("telefon.bin","a+"); isrtadres = fopen("adres.bin","a+"); sayi = fopen("kayitsayisi.txt","w"); //kayit girisi baslar while(yenikayit==1) ksayisi++;

kisi.id = ksayisi; printf ( "\nisim: "); scanf ( "%s", kisi.isim); printf ( "soyisim: "); scanf ( "%s", kisi.soyisim); fwrite(&kisi, sizeof(ad), 1, isrtad); //telefon bilgileri alinir telefon.id = ksayisi; printf ( "%s'in ev telefonu (mevcut degilse.yok yazin):", kisi.isim); scanf ( "%s", telefon.tel); strcpy(telefon.teltip, "ev"); fwrite(&telefon,sizeof(tel), 1, isrttel); printf ( "%s\'in is telefonu (mevcut degilse.yok yazin):", kisi.isim); scanf ( "%s", telefon.tel); strcpy(telefon.teltip, "is"); fwrite(&telefon, sizeof(tel), 1, isrttel); printf("%s\'in cep telefonu (mevcut degilse.yok yazin):", kisi.isim); scanf("%s", telefon.tel); strcpy(telefon.teltip,"cep"); fwrite(&telefon, sizeof(tel), 1, isrttel); //adress bilgiler alinir adresi.id = ksayisi; printf ( "%s \'in ev adresi(mevcut degilse_yok _yazin):",kisi.isim); scanf ( "%s", adresi.adres); strcpy(adresi.adrestip, "ev"); fwrite(&adresi, sizeof(adres), 1, isrtadres); printf ( "%s\'in is adresi(mevcut degilse_yok _yazin):",kisi.isim); scanf ( "%s", adresi.adres); strcpy(adresi.adrestip, "is"); fwrite(&adresi, sizeof(adres), 1, isrtadres); printf ( "\nyeni kayit? (0/1): "); scanf ( "%d", &yenikayit); //while sonu //kayit sayisi kayitsayisi.txt dosyasina yazilir fprintf(sayi,"%d",ksayisi);

fclose(isrtad); fclose(isrttel); fclose(isrtadres); fclose(sayi); isrtgiris = fopen("giris.txt","w"); fprintf(isrtgiris,"%s","eski"); fclose(isrtgiris); //yenikayit()fonksiyonu sonu void listele() FILE *isrtad, *isrttel, *isrtadres,*isrtsayi; Ad kisi, kayit; Tel telefon; Adres adresi; short baskalistele=1, evethayir = 1, bulundu=0; int ksayisi; int sayac = 0, sayact, sayaca; short secim; //dosyadaki kayit sayisi ogrenilir isrtsayi = fopen("kayitsayisi.txt","r"); fscanf(isrtsayi,"%d",&ksayisi); fclose(isrtsayi); isrtad = fopen("isimler.bin","r"); isrttel = fopen("telefon.bin","r"); isrtadres = fopen("adres.bin","r"); isrtsayi = fopen("kayitsayisi.txt","r"); if(isrtad==null isrttel==null isrtadres==null isrtsayi==null) printf ( "\n bir veya daha fazla hata olustu!"); exit(1); while(baskalistele==1) printf( "\n(1) tumkayitlar goster\n(2) kisi telefon bilgileri\n(3) kisinin adres bilgileri\n"); printf( "(4) kisinin adres ve telefon bilgileri\nseciminizi girin: "); scanf( "%d", &secim); switch(secim)

case 1: sayac =0; while(sayac<ksayisi) fseek(isrtad, sayac * sizeof(ad), SEEK_SET); fread(&kayit,sizeof(ad), 1, isrtad); printf ( "\n%s %s", kayit.isim, kayit.soyisim); //telefon ve adres dosyalarindan aktif kayit ile ayni id //ye sahip kayitlari ekrana yazdir sayact = 0; printf ( "\ntelefon bilgileri..."); while(sayact<ksayisi*3) fseek(isrttel, sayact * sizeof(tel),seek_set); fread(&telefon,sizeof(tel),1,isrttel); //telefon bilgisi, isimler.bin dosyasindan siradaki kisiye ait olup olmadigini test et if(kayit.id==telefon.id) printf ( "\n%5s: %-15s", telefon.teltip, telefon.tel); sayact++; sayaca=0; printf ( "\nadres bilgileri..."); while(sayaca<ksayisi*2) fseek(isrtadres, sayaca * sizeof(adres),seek_set); fread(&adresi,sizeof(adres), 1, isrtadres); dosyasindan devam kisiye ait olup olmadigini test et if(kayit.id==adresi.id) printf ( "\n%5s: %- 15s",adresi.adresTip, adresi.adres); sayaca++; sayac++; // while(sayac<ksayisi) case 2 : evethayir = 1; while(evethayir==1) printf ( "\ntelefon bilgileri alinacak kisinin, "); printf ( "\nadi ve soyadi: "); scanf ( "%s%s", kisi.isim, kisi.soyisim);

SEEK_SET); //kayit aranir bulundu =0; sayac=0; while(sayac<ksayisi) fseek(isrtad, sayac * sizeof(ad), fread(&kayit, sizeof(ad),1, isrtad); //okunan kaydin aranip kayit oldugunu test edilir if((strcmpi(kisi.isim, kayit.isim)==0) && (strcmpi(kisi.soyisim, kayit.soyisim)==0)) bulundu = 1; sayac++; //while(sayac<ksayisi) sonu kisi.isim, kisi.soyisim); sizeof(tel),seek_set); if( bulundu == 0) printf ( "\n%s %s kayitli degil\n", sayact = 0; printf ( "\ntelefon bilgileri...\n"); while(sayact<ksayisi*3) fseek(isrttel, sayact * fread(&telefon,sizeof(tel),1,isrttel); dosyasindan //devam kisiye ait olup olmadigini test et if(kayit.id==telefon.id) printf ( "\n%5s: %-15s", telefon.teltip, telefon.tel); sayact++; //while(sayact<ksayisi) sonu printf("\nyeni arama?(1/0): "); scanf("%d",&evethayir); //while(evethayir==1) sonu case 3 : evethayir = 1; while(evethayir==1)

kisinin, "); SEEK_SET); printf ( "\n adres bilgileri alinacak printf ( "\nadi ve soyadini girin: "); scanf ( "%s%s", kisi.isim, kisi.soyisim); //kayit aranir bulundu =0; sayac=0; while(sayac<ksayisi) fseek(isrtad, sayac * sizeof(ad), fread(&kayit, sizeof(ad),1, isrtad); //okunan kaydin aranip kayit oldugunu test edilir if((strcmpi(kisi.isim, kayit.isim)==0) && (strcmpi(kisi.soyisim, kayit.soyisim)==0)) bulundu = 1; sayac++; //while(sayac<ksayisi)sonu kisi.isim, kisi.soyisim); if( bulundu == 0) printf ( "\n%s %s kayitli degil\n", sayaca=0; printf ( "\nadres bilgileri...\n"); while(sayaca<ksayisi*2) fseek(isrtadres, sayaca * sizeof(adres),seek_set); fread(&adresi,sizeof(adres), 1, isrtadres); dosyasindan devam kisiye ait olup olmadigini test et if(kayit.id==adresi.id) printf ( "\n%s: %- 15s",adresi.adresTip,adresi.adres); sayaca++; printf("\nyeni arama?(1/0): "); scanf("%d",&evethayir); //while(evethayir==1) sonu case 4 : evethayir = 1; while(evethayir==1)

kisinin, "); SEEK_SET); printf ( "\n telefon bilgileri alinacak printf ( "\nadi ve soyadini girin: "); scanf ( "%s%s", kisi.isim, kisi.soyisim); //kayit aranir bulundu =0; sayac=0; while(sayac<ksayisi) fseek(isrtad, sayac * sizeof(ad), fread(&kayit, sizeof(ad),1,isrtad); //okunan kaydin aranip kayit oldugunu test edilir //if(strcmpi(kisi.isim, kayit.isim) && strcmp(kisi.soyisim, kayit.soyisim)) if((strcmpi(kisi.isim, kayit.isim)==0) && (strcmpi(kisi.soyisim, kayit.soyisim)==0)) bulundu = 1; sayac++; //while(!feof(isrtad)) sonu kisi.isim, kisi.soyisim); sizeof(tel),seek_set); if( bulundu == 0) printf ( "\n%s %s kayitli degil", sayact = 0; printf ( "\ntelefon bilgileri"); while(sayact<ksayisi*3) fseek(isrttel, sayact * fread(&telefon,sizeof(tel),1,isrttel); dosyasindan //devam kisiye ait olup olmadigini test et if(kayit.id==telefon.id) printf ( "\n%5s :%-15s", telefon.teltip, telefon.tel); sayact++; //while(!feof(isrttel)) sonu sayaca=0; printf ( "\nadres bilgileri"); while(sayaca<ksayisi*2)

fseek(isrtadres, sayaca * sizeof(adres),seek_set); fread(&adresi,sizeof(adres), 1, isrtadres); dosyasindan devam kisiye ait olup olmadigini test et if(kayit.id==adresi.id) printf ( "\n%s :%- 15s",adresi.adresTip,adresi.adres); sayaca++; // switch sonu printf("\nyeni arama?(1/0): "); scanf("%d",&evethayir); //while(evethayir==1) sonu printf ( "\n baska listeleme?(1/0): "); scanf ( "%d", &baskalistele); //while(baskalisteleme)sonu // listeleme( ) sonu