You are on page 1of 3

/*

Napite program koji sadri f-ju za stvaranje slogovne datoteke ije ime se uitava
i koja sadri slogove s komponentama matini broj studenta, prezime i ime studenta i godina upisa.
Napiite f-ju za unos podataka u datoteku i f-ju za ispis podataka o svim studentima.
F-ja za pretragu po oibu!
*/
#include "stdafx.h"
#include <iostream>
#include <fstream>
using namespace std;
struct stud{
int mbr;
char naz[40];
int god;
};stud s;
char nazDat[40];
void stvoriDat(){
fstream d;
cout<<"Unesite naziv datoteke: ";
cin.getline(nazDat, 40);
d.open(nazDat, ios::in|ios::binary);
if(!d){
d.open(nazDat, ios::out|ios::binary);
d.close();
}
else{
cout<<"Datoteka "<<nazDat<<" je postojeca na disku."<<endl;
d.close();
}
}
void unosDat(){
fstream d;
char dalje;
d.open(nazDat, ios::out|ios::ate|ios::binary);
do{

cout<<"MBR: ";
cin>>s.mbr;
cout<<"Naziv: ";
cin.ignore();
cin.getline(s.naz,40);
cout<<"Godina: ";
cin>>s.god;
d.write((char*)&s, sizeof(s));
cout<<"Dalje D/N: ";
cin>>dalje;
}while(dalje=='d');
d.close();
}
void ispisDat(){
fstream d;
d.open(nazDat, ios::in|ios::binary);
while(1){
d.read((char*)&s, sizeof(s));
if(d.eof())break;
cout<<"********************"<<endl;
cout<<"MBR: "<<s.mbr<<endl;
cout<<"Naziv: "<<s.naz<<endl;
cout<<"Godina: "<<s.god<<endl;
cout<<"---------------------"<<endl;
}
d.close();
}
void pretDat(int mbr){
fstream d;
bool check = false;
d.open(nazDat, ios::in|ios::binary);
do{
d.read((char*)&s, sizeof(s));
if(d.eof())break;
if(mbr==s.mbr){
check=true;
cout<<"MBR: "<<s.mbr<<endl;

cout<<"Naziv: "<<s.naz<<endl;
cout<<"Godina: "<<s.god<<endl;
cout<<"---------------------"<<endl;
}
}while(!d.eof());
if(check=false)
cout<<"Podatak nije pronadjen!"<<endl;
d.close();
}
void main(){
stvoriDat();
unosDat();
ispisDat();
int mbr;
char dalje;
do{
cout<<"Pretraga po MBR: ";
cin>>mbr;
pretDat(mbr);
cout<<"Dalje d/n: ";
cin>>dalje;
}while(dalje=='d'||dalje=='D');
}

You might also like