Structuri c++
Problema:
O agentie de turism tine evidenta clientilor sai. Despre fiecare client se memoreaza: numele destinatia vacantei, pretul, numarul de zile, data plecarii in vacanta.Datele se citesc din fisierul agentie.txt .
- Afisarea in ordine alfabetica destinatiile oferite de agentie.
- Afisati clientii ce pleaca in data x (x citit de la tastatura ).
- Unde pleaca turistul x (x citit de la tastatura ) si cat plateste.
- Cati clienti isi petrec vacanta la destinatia x (x citit de la tastatura ).
Program in Code Blocks :
#include <fstream>
#include <iostream>
#include <string.h>
using namespace std;
struct data
{
int zi,l,an;
};
struct client
{
char nume[25],dest[15];
int nrz;
float pret;
data dp;
};
void citire (client a[10],int &n)
{
int i;
ifstream f("agentie.txt");
f>>n;
for(i=1;i<=n;i++)
{
f.get();
f.get(a[i].nume,20);
f.get();
f.get(a[i].dest,10);
f>>a[i].dp.zi>>a[i].dp.l>>a[i].dp.an>>a[i].pret>>a[i].nrz;
}
f.close();
}
void afisare (client a[10],int n)
{
int i;
for(i=1;i<=n;i++)
{
cout<<"\n"<<a[i].nume<<endl;
cout<<"Dest "<<a[i].dest<<endl;
cout<<"Dataplecarii " <<a[i].dp.zi<<" "<<a[i].dp.l<<" "<<a[i].dp.an<<" Pretul "<<a[i].pret<<" Numarul de zile "<<a[i].nrz;
}
}
void sortare(client a[10],int n)
{
client aux;
int i,j;
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(strcmp(a[i].dest,a[j].dest)>0)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
}
}
void datap(client a[10],int n)
{
int i;
data x;
cin>>x.zi;
cin>>x.l;
cin>>x.an;
for(i=1;i<=n;i++)
if(a[i].dp.zi==x.zi && a[i].dp.l==x.l && a[i].dp.an==x.an) cout<<a[i].nume<<endl;
}
void plecare(client a[10],int n)
{
int i;
char x[25];
cout<<"\nCiteste turistul ";
cin.get();
cin.get(x,25);
for(i=1;i<=n;i++)
if(strcmp(a[i].nume,x)==0)
cout<<"\nTuristul pleaca in "<<a[i].dest<<" si plateste "<<a[i].pret<<endl;
}
void destinatie(client a[10],int n)
{
int i,k;
char x[10];
cout<<"\nCiteste destinatia ";
cin.get();
cin.get(x,10);
k=0;
for(i=1;i<=n;i++)
if(strcmp(a[i].dest,x)==0) k++;
cout<<k<<" clienti isi petrec destinatia in "<<x;
}
int main()
{
client a[10];
int n;
citire(a,n);
afisare(a,n);
cout<<"\nLista dupa sortare "<<endl;
sortare(a,n);
afisare(a,n);
cout<<"\nCiteste o data "<<endl;
datap(a,n);
plecare(a,n);
destinatie(a,n);
}
Exemplu de fisier din care se citesc date pentru acest program: http://informatica-surse.blogspot.ro/2018/05/exemplu-de-fisier-c.html
Comentarii
Trimiteți un comentariu