#include <iostream.h>
#include <iomanip.h>
int economie_classe(int[]); // fonction qui traite les sieges de la classe d'économie
int premiere_classe(int[]); // fonction qui traite les seiges de la premiere classe
void val_premiere(void); // fonction lorsque les sieges de la premiere classe sont remplies
void val_economie(void); // fonction lorsque les sieges de la clase economie sont remplies
int main()
{
const int tailletableau=11;
int passagers[tailletableau]={0};
int classement;
char reponse;
int siege;
cout << " Marc-André Lanteigne " <<endl; // information identification
cout << " A00136563 " <<endl;
cout << " Faculté d'Ingénierie " <<endl<<endl<<endl;
do
{
cout << " S'il vous plait appuyez sur 1 pour la premiere classe " <<endl;
cout << " S'il vous plait appuyez sur 2 pour la classe economie " <<endl;
cout << " Veuillez entrez -1 pour terminer "<<endl; // Lecture du choix de l'utilisateur pendant la boucle while
cin >> classement;
while ( classement!=-1) // Boucle while qui est le corps du programme, et qui se termine lorsque l'utilisateur entre la valeur '-1'
{
if(classement==1) // Si l'utilisateur choisit la premiere classe, le programme va entrer dans cette partie
{
siege=premiere_classe(passagers);
if(siege==0) // Si tous les sieges dans la premiere classe sont remplies, le programme va entrez dans cette fonction
{
val_premiere();
}
else // Si un siège est vide, le programme va indiquer le siege du passager dans la premiere classe
{
cout<<" Tu as le siege "<<siege<<" Dans la premiere classe"<<endl<<endl;
classement=0;
}
}
if(classement==2) //Si l'utilisateur choisit la classe economie, le programme va entrer dans cette partie
{
siege=economie_classe(passagers);
if(siege==0) // Si tous les sieges dans la classe economie sont remplies, le programme va entrez dans cette fonction
{
val_economie();
}
else // Si un siège est vide, le programme va indiquer le siege du passager dans la classe economie
{
cout<<" Tu as le siege "<<siege<<" Dans la classe economie"<<endl<<endl;
classement=0;
}
}
}
}
return 0;
}
int classe_economie(int passagers[]) // fonction qui traite les sieges pour la class économie
{
int siege=0;
for(int i=6;i<=10 && siege==0;i++) // Nous considerons que des sieges de 6 à 10, et si seulement ce siege est vide
{
if(passagers[i]==1) // Si le ce siege est déja prit, la fonction va retourner ' siege=0' qui va ensuite dans la fonction lorsque tous les sieges de l'economie sont pris
{
siege=0;
}
else // Si un siege est disponible, la fonction va retourner le siege (soit 6 à 10) du passager et la valeur 1 pour retourner dans le 'if' précédemment jusqu'à ce que tous les sieges sont pris.
{
siege=i;
passagers[i]=1;
}
}
return siege; // Ceci retourne la valeur de siege. Soit '0' ou ' i ' selon la situation
}
int premiere_classe(int passagers[]) // fonction qui traite les sieges pour la class économie
{
int siege=0;
for(int i=1;i<=5 && siege==0;i++) // Nous considerons que des sieges de 1 à 5, et si seulement ce siege est vide
{
if(passagers[i]==1) // Si le ce siege est déja prit, la fonction va retourner ' siege=0' qui va ensuite dans la fonction lorsque tous les sieges de la premiere classe sont pris
{
siege=0;
}
else // Si un siege est disponible, la fonction va retourner le siege (soit 1 à 5) du passager et la valeur 1 pour retourner dans le 'if' précédemment jusqu'à ce que tous les sieges sont pris.
{
siege=i;
passagers[i]=1;
}
}
return siege; // Ceci retourne la valeur de siege. Soit '0' ou 'i' selon la situation
}
void val_premiere(void) // fonction lorsque tous les sieges sont pris dans la premiere classe
{
int reponse;
cout<<"Les sieges sont plein voullez vous un siege en economie?(o ou n)"<<endl<<endl;
cin>>reponse; // Lis la décisions de l'utilisateur
if(reponse=='o') // Si l'utilisateur choisit 'o', alors il est d'accord de prendre un siege en economie, et alors le programme va dans la fonction d'economie
{
int classement=2;
}
else // Si l'utilisateur choisit de ne pas prendre un siege en economie
{
cout<<"Le prochain vol est dans 3 heures"<<endl<<endl;
}
}
void val_economie(void)// fonction lorsque tous les sieges sont pris dans la premiere classe
{
int reponse;
cout<<"Les sieges sont plein voullez vous un siege en economie?(o ou n)"<<endl<<endl;
cin>>reponse;// Lis la décisions de l'utilisateur
if(reponse=='o')// Si l'utilisateur choisit 'o', alors il est d'accord de prendre un siege en premiere classe, et alors le programme va dans la fonction de la premiere classe
{
int classement=1;
}
else // Si l'utilisateur choisit de ne pas prendre un siege en economie
{
cout<<"Le prochain vol est dans 3 heures"<<endl<<endl;
}
}