Dosyalar. Örnek: stok.dat isimli bir dosyaya beyaz eşyanın ismini ve stoktaki miktarlarını kaydeden, dosyadaki bilgilerde düzeltme yapan, dosyadan bilgi.

Slides:



Advertisements
Benzer bir sunumlar
Bölüm 11 Metin Dosyaları Metin Dosyaları Dosya Açma ve Kapama
Advertisements

Soru1 : Bir borcun faizi, basit olarak aşağıdaki formülle hesaplanır:
1 1-Diğer bölümünden Eczane Stok Sayımı bölümüne girilir.
Ülke, Şehİr ve bÖlge tanimlamasi
MILLENIUM MOBILE SUNUMU
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
BİLEŞİK ATAMA VE DÖNGÜLER
switch - case Yapısı Döngü Yapıları
String Diziler(Katarlar)
Kontrol Çevrimleri FOR WHILE DO-WHILE IF-ELSE SWITCH-CASE-DEFAULT
Soru1: kuvvet(taban,us) Şeklinde bir yinelenen fonksiyon yazın
Nesne Tabanlı Programlama Dersi Edirne Kız Teknik ve Meslek Lisesi Hazırlayan : Nuri AVCI
Çerez(Cookie) Kullanımı Oturum Yönetimi
Binary Ağaçlar (Ekleme/Silme Örnekleri)
DOSYA İŞLEMLERİ.
Program Kontrol İfadeleri
Soru1: Kullanıcıdan iki tam sayı girmesini isteyen ve daha sonra büyük olan sayı ile beraber ‘en büyüktür’ ifadesi yazan, ancak sayılar birbirine eşitse.
Paralel Programlamaya Giriş
Dosya İşlemleri BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ
DOSYA İŞLEMLERİ.
Kontrol Yapıları ve Döngüler
Çoklu dallanma seçimi: switch
1 DAHA ÖNCEDEN KAYDEDİLEN EĞİTİM BİLGİLERİNİN GÜNCELLENMESİ VE DÜZELTİLMESİ KAYITLI EĞİTİMLERİN GÜNCELLENMESİ.
JAVA’DA DÖNGÜLER.
Algoritma & Programlama
Fscanf fonksiyonu fscanf () : Dosyadan bilgiyi okumak ve değişkenlere aktarmak için kullanılır. int fscanf(FILE *dosya, char* format, değişken adres listesi);
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
Fonksiyonlar Fonksiyon Tanımı
PHP'de Program Denetimi
HESAP TABLOSU PROGRAMLARI
DÖNGÜLER(Loop) while, for döngüleri Break ve continue işlevleri
DEYİMLER DEYİM NEDİR? Kaç guruba ayrılır? İf deyimi nasıl çalışır?
C++ Ders Notları 2.Ders (Dilin Yapısı)
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
PROGRAM DENETİM DEYİMLERİ
KOŞUL İFADELERİ.
Ödeme Planı.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
VERİ YAPILARI İşaretçi Nedir? Nesne Tabanlı Programlama.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz
2. HAFTA 2. Hafta.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
3. HAFTA 3. Hafta.
Raporlama Menüleri Emine TUNÇEL Kırklareli Üniversitesi, Pınarhisar Meslek Yüksekokulu.
BİLGİSAYAR programlama II
PROGRAMLAMA Dosyalama İşlemleri
BİLGİSAYAR programlama II
Döngü Komutları. for deyimi bir alt limitten, bir üst limite kadar programın belirli bir parçasını tekrar eder. for deyiminde sayaç artış oranı da verilmelidir.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
Sıralama. Sıralama, bir dizideki sayısal elemanların küçükten büyüğe veya büyükten küçüğe, sayısal olmayan bir dizideki elemanların ise A’ dan Z’ ye.
6. TEZGAHA PROGRAM YAZILMASI VE SİLİNMESİ Tezgâha herhangi bir program gireceğimiz veya bir program üzerinde değişiklik yapacağımız zaman; Mode anahtarını.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
TAPU KADASTRO GENEL MÜDÜRLÜĞÜ DÖNER SERMAYE İŞLETMESİ MÜDÜRLÜĞÜ TAKBİS/ERP DE BANKA BİLGİSİ DEĞİŞTİRME DÖNER SERMAYE İŞLETMESİ MÜDÜRLÜĞÜ / PERSONEL SERVİSİ.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
Bölüm 6 Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
BİLGİSAYAR PROGRAMLAMA Ders 10: Dosyalama İşlemleri
Ünite 5 UYAP Genel İşlemler.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
14.DERS Örnekler, Sorular BUKET DOĞAN.
YAPISAL PROGRAMLAMA Hafta-6
4- OPERATÖR – koşul - döngü Nesne Yönelimli Programlama - i
BİLGİSAYAR programlama II
?: KARŞILAŞTIRMA OPERATÖRÜ
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
Sunum transkripti:

Dosyalar

Örnek: stok.dat isimli bir dosyaya beyaz eşyanın ismini ve stoktaki miktarlarını kaydeden, dosyadaki bilgilerde düzeltme yapan, dosyadan bilgi silen, dosyadaki tüm bilgileri ekrana listeleyen bir C++ programı yazınız?

