#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include "fonctions.h"
#include "fibo.h"

/* Programme qui permet de faire quelques tests des algorithmes que l'on a vu en cours. Version 3.1.0.
 laBuche



 NOUVEAUTES version 3.1.0:

 3.1.0: - Création d'un fichier fibo.c et du header correspondant fibo.h, insertion de la directive de préprocesseur correspondante dans
 le main. Ces fichiers regroupent les fonctions correspondant au choix 3 du menu principal.

 - Correction de la fonction récursive suiteFiboRecNaif qui ne marchait pas bien.

 - Mise à jour des noms de fonctions.

 - Insertion de commentaires dans le fichier fibo.c

 3.0.1: édition des commentaires et de l'affichage de certaines fonctionnalités.

 3.0.0 : - Insertion des protoypes dans un header fonctions.h et des fonctions dans une fichier auxiliaire fonctions.c.
 Il ne reste plus que le menu dans le fichier main.c. Pour accéder au projet entier je vous conseille d'ouvrir le fichier .cbp avec
 Codeblocks si vous l'avez.

 - Rajout du calcul d'un terme de la suite de Finonacci grâce à une fonction récursive
 (permet de calculer plus de termes que la version itérative car moins gourmande en terme de mémoire). Voir dans le fichier
 fonctions.c les fonctions dont le nom commence par suiteFiboRec. La fonction suiteFibo est le menu permettant de choisir entre
 les méthodes itératives et récursives.

 - Correction de la fonction d'affichage des heures qui marche désormais. (fonction correspondante: youpiOnAffichePleinDeChiffre, encore
 dans le fichier fonctions.c.

 NOUVEAUTES version 2.0: Trois nouvelles fonctionnalités: devinette sur un chiffre; Produit, somme et max; Affichage de différentes
 heures (en cours, non fonctionnel).
 */



int main()
{
    int int_choix;
    printf("AlgoMenu V3.1.0\nlaBuche \n\n Un petit programme permettant differents calculs vus en cours d'algorithmique. \n _____________________________________________\n\n");
    do{
        printf("Menu: \n");
        printf("1. Calcul d'une moyenne \n");
        printf("2. Calcul des termes d'une suite geometrique \n");
        printf("3. Calcul des termes de la suite de Fibonacci \n");
        printf("4. Dessin d'une belle pyramide \n");
        printf("5. Devinette sur un chiffre \n");
        printf("6. Produit, somme et max \n");
        printf("7. Heure \n");
        printf("8. Table de multiplication \n");
        printf("9. Quitter \n");
        scanf("%d", &int_choix); //impression du menu puis demande de son choix à l'utilisateur

        switch(int_choix) //lecture du choix puis appel de la fonction correspondante
        {
            case 1:
                calcMoy();
                printf("\n");
                break;
            case 2:
                suiteGeo();
                printf("\n");
                break;
            case 3:
                suiteFibo();
                break;
            case 4:
                pyramEtoile();
                printf("\n");
                break;
            case 5:
                devinette();
                printf("\n");
                break;
            case 6:
                prodSomMax();
                printf("\n");
                break;
            case 7:
                youpiOnAffichePleinDeChiffre();
                printf("\n");
                break;
            case 8:
                tablMult();
                printf("\n");
                break;
            case 9:
                break;
            default:
                printf("Choix invalide, recommencez. \n");
        }
    } while(int_choix != 9);
    return 0;
}
