PCTurk | Aşk Sevgi Resimleri , Mektupları , silkroad , komik msn avatarlar (Arşiv Ana sayfa) => Programlama

Konu: C++ İşyeri Uygulama-2

Sayfa: [ 1 ]

sWaGg€r 01.07.2008 18:59:54
Struct larla yapılmış veri kaydetme ve okuma işlemlerini yapabilirsiniz.

#include<iostream>
#include<conio.h>
#include<cstring>
#include<fstream>
using namespace std;

struct bordro
{
     
       char adsoyad[20],sicil[20],medeni;
       int cocuk,ekode,kesinti,netmaas;
       float maas;
}b;
void dosyaya_yaz()
       {
       ofstream dosya;                         
       dosya.open("maas.dat", ios::app | ios::binary);
       dosya.write(reinterpret_cast<char*>(&b),sizeof(b));
       cout<<"kayit yapildi";   
       }
   void dosya_oku(int pn)
        {                             
        ifstream dosya;                 
        dosya.open("maas.dat", ios::binary);
        dosya.seekg( pn*sizeof(bordro) );         
        dosya.read(reinterpret_cast<char*>(&b),sizeof(b));
        }
      int dosya_say()
       {                         
       ifstream dosya;
       dosya.open("maas.dat", ios::binary);
       dosya.seekg(0, ios::end);
       return (int)dosya.tellg() / sizeof(bordro);
       }
   void ekranayaz()
   {    cout<<"\n\n\tSicil no="<<b.sicil;
        cout<<"\n\tPersonel adi soyad="<<b.adsoyad;
        cout<<"\n\tPersonel medeni durum="<<b.medeni;
        cout<<"\n\tMaas="<<b.maas<<endl;
        }   

    void verigir()
   {
        cout<<endl;
        cout<<endl;
               cout<<"\t\tSicil no=";
               cin>>b.sicil;         
               cout<<"Personel adi soyadini giriniz=";
               cin>>b.adsoyad;
               cout<<endl;         
               cout<<"Personel medeni durum giriniz=";
               cin>>b.medeni;
               cout<<endl;         
               cout<<"Maas=";
               cin>>b.maas;
               cout<<endl;       
}
void evlisay()
{
int n=dosya_say();
int sayac=0;
for (int j=0; j<n; j++)
{
dosya_oku(j);
if (b.medeni=='e'){sayac++;}
}
cout<<"\nevli olanlarin sayisi:"<<sayac;
}
float maas()
{
int n=dosya_say();
float ymaas=0;

for (int j=0; j<n; j++)
{dosya_oku(j);
  if (b.maas>ymaas)
  ymaas=b.maas ;
     }
//cout<<"\nen yuksek maas:"<<ymaas;
return ymaas;
}

void ymaasyaz()
{
int m=maas();     
int n=dosya_say();
for (int j=0; j<n; j++)
{dosya_oku(j);
  if(b.maas==m)
  ekranayaz();
    }
}


int main()
{
bordro b;
verigir();
dosyaya_yaz();
evlisay();
maas();
ymaasyaz();



getch();
}


Sayfa: [ 1 ]