Mislim da bi ovo trebalo raditi!
Code:
#include <iostream>
#include <fstream>
#include<string.h>
using namespace std;
struct Osiguranje
{
char brojOsiguranja [12];
float stanjeRacuna;
float Uplata(float iznos);
float Isplata(float iznos);
};
struct Pacijent
{
char * ImePrezime;
char JMBG[14];
int RanijeBolovao;
Osiguranje osiguranje;
};
float Osiguranje::Isplata (float iznos)
{
cout <<"-------isplata--------"<< endl;
cout <<"Koliko novca zelite isplatiti?"<< endl;
float n;
cin >> n;
if (n>iznos)
{
cout <<"Iznos je prevelik, nemate toliko na racunu"<< endl;
}
else
{
if (n<0)
{
cout <<"Iznos je negativan, ali cemo vam ipak uzeti pare"<< endl;
iznos += n;
}
else
{
iznos -= n;
}
cout <<"Novo stanje na vasem racunu je "<< iznos << " KM"<< endl;
return iznos;
}
}
float Osiguranje::Uplata (float iznos)
{
cout <<"------uplata-------"<< endl;
cout <<"Koliko novca zelite uplatiti?"<< endl;
float n;
cin >> n;
if (n<=0)
{
cout <<"Iznos koji zelite uplatiti je ravan nuli ili manji od nule"<< endl;
}
else
{
iznos += n;
cout <<"Novo stanje na vasem racunu je " << iznos << " KM"<< endl;
}
return iznos;
}
Pacijent * DodajPacijenta()
{
Pacijent * n = new Pacijent;
n[0].ImePrezime = new char [20];
cout <<"Unesite ime i prezime"<< endl;
cin.getline(n[0].ImePrezime,19);
cout <<"Unesite maticni broj"<< endl;
cin.getline(n[0].JMBG,14);
cout <<"Da li je bolesnik prije bolovao (0=NE, 1=DA)"<<endl;
cin>>n[0].RanijeBolovao;
cin.ignore();
cout <<"Ulaz u podatke o osiguranju..."<< endl;
cout <<"Unesite broj osiguranja"<< endl;
cin.getline(n[0].osiguranje.brojOsiguranja,12);
cout <<"Pocetno stanje racuna je 0 KM"<< endl;
n[0].osiguranje.stanjeRacuna = 0;
cout<<"Stanje racuna je "<<n[0].osiguranje.stanjeRacuna<<endl;
n[0].osiguranje.stanjeRacuna = n[0].osiguranje.Uplata(n[0].osiguranje.stanjeRacuna);
n[0].osiguranje.stanjeRacuna = n[0].osiguranje.Isplata(n[0].osiguranje.stanjeRacuna);
return n;
}
void PrikaziInfo (Pacijent * p)
{
cout <<"Ispisujem sve podatke o pacijentu"<< endl;
cout <<"Ime i prezime: "<< p[0].ImePrezime << endl;
cout <<"JMBG: "<< p[0].JMBG << endl;
cout <<"Bolovao: ";
if (p[0].RanijeBolovao == 0)
cout <<" NE"<< endl;
else
cout <<" DA"<< endl;
cout <<"Broj osiguranje: "<< p[0].osiguranje.brojOsiguranja << endl;
cout <<"Stanje racuna: " << p[0].osiguranje.stanjeRacuna << " KM"<< endl;
}
Pacijent * Pretraga (Pacijent * niz)
{
cin.ignore();
cout <<"Pretraga"<< endl;
char broj[14];
cout <<"Unesite JMBG ";
cin.getline(broj,14);
if(strcmp(niz[0].JMBG,broj)==0)
{
cout<<niz[0].JMBG<<endl;
return niz;
}
else
return 0;
}
void UpisiuFajl (Pacijent * p)
{
ofstream obj("c://mojFajl.txt", ios::app);
obj <<"Ime i Prezime : " << p[0].ImePrezime << endl;
obj <<"JMBG : " << p[0].JMBG << endl;
obj <<"Ranije bolovao : ";
if (p[0].RanijeBolovao == false)
obj <<"NE"<< endl;
else
obj <<"DA"<< endl;
obj <<"Broj osiguranja: " << p[0].osiguranje.brojOsiguranja << endl;
obj <<"Stanje racuna : " << p[0].osiguranje.stanjeRacuna << " KM " << endl;
obj <<"\n";
obj.close();
}
void KopirajFajl()
{
char noviFajl[20]="c://mojFajl2.txt";
char fajl[20]="c://mojFajl.txt";
char znak;
ifstream ispis;
ofstream obj;
ispis.open(fajl,ios::in);
obj.open(noviFajl,ios::app);
if(!ispis.fail()){
if(!obj.fail()){
while(ispis.get(znak)){
obj<<znak;
}
cout<<"Sadrzaj fajla: "<<fajl;
cout<<" uspjesno dodat fajlu: "<<noviFajl<<endl;
}
else{
cout<<"\nProblem pri otvaranju fajla u koji kopiramo\n";
cout<<"\nProbelm pri otvaranju fajla iz kojeg kopiramo\n";
}}
obj.close();
ispis.close();
}
int main()
{
Pacijent *x =new Pacijent[2];
for(int i=0;i<1;i++)
{
x = DodajPacijenta();
UpisiuFajl(x);
}
if(Pretraga(x)) PrikaziInfo(x);
else cout<<"Nije pronaden niti jedan korisnik"<<endl;
KopirajFajl();
system("pause");
return 0;
}
[Ovu poruku je menjao nticaric dana 21.02.2007. u 19:28 GMT+1]
[Ovu poruku je menjao nticaric dana 24.02.2007. u 00:38 GMT+1]