#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "password.h"
#include "polynomeHorner.h"

/*
TP noté 2011-2012
Version 2.2
laBuche

Un petit programme qui correspond au corrigé des exercices du TP noté 2011-2012, sous le nom de TP-not-.pdf sur Arel.
Fonctionnalités:

- Calcul d'une valeur d'un polynôme en un point grâce à la méthode de Hörner.

- Génération aléatoire d'un mot de passe.

- Calcul des termes d'une fonction définie par récurrence sur NxN.


Historique des versions:

Version 2.2 (21/11/2012): - Ajout d'une fonction permettant la sauvegarde du password généré dans un fichier texte.
- Sous-menu concernant la sauvegarde du mot de passe.
- Mise à jour des commentaires.

Version 2.1 (31/10/2012): Mise à jour des commentaires

Version 2.0 (31/10/2012): - Nouvelles fonctions: fonction récurrente (exercice 2), mot de passe (exercice 1) et menu.
- Séparation des fichiers .c, création des headers et inclusion dans le main des directives de préprocesseur.
- Ajout de commentaires.

Version 1.0 (): première version.
*/

int main()
{
    int int_choix; //déclaration des variables
    printf("Programme contenant une solution pour chacun des problemes poses dans le fichier TP note 2011. Enjoy \nVersion 2.1 \nlaBuche\n");
    printf("\n------------------------------------------------------------\n");
        do //boucle d'affichage du menu et de demande de choix à l'utilisateur
        {

            printf("\nMENU\n"); //affichage du menu
            printf("1. Polynome de HORNER \n2. Generation de mot de passe\n3. Fonction recursive \n4. Quitter\n");
            scanf("%d", &int_choix); //lecture du choix de l'utilisateur

            switch(int_choix) //en fonction du choix, on lance la fonction correspondante
            {
                case 1: //si l'utilisateur choisi le cas 1, on lance la calcul du polynome
                    polynomeHorner();
                    break;
                case 2: //cas 2: génération d'un mot de passe aléatoire
                    genererPassword();
                    break;
                case 3: //cas 3: calcul des termes de la fonction récursive
                    //fonctionRecursive();
                    break;
                case 4: //cas 4: on quitte le programme
                    break;
                default: //cas par défaut, on insulte l'utilisateur avant de recommencer
                    printf("Choix idiot, recommencer\n");
                    break;
            }
        }while(int_choix != 4); //la boucle tourne tant que l'utilisateur ne décide pas de quitter

    return 0;
}
