ntani00 (Normal User)
Newbie
Messaggi: 1
Iscritto: 31/12/2009
|
Buon pomeriggio a tutti sono uno studente e sto realizzando un programma per la gestione di un aereoporto.
Dovrei realizzare una parte di programma riservata all'utente che gli consenta di richiedere le combinazioni di voli necessarie per andare da una città all'altra.
Questo è il codice che ho realizzato:
#include <iostream>
#include <windows.h>
#include <stdlib.h>
#include <fstream>
using namespace std;
//STRUTTURE DI DATI
struct ora1
{ int ora;
int minuti;
};
struct volo1
{ char id_volo[6];
ora1 ora_partenza;
ora1 ora_arrivo;
char cod_partenza[6];
char cod_arrivo[6] ;
int canc;
};
struct aero1
{char id_aeroporto[5];
char nome[21];
char citta[21];
char nazione[21];
int fusorario;
int canc;
};
aero1 aeroporto;
volo1 volo;
void gotoxy( int x, int y ){
COORD coord;
coord.X = x;
coord.Y = y;
SetConsoleCursorPosition(GetStdHandle( STD_OUTPUT_HANDLE ), coord);
}
//DICHIARAZIONE DI TUTTE LE FUNZIONI E DELLE PROCEDURE
void SMISTAMENTO2(int scelta);
void VIS_AEROPORTO();
void VIS_VOLO();
void MASCHERA_VOLO();
void INSERIMENTO_VOLO();
void INSERIMENTO_AEROPORTO();
void RIC_CITTA (char citta[21],int &a);
void RICERCA_AEROPORTO(int x);
void RICERCA_VOLO(int x);
void MODIFICA_AEROPORTO();
void MODIFICA_VOLO();
void CANCELLAZIONE_LOGICA_AEROPORTO();
void CANCELLAZIONE_LOGICA_VOLO();
void CANCELLAZIONE_FISICA_AEROPORTO();
void CANCELLAZIONE_FISICA_VOLO();
void RIPRISTINO_AEROPORTO();
void RIPRISTINO_VOLO();
void LOGIN();
void MENU_RICERCA_AEROPORTO();
void MENU_RICERCA_VOLO();
int MENU_CANCELLAZIONE ();
int MENU_VOLO_AEROPORTO();
int MENU_ADMIN();
int MENU_UTENTE();
int MENU1();
void CANCELLAZIONE_AEROPORTO ();
void CANCELLAZIONE_VOLO ();
void SMISTAMENTO2(int scelta);
void SMISTAMENTO1(int scelta);
//PROGRAMMA
//PARTE AMMINISTRAZIONE
//Maschere per il programma
void VIS_AEROPORTO()
{system("cls");
gotoxy(32,2);
cout<<"INSERIMENTO AEROPORTO";
gotoxy(5,5);
cout<<"Codice:_____";
gotoxy(34,5);
cout<<"Nome:____________________";
gotoxy(5,7);
cout<<"Citta':____________________";
gotoxy(34,7);
cout<<"Nazione:____________________";
gotoxy(5,9);
cout<<"Fusorario:___";
}
void VIS_VOLO() //maschera per l'inserimento del volo
{system("cls");
gotoxy(32,2);
cout<<"INSERIMENTO VOLO";
gotoxy(5,5);
cout<<"Codice:_____";
gotoxy(20,5);
cout<<"Ora Partenza:__:__";
gotoxy(41,5);
cout<<"Ora Arrivo:__:__";
gotoxy(5,7);
cout<<"Citta' Partenza:____________________";
gotoxy(43,7);
cout<<"Citta' Arrivo:____________________";
gotoxy(5,20);
cout<<"Codice Aeroporto Partenza:_____";
gotoxy(43,20);
cout<<"Codice Aeroporto Arrivo:_____";
}
void MASCHERA_VOLO() //maschera per la ricerca, la modifica, la cancellazione e il ripristino del Volo
{system("cls");
gotoxy(5,5);
cout<<"Codice:_____";
gotoxy(20,5);
cout<<"Ora Partenza:__:__";
gotoxy(41,5);
cout<<"Ora Arrivo:__:__";
gotoxy(5,7);
cout<<"Codice Aeroporto Partenza:_____";
gotoxy(43,7);
cout<<"Codice Aeroporto Arrivo:_____";
}
//INSERIMENTO
//Inserimento Aeroporto
void INSERIMENTO_AEROPORTO()
{ char risp[2];
FILE *aero;
if((aero=fopen("aeroporto.txt","r"))==NULL)aero=fopen("aeroporto.txt","w+");
else { fclose(aero);
aero=fopen("aeroporto.txt","r+");
}
while (!feof(aero))
{fread(&aeroporto,sizeof(struct aero1),1,aero);
if( feof(aero) )
break;}
VIS_AEROPORTO();
gotoxy(14,24);
cout<<"Premi * per terminare";
gotoxy(12,5);
gets(aeroporto.id_aeroporto);
while (strcmp(aeroporto.id_aeroporto,"*")!=0)
{
gotoxy(39,5);
gets(aeroporto.nome);
gotoxy(12,7);
gets(aeroporto.citta);
gotoxy(42,7);
gets(aeroporto.nazione);
gotoxy(15,9);
cin>>(aeroporto.fusorario);
cin.ignore();
aeroporto.canc=0;
gotoxy(32,11);
cout<<"Confermi?(s/n) ";
do
{
gotoxy(47,11);
cin>>risp;
cin.ignore();
}while(!((strcmp(risp,"n")==0)||(strcmp(risp,"N")==0)||(strcmp(risp,"S")==0)||(strcmp(risp,"s")==0)));
if ((strcmp(risp,"s")==0)||(strcmp(risp,"S")==0)) {
fwrite(&aeroporto,1, sizeof(struct aero1),aero);
}
VIS_AEROPORTO();
gotoxy(14,24);
cout<<"Premi * per terminare";
gotoxy(12,5);
gets(aeroporto.id_aeroporto);
}
fclose(aero);
return;
}
//Inserimento Volo
void INSERIMENTO_VOLO()
{ int p;
char citta[21];
char citta2[21];
char risp[2];
FILE *fvolo;
if((fvolo=fopen("volo.txt","r"))==NULL)
fvolo=fopen("volo.txt","w+");
else
{
fclose(fvolo);
fvolo=fopen("volo.txt","r+");
}
while (!feof(fvolo))
{
fread(&volo,sizeof(struct volo1),1,fvolo);
if( feof(fvolo) )
break;
}
VIS_VOLO();
gotoxy(14,24);
cout<<"Premi * per terminare";
gotoxy(12,5);
gets(volo.id_volo);
while (strcmp(volo.id_volo,"*")!=0)
{
do{
gotoxy(33,5);
cin>>volo.ora_partenza.ora;
cin.ignore();
}while(volo.ora_partenza.ora<0|| volo.ora_partenza.ora>24);
do{
gotoxy(36,5);
cin>>volo.ora_partenza.minuti;
cin.ignore();
}while(volo.ora_partenza.minuti<0|| volo.ora_partenza.minuti>59);
do{
gotoxy(52,5);
cin>>volo.ora_arrivo.ora;
cin.ignore();
}while(volo.ora_arrivo.ora<0|| volo.ora_arrivo.ora>24);
do{
gotoxy(55,5);
cin>>volo.ora_arrivo.minuti;
cin.ignore();
}while(volo.ora_arrivo.minuti<0|| volo.ora_arrivo.minuti>59);
gotoxy(21,7);
gets(citta);
p=1;
RIC_CITTA(citta,p);
gotoxy(31,20);
gets(volo.cod_partenza);
gotoxy(57,7);
gets(citta2);
p=2;
RIC_CITTA(citta2,p);
gotoxy(67,20);
gets(volo.cod_arrivo);
gotoxy(32,22);
cout<<"Confermi?(s/n) ";
do
{
gotoxy(47,22);
cin>>risp;
cin.ignore();
}while(!((strcmp(risp,"n")==0)||(strcmp(risp,"N")==0)||(strcmp(risp,"S")==0)||(strcmp(risp,"s")==0)));
if ((strcmp(risp,"s")==0)||(strcmp(risp,"S")==0))
fwrite(&volo,1, sizeof(struct volo1),fvolo);
VIS_VOLO();
gotoxy(14,24);
cout<<"Premi * per terminare";
gotoxy(12,5);
gets(volo.id_volo);
}
fclose(fvolo);
return;
}
//Ricerca parziale dell'aeroporto
void RIC_CITTA (char citta[21],int &a)
{
int y;
int x1;
int x2;
y=11;
if (a==1){
x1=5;
x2=12;}
else
{x1=43;
x2=50;
}
char citta2[6];
gotoxy(x1,9);
cout<<"Codice Nome Aeroporto";
FILE *aero;
aero=fopen("aeroporto.txt","r+");
int trovato=0;
while (!feof(aero))
{fread(&aeroporto,sizeof(struct aero1),1,aero);
if( feof(aero) )
break;
if (strcmp(aeroporto.citta,citta)==0 &&(aeroporto.canc==0))
{ gotoxy(x1,y);
cout<<aeroporto.id_aeroporto;
gotoxy(x2,y);
cout<<aeroporto.nome;
y+=1;
}
}
if (y==11){
gotoxy(x1,y);
cout<<"Nessun aeroporto con quel nome";
gotoxy(21,7);
cin>>(citta2);
cin.ignore();
RIC_CITTA(citta2,a);
}
return;
}
// MENU''
// parte in cui sono disegnati tutti i menu' del programma
int MENU_VOLO_AEROPORTO()
{
int scelta2;
do
{
system("cls");
cout<<"1 - Volo"<<endl;
cout<<"2 - Aeroporto"<<endl;
cout<<"Operazione scelta: ";
cin>>scelta2;
cin.ignore();
}while(scelta2<1||scelta2>2);
return scelta2;
}
int MENU_ADMIN()
{
int scelta;
do
{
system("cls");
cout<<"Menu'' Amministratore: "<<endl;
cout<<"1 - Inserimento"<<endl;
cout<<"2 - Modifica"<<endl;
cout<<"3 - Ricerca"<<endl;
cout<<"4 - Cancellazione"<<endl;
cout<<"5 - Ripristino"<<endl;
cout<<"6 - Uscita"<<endl;
cout<<"Operazione scelta: ";
cin>>scelta;
}while(scelta<1||scelta>7);
return scelta;
}
int MENU_UTENTE()
{
int scelta;
do
{
system("cls");
cout<<"Menu'' Utente: "<<endl;
cout<<"1 - Ricerca voli"<<endl;
cout<<"2 - Acquista Volo"<<endl;
cout<<"3 - Uscita"<<endl;
cout<<"Operazione scelta: ";
cin>>scelta;
}while(scelta<1||scelta>3);
return scelta;
}
int MENU1()
{
int scelta;
do
{ scelta=0;
system("cls");
cout<<"Menu' Principale:"<<endl;
cout<<"1 - Amministratore"<<endl;
cout<<"2 - Utente"<<endl;
cout<<"3 - Uscita"<<endl;
cout<<"Operazione scelta: ";
cin>>scelta;
}while( scelta<1||scelta>4);
return scelta;
}
//Login nella parte amministratore
void LOGIN()
{ int scelta;
int psw;
cout<<"Inserire la password: ";
cin>>psw;
if (psw==0000)
{
scelta=MENU_ADMIN();
while(scelta!=6)
{
SMISTAMENTO2(scelta);
scelta=MENU_ADMIN();
return;
}
}
else
{
cout<<"Password errata!"<<endl;
system ("PAUSE");
return;
}
}
// SMISTAMENTI
// Parte in cui ci sono tutti gli smistamenti del programma, cioè quelli che indirizzano le scelte dell'utente nei vari menù
// Parametri passati: scelta, scelta2, scelta3
void SMISTAMENTO2(int scelta)
{ int scelta2;
switch(scelta)
{
case 1 :
scelta2=MENU_VOLO_AEROPORTO();
switch(scelta2)
{
case 1 :
INSERIMENTO_VOLO();
break;
case 2 :
INSERIMENTO_AEROPORTO();
break;
}
break;
}
return;
}
void SMISTAMENTO1(int scelta)
{
switch(scelta)
{
case 1 :
LOGIN();
break;
case 2 :
MENU_UTENTE();
break;
}
return;
}
//Main Principale
int main()
{ int scelta;
scelta=MENU1();
while (scelta!=3)
{
SMISTAMENTO1(scelta);
scelta=MENU1();
}
system ("PAUSE");
return EXIT_SUCCESS;
}
potete darmi una mano? grazie
EDIT by HeDo: Racchiudi il codice tra i tag code
Ultima modifica effettuata da HeDo il 01/01/2010 alle 13:11 |