|
||
| 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(); } |
||