Dev C++ programı ile not defteri kayıtlı muhasebe işlemleri kodları ve nasıl yapılacağını açıkladım.
// MUHASEBE //
#include <iostream>
#include <string>
#include <stdio.h>
#include <fstream>
using namespace std;
int main()
{
int secim,kac,gun,ay,yil,fiyat,no,sorguno,silno,bakno;
string firma,alinan;
for(;;)
{
cout<<endl<<"1-YENI KAYIT"<<endl;
cout<<endl<<"2-KAYIT DUZENLEME"<<endl;
cout<<endl<<"3-KAYIT SILME"<<endl;
cout<<endl<<"4-KAYIT BAKMA"<<endl;
cout<<endl;
cout<<endl<<"---LUTFEN BIR SECIM YAPINIZ---"<<endl;
cin>>secim;
if(secim==1)
{
system("cls");
ofstream DosyaYaz;
DosyaYaz.open("muhasebe\\kayit.txt",ios::app );
cout<<"===YENI KAYIT==="<<endl;
cout<<endl;
cout<<endl<<"Kayit Numarasi Giriniz:"<<endl; cin>>no; cin.ignore();
cout<<endl<<"***Tarih Giriniz***"<<endl;
cout<<endl;
cout<<"Gun:"; cin>>gun; cin.ignore();
cout<<"Ay: "; cin>>ay; cin.ignore();
cout<<"Yil: "; cin>>yil; cin.ignore();
system("cls");
cout<<"Firma isim: "; getline(cin,firma);
cout<<"Alinan: "; getline(cin,alinan);
cout<<"Fiyat:" ; cin>>fiyat; cin.ignore();
//alltaki kod ya <<endl; yada ; ile bitmek zorunda yok çalışmıyo prgram dikkat ett
DosyaYaz<<endl<<no <<" "<<gun<<" "<<ay<<" "<<yil<<" "<<firma<<" "<<alinan<<" "<<fiyat;
cout<<endl<<"--KAYIT TAMAM--"<<endl;
DosyaYaz.close();
}
if(secim==2)
{
ifstream DosyaOku("muhasebe\\kayit.txt");
ofstream DosyaYaz("muhasebe\\gecici.tmp");
cout<<"Duzenlenecek Kayitin Numarasi: "; cin>>sorguno;
system("cls");
while(!(DosyaOku.eof()))
{
DosyaOku>>no>>gun>>ay>>yil>>firma>>alinan>>fiyat;
if(sorguno==no)
{
cout<<"no:" <<no<<endl;
cout<<"gun: "<<gun<<endl;
cout<<"ay: "<<ay<<endl;
cout<<"yil: "<<yil<<endl;
cout<<"firma ismi: "<<firma<<endl;
cout<<"alinan: "<<alinan<<endl;
cout<<"fiyat: "<<fiyat<<endl;
cout<<endl;
cout<<endl<<"***DUZENLEME YAPINIZ***"<<endl;
cout<<"Gun:"; cin>>gun; cin.ignore();
cout<<"Ay: "; cin>>ay; cin.ignore();
cout<<"Yil: "; cin>>yil; cin.ignore();
cout<<"Firma isim: "; getline(cin,firma);
cout<<"Alinan: "; getline(cin,alinan);
cout<<"Fiyat:" ; cin>>fiyat; cin.ignore();
system("cls");
DosyaYaz<<endl<<sorguno <<" "<<gun<<" "<<ay<<" "<<yil<<" "<<firma<<" "<<alinan<<" "<<fiyat;
}
else
{
DosyaYaz<<endl<<no <<" "<<gun<<" "<<ay<<" "<<yil<<" "<<firma<<" "<<alinan<<" "<<fiyat;
}
}
DosyaYaz.close();
DosyaOku.close();
remove("muhasebe\\kayit.txt");
rename("muhasebe\\gecici.tmp","muhasebe\\kayit.txt");
}
if(secim==3)
{
ifstream DosyaOku("muhasebe\\kayit.txt");
ofstream DosyaYaz("muhasebe\\gecici.tmp");
cout<<"Silinecek Kayit Numarasi: "; cin>>silno;
while(!(DosyaOku.eof()))
{
DosyaOku>>no>>gun>>ay>>yil>>firma>>alinan>>fiyat;
if(silno==no)
{
system("cls");
cout<<"no:" <<no<<endl;
cout<<"gun: "<<gun<<endl;
cout<<"ay: "<<ay<<endl;
cout<<"yil: "<<yil<<endl;
cout<<"firma ismi: "<<firma<<endl;
cout<<"alinan: "<<alinan<<endl;
cout<<"fiyat: "<<fiyat<<endl;
break;
}
else
{
DosyaYaz<<endl<<no <<" "<<gun<<" "<<ay<<" "<<yil<<" "<<firma<<" "<<alinan<<" "<<fiyat;
}
}
DosyaYaz.close();
DosyaOku.close();
remove("muhasebe\\kayit.txt");
rename("muhasebe\\gecici.tmp","muhasebe\\kayit.txt");
}
if(secim==4)
{
ifstream DosyaOku("muhasebe\\kayit.txt");
cout<<"Bakmak Istediginiz Kayit Numarasi Nedir:"<<endl; cin>>bakno;
system("cls");
while(!(DosyaOku.eof()))
{
DosyaOku>>no>>gun>>ay>>yil>>firma>>alinan>>fiyat;
if(bakno==no)
{
system("cls");
cout<<"no:" <<no<<endl;
cout<<"gun: "<<gun<<endl;
cout<<"ay: "<<ay<<endl;
cout<<"yil: "<<yil<<endl;
cout<<"firma ismi: "<<firma<<endl;
cout<<"alinan: "<<alinan<<endl;
cout<<"fiyat: "<<fiyat<<endl;
break;
}
}
DosyaOku.close();
}
}
}
Gerekli Kütüphaneler
4.Sıradaki Kod=Dosya işlemleri için kullanılan kütüphanelerden.
Kullanıcı Seçimi
Direkt program sonsuz döngüyle başlıyor. Kullanıcı programdan çıkana kadar istediği işlemleri tekrarlayabiliyor.
Kullanıcıya yapabileceği işlemlerin seçeneği sunuluyor.
8-9.Sıradaki Kod=Gerekli değişkenler.
10.Sıradaki Kod=Sonsuz döngü.
Muhasebe Kayıt İşlemi
Dosya Yazma İşlemi
Eğer 1 seçilirse ekrandan kullanıcıya yapabileceği işlemlerin seçeneği silinir. Kayıt isminde bir .txt (not defteri) uzantılı dosya oluşturulur ve kullanıcı kayıt yapar.
23.Sıradaki Kod=Ekran temizleme komutudur.
24.Sıradaki Kod=Dosya oluşturma ve üzerine yazma işlemleri yapmak için kullanılan komuttur. Karıştırmamak için ismini DosyaYaz yaptım.
25.Sıradaki Kod=Muhasebe klasörünün içine kayıt adından .txt(not defteri) uzantılı bir dosya açılır.
25.Sıradaki Kod= “ios :: app”=Yazma işlemlerine direkt olarak dosyanın sonundan başlar. Eğer dosyaya daha önceden yazma işlemi yapılmışsa onları silmeden üzerine ekler.
28.Sıradaki Kod=Boşluk yapmak için kullanılan komuttur.
30-40.Sıradaki Kod=Uzun rakamlı sayılar ve yazılar kullandığımız için program bozuluyor. Çünkü oradaki işlemler bir bütün hepsinin aynı olması gerekiyor. Program çalıştıktan sonra dizeyi sormadan devam ediyor ve atlıyor buda programı bozuyor.
cin.ignore()=Akımın maksimum boyutuna eşit olan karakterleri veya bir ‘\ n’ ile karşılaşılıncaya kadar, hangisi önce olursa olsun, yok sayar.
getline(cin,alinan )= Bu işlev girişten karakterler alır ve yeni satır karakteri alıncaya kadar karakter dizisine ekler.
43.Sıradaki Kod=
cout<< ……..<<endl;
Komutunda olduğu gibi burda da
DosyaOku<<…….<<endl;
Şeklinde kaydını gerçekleştiriyoruz.
Yapılan kayıtın açtığımız dosyanın içine kayıt’ ı için başta tanımladığımız isimde yazarak dosyaya kayıt’ ı gerçekleştiriyoruz.
45.Sıradaki Kod=Dosyayı kapatıyoruz.
Muhasebe Kayıt Düzenleme İşlemi
Dosya Okuma İşlemi
Eğer 2 seçilirse daha önceki kayıt dosyası okunur. Geçici bir dosya açılır eğer sorgu no ile no tutuyorsa bilgiler ve değiştirilip tekrardan kayıt edilir.
50.Sıradaki Kod=Dosya okumak için kullanılan komuttur.
51.Sıradaki Kod=.tmp uzantılı dosya yani geçici dosya açılır.
56.Sıradaki Kod=Son satıra kadar tüm dosya okunur.
58.Sıradaki Kod=Tüm kayıtlar gelir.
59.Sıradaki Kod=Sorguno ile no eşit olan kayıt gelir.
Düzenleme yapılır. Yeni bilgilerle eski bilgiler değiştirilir ve kayıt edilir
82.Sıradaki Kod= Tüm kayıtlar geldiği için sadece değiştirilecek kayıt değişir ve diğer kayıtlar tekrardan yazılır.
88-89.Sıradaki Kod=Açılan dosyalar kapanır.2 dosya olur.
90.Sıradaki Kod=Kayit.txt dosyası silinir.
91.Sıradaki Kod=gecici.tmp dosyasını kayit.txt dosyasına kopyalanır.
Muhasebe Kayıt Silme İşlemi
Kayıt Silme İşlemi
Eğer 3 seçilirse daha önceki kayıt dosyası okunur. Geçici bir dosya açılır eğer silno ile no tutuyorsa bilgiler gelir ve silinir.
95.Sıradaki Kod=Dosya okumak için kullanılan komuttur.
96.Sıradaki Kod=.tmp uzantılı dosya yani geçici dosya açılır.
98.Sıradaki Kod=Son satıra kadar tüm dosya okunur.
100.Sıradaki Kod=Tüm kayıtlar gelir.
101.Sıradaki Kod=silno ile no eşit olan kayıt gelir ve silinir.
111.Sıradaki Kod=Döngü sonlandırma komutudur.
116.Sıradaki Kod= Tüm kayıtlar geldiği için sadece silinecek kayıt silinir. Ve diğer kayıtlar tekrardan yazılır.
119-120.Sıradaki Kod=Açılan dosyalar kapanır.2 dosya olur.
121.Sıradaki Kod=Kayit.txt dosyası silinir.
122.Sıradaki Kod=gecici.tmp dosyasını kayit.txt dosyasına kopyalanır.
Muhasebe Kayıt Bakma işlemi
Eğer 4 seçilirse daha önceki kayıt dosyası okunur. Eğer bakno ile no tutuyorsa bilgiler getirilir.
128.Sıradaki Kod=Dosya okumak için kullanılan komuttur.
131.Sıradaki Kod=Son satıra kadar tüm dosya okunur.
133.Sıradaki Kod=Tüm kayıtlar gelir.
134.Sıradaki Kod=bakno ile no eşit olan kayıt gelir.
144.Sıradaki Kod=Döngü sonlandırma komutudur.
149.Sıradaki Kod=Dosya kapanır.
DİĞER İÇERİKLER İÇİN; ATM,C++ İLE ATM YAPIMI,ZAR OYUNU, C++ İLE DÜZGÜN ÜÇGEN NASIL YAPILIR?, İİBF BÖLÜMLERİNDEN HANGİ BÖLÜM EN İYİ SEÇİM?,
İlk Yorumu Siz Yapın