Bu programda önceki haftadan farklı olarak, dosyadan istenmeyen kaydın silinmesi ve istenen kayıt üzerinde değişiklik yapılmasını sağlayan fonksiyonlar vardır.

Dosyadan kayıt nasıl silinir?

Bir dosya içinden bir kaydın silinmesi, kayıtlar arasından o kaydın silinmesi şeklinde olamamaktadır. Bu nedenle dosyadan bir kayıt silinmek istenmesi durumunda, dosya bilgi okumak üzere açılır ve başka isimle ikinci bir dosya açılır (oluşturulur).

Orijinal dosyadan veriler okutulur. Eğer okunan veriler silmek istemediğimiz verilerse ikinci dosyaya yazdırılırlar. Silmek istediğimiz verilerse ikinci dosyaya yazdırılmazlar. Böylece iki dosyaya sahip olmuş oluruz.

Birinci dosyada tüm veriler, ikinci dosyada ise silmek istediğimiz veriler dışında kalan tüm veriler vardır. Bu durumda ilk dosya silinir, ikinci dosyanın adı orijinal dosya ismiyle değiştirilir. Bu şekilde sanki dosyamızdan veriler silinmiş gibi olur.

stok.dat dosyası Ürün adıMiktarı TV10 Fırın5 Buzdolabi5 Cam.mak.8 Silinecek kayıt

stok.dat d.dat Ürün adıMiktarı TV10 Fırın5 Buzdolabi5 Cam.mak.8 Ürün adıMiktarı TV10 Fırın5 Cam.mak.8

stok.dat d.dat Ürün adıMiktarı TV10 Fırın5 Buzdolabi5 Cam.mak.8 Ürün adıMiktarı TV10 Fırın5 Cam.mak.8

d.dat stok.dat Ürün adıMiktarı TV10 Fırın5 Cam.mak.8

Dosyada kayıt nasıl düzeltilir?

Dosyadaki veriler üzerinde düzeltme yapılırken de aynı mantık geçerlidir. Bu defa düzeltme yapılmak istenmeyen veriler aynen ikinci dosyaya yazdırılır, düzeltme yapılacak verilerse, düzeltme işleminden sonra ikinci dosyaya yazdırılır.

stok.dat d.dat Ürün adıMiktarı TV10 Fırın5 Buzdolabi5 Cam.mak.8 Ürün adıMiktarı TV10 Fırın5 Dondurucu5 Cam.mak.8 Düzelterek

#include char Urun[20]; int Miktar, KayitSayisi, Sayac, Secim=0; fstream Dosya;

Kayit() { clrscr(); Dosya.open("stok.dat", ios::app); cout << "Kac kayit girilecek? "; cin>>KayitSayisi; for(Sayac=0; Sayac<KayitSayisi; Sayac++) { cout << "Urun ismi ve miktarini giriniz: "; cin >> Urun >> Miktar; Dosya << Urun << setw(8) << Miktar << endl; } Dosya.close(); }

Liste() { clrscr(); Dosya.open("stok.dat", ios::in); cout << "Urun adi Miktari\n" << " \n"; while(Dosya >> Urun >> Miktar) cout << setiosflags(ios::left) << setw(21) << Urun << setw(8) << Miktar<<endl; Dosya.close(); cout << "\nListe sonu, devam icin bir tus..."; getch(); }

Sil() { char Silinecek[20]; Dosya.open("stok.dat", ios::in); fstream D; D.open("d.dat", ios::out); clrscr(); cout << "Silinecek urun adi: "; cin >> Silinecek; while (Dosya >> Urun >> Miktar) if (strcmp(Urun, Silinecek) != 0) D << Urun << setw(8) << Miktar << endl; Dosya.close(); D.close(); remove("stok.dat"); rename("d.dat", "stok.dat"); }

Duzelt() { char Degisecek[20]; Dosya.open("stok.dat", ios::in); fstream D; D.open("d.dat", ios::out); clrscr(); cout << "Degisiklik yapilacak urun adi: "; cin >> Degisecek;

while (Dosya >> Urun >> Miktar) { if (strcmp(Urun, Degisecek) == 0) { cout << Urun << setw(8) << Miktar << endl; cout << "Yeni urun adi ve miktari: "; cin >> Urun >> Miktar; } D << Urun << setw(8) << Miktar << endl; } Dosya.close(); D.close(); remove("stok.dat"); rename("d.dat", "stok.dat"); }

Menu() { clrscr(); cout << "1- Kayit\n" << "2- Listeleme\n" << "3- Silme\n" << "4- Duzeltme\n" << "5- Program sonu\n\n" << "Seciminiz: "; cin >> Secim; }

main() { while (Secim<5) { Menu(); switch (Secim) { case 1: Kayit(); break; case 2: Liste(); break; case 3: Sil(); break; case 4: Duzelt(); break; }

SORU:  Bir firmanın sattığı ürünler için, ürün adı, miktarı ve satış fiyatı girildiğinde  Bir dosyaya kaydeden,  Ürün adı ve satış geliri bilgilerinin bulunduğu listeyi veren programı yazınız.