*/
codice:
#include <iostream>
#include <fstream>
#include <string.h>
#define N 100
using namespace std;
float input(double);
int input(int);
//Struct
struct aereoporto{
char codice[N];
char partenza[N];
char citta[N];
char arrivo[N];
int posti;
float prezzo;
};
aereoporto volo[N];
aereoporto volo_2[N];
aereoporto comodo;
int scelta,conta=0,conta_2=0,conta_3=0,i,j,nodo=0;
char a='s';
int lun_int(float);
int main()
{
//Creazione del file info.txt
ofstream info("info.txt");
if(info){
for(i=0;a=='s';i++)
{
cout<<"\n Codice Volo: ";
cin>>volo[i].codice;
cout<<"\n Orario di Partenza: ";
cin>>volo[i].partenza;
cout<<"\n Citta': ";
cin>>volo[i].citta;
cout<<"\n Orario di arrivo: ";
cin>>volo[i].arrivo;
cout<<"\n Numero posti: ";
volo[i].posti=input(2);
cout<<"\n Prezzo: ";
volo[i].prezzo=input(0.25);
system("cls");
conta++;
nodo=1;
cout<<"\n Vuoi continuare? s/n ";
cin>>a;
system("cls");
}
//Ordinamente del file info.txt in base al codice
for(i=0;i<conta-1;i++)
for(j=i+1;j<conta;j++)
if(strcmp(volo[i].codice,volo[j].codice)>0){
comodo=volo[i];
volo[i]=volo[j];
volo[j]=comodo;
}
//Scrittura del file info.txt
for(i=0;i<conta;i++)
info<<volo[i].codice<<"\t"<<volo[i].partenza<<"\t"<<volo[i].citta<<"\t"<<volo[i].arrivo<<"\t"<<volo[i].posti<<"\t"<<volo[i].prezzo<<"\n";
info.close();
}
//Creazione del file prezzi.txt
ofstream prezzi("prezzi.txt",ios::app);
if(prezzi){
a='s';
for(i=0;a=='s';i++)
{
cout<<"\n Codice Volo: ";
cin>>volo_2[i].codice;
cout<<"\n Prezzo: ";
volo_2[i].prezzo=input(3.1);
system("cls");
conta_2++;
cout<<"\n Vuoi continuare? s/n ";
cin>>a;
system("cls");
}
//Ordinamento del file prezzi.txt in base al codice
for(i=0;i<conta-1;i++)
for(j=i+1;j<conta;j++)
if(strcmp(volo[i].codice,volo[j].codice)>0){
comodo=volo_2[i];
volo_2[i]=volo_2[j];
volo_2[j]=comodo;
}
//Scrittura sul file prezzi.txt
for(i=0;i<conta_2;i++)
prezzi<<volo_2[i].codice<<"\t"<<volo_2[i].prezzo<<"\n";
prezzi.close();
}
//Lettura del file info.txt
ifstream leggi("info.txt");
if(nodo!=0){
if(info){
for(i=0;!info.eof();i++){
leggi>>volo[i].codice>>volo[i].partenza>>volo[i].citta>>volo[i].arrivo>>volo[i].posti>>volo[i].prezzo;
cout<<volo[i].codice;
conta_3++;
}
info.close();
}}
else
cout<<"\n Dati non presenti \n";
cout<<"ciao";
//
ofstream hold_file("oldInfo.txt");
system("pause");
for(i=0;i<conta_3;i++)
hold_file<<volo[i].codice<<"\t"<<volo[i].partenza<<"\t"<<volo[i].citta<<"\t"<<volo[i].arrivo<<"\t"<<volo[i].posti<<"\t"<<volo[i].prezzo<<"\n";
hold_file.close();
return 0;
}
float input(double){
float file;
while(!(cin>>file)){
system("cls");
cout<<" Input errato,reinserisci il valore \n";
cin.clear();
cin.ignore(80,'\n');
}
return file;
}
int input(int){
int file;
while(!(cin>>file)){
system("cls");
cout<<" Input errato,reinserisci il valore \n";
cin.clear();
cin.ignore(80,'\n');
}
return file;
}