#include <iostream.h>
#include <conio.h>

void date();
bool Max();
bool TP();
bool init();
bool TriCroiss();


int main()
{
  int choix,TB=0;
  bool a=false;
  /*bool b=false;*/
  bool c=false;
  bool d=false;

  cout << "Bienvenue " << endl;
  cout << " 1. Date "<<endl;
  cout << " 2. Max d'une suite "<<endl;
  cout << " 3. Triangle de Pythagore "<<endl;
  cout << " 4. Initialisation d'un tableau de 10 entiers "<<endl;
  cout << " 5. Tri du tableau precedent " << endl;
  cout << " 6. Quitter " << endl;
  cin >> choix;

  switch (choix)
  {
    case 1 : date();clrscr();break;
    case 2 : while (a!=true) {a=Max();}cin.get();break;
    case 3 : /*while (b!=true){b=TP();} break;*/
    case 4 : while (c!=true){c=init();}TB=taille;cin.get(); break;
    case 5 : while (d!=true){d=TriCroiss();}cin.get(); break;
    case 6 : return 0;
    default: cout << " Selection incorrecte " <<endl;cin.get();break;
  }
  return 0;
}
//--------------------------------------------------------------------------------
//-------------------------------FONCTIONS----------------------------------------
//--------------------------------------------------------------------------------
void date()
{
  int jour,mois,annee;

  cout << "Entrer le jour " <<endl; cin>>jour;
  cout << "Entrer le mois " <<endl; cin>>mois;
  cout << "Entrer l'annee " <<endl; cin>>annee;
  switch (mois)
  {
    case 1 : cout << jour << " JANVIER " << annee << endl;cin.get();clrscr();break;
    case 2 : cout << jour << " FEVRIER " << annee << endl;cin.get();clrscr();break;
    case 3 : cout << jour << " MARS " << annee << endl;cin.get();clrscr();break;
    case 4 : cout << jour << " AVRIL " << annee << endl;cin.get();clrscr();break;
    case 5 : cout << jour << " MAI " << annee << endl;cin.get();clrscr();break;
    case 6 : cout << jour << " JUIN " << annee << endl;cin.get();clrscr();break;
    case 7 : cout << jour << " JUILLET " << annee << endl;cin.get();clrscr();break;
    case 8 : cout << jour << " AOUT " << annee << endl;cin.get();clrscr();break;
    case 9 : cout << jour << " SEPTEMBRE " << annee << endl;cin.get();clrscr();break;
    case 10 : cout << jour << " OCTOBRE " << annee << endl;cin.get();clrscr();break;
    case 11 : cout << jour << " NOVEMBRE " << annee << endl;cin.get();clrscr();break;
    case 12 : cout << jour << " DECEMBRE " << annee << endl;cin.get();clrscr();break;
    default:cout << "Saisi incorrect"<<endl;cin.get();clrscr();break;
  }
  cin.get();
}

bool Max()
{
  int max,min=0,val;

  cout << "Entrer la premiere valeur de la suite " << endl;cin>>val;clrscr();
  max=val;

  while (val >=0)
  {
    if (val > max)
    {max=val;}
    else
    if (val < min)
    {min = val;}
    cout << "Entree un nouvelle valeur " <<endl; cin>> val;clrscr();
  }
  if (max == 0)
  cout << "Suite vide " <<endl;
  else
  cout << "Max de la suite = "<<max<<endl;
  cout << "Min de la suite = "<<min<<endl;
  cin.get();cin.get();clrscr();
  return true;
}

bool init()
{
  int tab[10], choix1,val=0,taille = 0;
  clrscr();
  for (int i=0;i<10;i++)
  {
    cout << " Entree une valeur pour initialiser le tableau  :"<<endl; cin >> val;
    tab[i]=val;
  }
  //------------------Scanner le tableau pour savoir la taille--------------------
  while (tab[i] != '\0')
  {taille = taille+1;i++;return taille;}

  return true;
}

bool TriCroiss()
{
  int tab[10],temp,i=0;
  bool e=false;

  while (e!=true)
  { e=init();}
//------------------TRI A BULLE--------------------------------------------------
  int j=taille;
  while (j!=2)
  {
    for (int k=1;k!=(taille-1);k++)
    {
      if (tab[k] >tab[k+1])
      {
        temp = tab[k];
        tab[k]=tab[k+1];
        tab[k+1]=temp;
      }
    }
    j--;
   }
   cin.get();
   cout << " TRI EFFECTUE CORRECTEMENT " << endl; cin.get();
   cout << " AFFICHAGE DE CONTROLE " << endl; cin.get();
   while (tab[i] != '\0')
   { cout << tab[i] << '-';i++;}
   cin.get();
   cin.get();
   cin.get();
  return true;
}
