-------------------------------
Code:
#include <iostream.h>
#include <fstream.h>
#include<string.h>
struct Osiguranje
{
char brojOsiguranja [12];
float stanjeRacuna;
void Uplata(float iznos);
void Isplata(float iznos);
};
struct Pacijent
{
char * ImePrezime;
char JMBG[14];
Osiguranje osiguranje;
};
void 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 = iznos + n;
}
else
{
iznos = iznos - n;
}
cout <<"Novo stanje na vasem racunu je "<< iznos << " KM"<< endl;
}
}
void 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 = iznos + n;
cout <<"Novo stanje na vasem racunu je " << iznos << " KM"<< endl;
}
}
Pacijent * DodajPacijenta()
{
Pacijent * n = new Pacijent;
n[0].ImePrezime = new char [20];
cout <<"Unesite ime i prezime"<< endl;
cin.ignore();
cin.getline(n[0].ImePrezime,19);
cout <<"Unesite maticni broj"<< endl;
cin.getline(n[0].JMBG,13);
cout <<"Da li je bolesnik prije bolovao (0=NE, sve ostalo=DA)"<< endl;
cin >> n[0].RanijeBolovao;
cout <<"Ulaz u podatke o osiguranju..."<< endl;
cout <<"Unesite broj osiguranja"<< endl;
cin.getline(n[0].osiguranje.brojOsiguranja,11);
cout <<"Pocetno stanje racuna je 0 KM"<< endl;
n[0].osiguranje.stanjeRacuna = 0;
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 = false)
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[])
{
cout <<"Pretraga"<< endl;
char broj[14];
cin.ignore();
cout <<"Unesite JMBG";
cin.getline(broj,13);
cin.ignore();
for (int i=0; i<=9; i++)
{
if(strcmp(niz[i]->JMBG,broj)==0)
{
cout<<niz[i]->JMBG<<endl;
return niz[i];
}
else
return 0;
}
}
void UpisiuFajl (ofstream & obj, Pacijent * p)
{
obj.open ("c://mojFajl.txt");
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.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[4];
for(int i=0;i<4;i++)
{
DodajPacijenta();
}
ofstream obj("c://mojFajl.txt");
upisiUfajl(obj,x);
Pacijent*pok=&x[2];
(*pok).osiguranje.uplata(150);
(*pok).osiguranje.isplata(100);
float iznos=(*pok).osiguranje.stanjeRacuna/1.1;
x[3].osiguranje.uplata(iznos);
(*pok).osiguranje.isplata(iznos);
Pacijent*pok2;
Pretraga(&pok2);
prikaziInfo(pok2);
kopiraj();
return 0;
}
#include <iostream.h>
#include <fstream.h>
#include<string.h>
struct Osiguranje
{
char brojOsiguranja [12];
float stanjeRacuna;
void Uplata(float iznos);
void Isplata(float iznos);
};
struct Pacijent
{
char * ImePrezime;
char JMBG[14];
Osiguranje osiguranje;
};
void 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 = iznos + n;
}
else
{
iznos = iznos - n;
}
cout <<"Novo stanje na vasem racunu je "<< iznos << " KM"<< endl;
}
}
void 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 = iznos + n;
cout <<"Novo stanje na vasem racunu je " << iznos << " KM"<< endl;
}
}
Pacijent * DodajPacijenta()
{
Pacijent * n = new Pacijent;
n[0].ImePrezime = new char [20];
cout <<"Unesite ime i prezime"<< endl;
cin.ignore();
cin.getline(n[0].ImePrezime,19);
cout <<"Unesite maticni broj"<< endl;
cin.getline(n[0].JMBG,13);
cout <<"Da li je bolesnik prije bolovao (0=NE, sve ostalo=DA)"<< endl;
cin >> n[0].RanijeBolovao;
cout <<"Ulaz u podatke o osiguranju..."<< endl;
cout <<"Unesite broj osiguranja"<< endl;
cin.getline(n[0].osiguranje.brojOsiguranja,11);
cout <<"Pocetno stanje racuna je 0 KM"<< endl;
n[0].osiguranje.stanjeRacuna = 0;
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 = false)
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[])
{
cout <<"Pretraga"<< endl;
char broj[14];
cin.ignore();
cout <<"Unesite JMBG";
cin.getline(broj,13);
cin.ignore();
for (int i=0; i<=9; i++)
{
if(strcmp(niz[i]->JMBG,broj)==0)
{
cout<<niz[i]->JMBG<<endl;
return niz[i];
}
else
return 0;
}
}
void UpisiuFajl (ofstream & obj, Pacijent * p)
{
obj.open ("c://mojFajl.txt");
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.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[4];
for(int i=0;i<4;i++)
{
DodajPacijenta();
}
ofstream obj("c://mojFajl.txt");
upisiUfajl(obj,x);
Pacijent*pok=&x[2];
(*pok).osiguranje.uplata(150);
(*pok).osiguranje.isplata(100);
float iznos=(*pok).osiguranje.stanjeRacuna/1.1;
x[3].osiguranje.uplata(iznos);
(*pok).osiguranje.isplata(iznos);
Pacijent*pok2;
Pretraga(&pok2);
prikaziInfo(pok2);
kopiraj();
return 0;
}
"Doradila" sam main, medjutim problem je kada pokrenem program dopusti mi unos ime/prezime, jmbg i onda je provrti par puta i stane....sta se desava?
[Ovu poruku je menjao MentalConfusion dana 14.02.2007. u 13:17 GMT+1]
quod me ordinit me destruit