display.h 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. //-----------------------------------------------------------------------------------//
  2. // Nom du projet : Langage_C_fixme
  3. // Nom du fichier : display.h
  4. // Date de création : 25.02.2015
  5. // Date de modification : 17.03.2019
  6. //
  7. // Auteur : Philou (Ph. Bovey)
  8. //
  9. // Description : fichier de type header file pour toutes les fonctions
  10. // liées à l'afficahge
  11. //
  12. //
  13. // Remarques : lien pour la table ASCII :
  14. // -> http://www.asciitable.com/
  15. // lien pour la saisie de clavier avec getc & getchar pour ne pas
  16. // avoir des erreurs d'interprétation
  17. // -> http://fr.openclassrooms.com/informatique/cours/utiliser-les-bonnes-fonctions-d-entree
  18. // lien vers différents
  19. // -> http://fr.wikipedia.org/wiki/String.h
  20. //----------------------------------------------------------------------------------//
  21. #ifndef DISPLAY_H_INCLUDED
  22. #define DISPLAY_H_INCLUDED
  23. //--- librairie associée ---//
  24. //-- versionning --//
  25. #define CODE_BLOCK
  26. //#define VISUAL_STUDIO
  27. //--- constante ou définition ---//
  28. //-- caractère spécifique --//
  29. #define CHOIX_BAS 66 // représente B en caractère
  30. #define CHOIX_DROITE 68 // représente D en caractère
  31. #define CHOIX_ENTIER 73 // représente I en caractère
  32. #define CHOIX_EXIT 69 // représente E en caractère
  33. #define CHOIX_FLOTTANT 70 // représente F en caractère
  34. #define CHOIX_GAUCHE 71 // représente G en caractère
  35. #define CHOIX_HAUT 72 // représente H en caractère
  36. #define CHOIX_MENU 77 // représente M en caractère
  37. #define CHOIX_MENU_PRINCIPAL 80 // représente P en caractère
  38. #define CHOIX_PLEINS 80 // représente P en caractère
  39. #define CHOIX_VIDE 86 // représente V en caractère
  40. #define LIMITE_ETOILE_MIN 1 // nb d'étoile min que l'on peut afficher
  41. #define LIMITE_ETOILE_MAX 15 // nb d'étoile min que l'on peut afficher
  42. #define LIMITE_NB_MAX 10 // limite d'un nombre entier
  43. #define LIMITE_NB_MIN -10 // limite d'un nombre entier
  44. #define MAX_CARA 80 // largeur d'une fenêtre DOS
  45. //-- gestion de message user --//
  46. #define DELETE_SCREEN system("cls")
  47. #define PRINT_SAUT_LIGNE printf("\n")
  48. #define PRINT_ESPACE printf(" ")
  49. #define PRINT_ETOILE printf("*");
  50. #define PRINT_M_MENU printf("MENU : ")
  51. #define PRINT_SELECTION_ABSCISSE printf("Entrer Valeur entiere entre %d et %d", LIMITE_AXE_X_MIN, LIMITE_AXE_X_MAX)
  52. #define PRINT_SELECTION_CHAR printf("Veuillez taper un caractere :")
  53. #define PRINT_SELECTION_CHOIX printf("Veuillez Selectionner votre choix : ")
  54. #define PRINT_SELECTION_FLOAT printf("Voulez-vous travailler en flottant - taper 'F' ")
  55. #define PRINT_SELECTION_GD printf("Veuillez choisir entre Gauche[G] et Droite[D] : ")
  56. #define PRINT_SELECTION_HB printf("Veuillez choisir entre Haut[H] et Bas[B] : ")
  57. #define PRINT_SELECTION_INT printf("Voulez-vous travailler en entier - taper 'I' ")
  58. #define PRINT_SELECTION_MENU printf("Veuillez Selectionner votre Menu : ")
  59. #define PRINT_SELECTION_NB printf("Indiquer un nombre : ")
  60. #define PRINT_SELECTION_NEW_NB printf("Indiquer un nouveau nombre : ")
  61. #define PRINT_SELECTION_ORDONNEE printf("Entrer Valeur entiere entre %d et %d", LIMITE_AXE_Y_MIN, LIMITE_AXE_Y_MAX)
  62. #define PRINT_SELECTION_PV printf("Veuillez choisir entre Plein [P] et Vide [V] : ")
  63. #define NAME_M_ADITION "ADITION"
  64. #define NAME_M_AFFICHAGE "AFFICHAGE"
  65. #define NAME_M_ARITHEMTIQUE "ARITHMETIQUE"
  66. #define NAME_M_ASTUCE_PRINTF "ASTUCE PRINTF"
  67. #define NAME_M_ASTUCE_INCR "ASTUCE INCREMENTATION & DECREMENTATION"
  68. #define NAME_M_ASTUCE_CONV_CHAR_NUM "ASTUCE CONVERSION CARACTERE NUMERIQUE - TABLE"
  69. #define NAME_M_ASTUCE_LOOP "ASTUCE BOUCLE"
  70. #define NAME_M_CALCUL_SEG_AB "CALCUL SEGMENT POINT_A(x,y) - POINT_B(x,y)"
  71. #define NAME_M_CONV "CONVERSIONS"
  72. #define NAME_M_CONV_CHAR_NUM "CONVERSION CARACTERE EN NUM (DEC - HEXA)"
  73. #define NAME_M_CONV_DECIMAL_BINAIRE "CONVERSION DECIMAL BINAIRE"
  74. #define NAME_M_CONV_NUM_CHAR "CONVERSION NUMERIQUE EN CARACTERE"
  75. #define NAME_M_CONV_NUM_OCT_HEX "CONVERSION NUMERIQUE EN OCTAL - HEXA"
  76. #define NAME_M_DIVISION "DIVISION"
  77. #define NAME_M_DISP_CARRE "AFFICHAGE DE CARRE"
  78. #define NAME_M_DISP_LOSANGE "AFFICHAGE DE LOSANGE"
  79. #define NAME_M_DISP_PARALLELOGRAMME "AFFICHAGE DE PARALLELOGRAMME"
  80. #define NAME_M_DISP_TRIANGLE "AFFICHAGE DE TRIANGLE"
  81. #define NAME_M_MULTIPLICATION "MULTIPLICATION"
  82. #define NAME_M_OP_SIMPLE "OPERATION SIMPLE"
  83. #define NAME_M_PRINICIPAL "PRINCIPAL"
  84. #define NAME_M_SOUSTRACTION "SOUSTRACTION"
  85. #define NAME_M_VECTEUR "VECTEUR"
  86. //--- déclaration de variable global ---//
  87. extern char var_retour;
  88. //--- déclaration de prototype ---//
  89. //--- liée au fichier template_menu.c ---//
  90. void Template_Menu_Ligne(void); //-> affiche un trait d'*
  91. void Template_Display_Menu(char choix_menu); //-> affiche le titre dans lequel se trouve le user et sélectionne le menu choisi
  92. void Template_Choix_Menu_Principal(void); //-> affiche le menu principal pour le user
  93. //--- liée au fichier template_menu_arithm.c ---//
  94. void Template_Display_Menu_Arithm(char choix_menu); //-> affiche le titre dans lequel se trouve le user et sélectionne le menu choisi
  95. void Template_Choix_Menu_Arithmetique(void); //-> affiche le menu arithmetique
  96. void Template_Choix_Menu_OP_Simple(void); //-> affiche le menu opération simple
  97. void Template_Choix_Menu_Conversion(void); //-> affiche le menu Conversion
  98. void Template_Display_Menu_OP_Simple(char choix_menu); //-> affiche le menu concernant les oérations simples
  99. void Template_Display_Menu_Conversion(char choix_menu); //-> affiche le menu concernant différentes conversions
  100. //--- liée au fichier template_menu_display.c ---//
  101. void Template_Choix_Menu_Display(void); //-> affichage de différents theme du menu display
  102. void Template_Display_Menu_Display(char choix_menu); //-> affiche le titre dans lequel se trouve le user et sélectionne le menu choisi
  103. //--- liée au fichier selection_user.c ---//
  104. char Selection_Menus(char choix_selection_msg); //-> permet de récuprer une valeur entrer par l'utilisateur
  105. char Select_Option(void); //-> permet à l'utilisteur de choisir entre deux options
  106. char Select_Var_Cara(void); //-> récupère un caractère fournis par un utilisateur
  107. float SelectValFlottantAvecLimite(float limitMax, float limitMin); //-> récupère une chaine de caractère et la transforme en floattant en contrôlant des limites
  108. float Select_Var_Flottant(void); //-> récupère une chaine de caractère et la transforme en floattant
  109. int SelectValEntierSansLimite(void); //-> récupère une châine de chaîne de caractère et le transforme en entier
  110. int Select_Var_Entier(int limiteMax, int limiteMin); //-> récupère une châine de chaîne de caractère et le transforme en entier avec controle de limite
  111. //--- lié au fichier help.c ---//
  112. void Help_Printf(void); //-> affiche une aide sur le printf
  113. void Help_Loop(void); //-> effect visuel avec des boucles itératives
  114. //--- liée au fichier affichage.c ---//
  115. void Triangle_Etoile_AGB(int nb_etoile); // permet d'afficher un triangle selon les datas du user
  116. void Triangle_Etoile_AGH(int nb_etoile);
  117. void Triangle_Etoile_ADB(int nb_etoile);
  118. void Triangle_Etoile_ADH(int nb_etoile);
  119. void Carre(int val_user); // afficher un carré plein d'étoiles
  120. void Parallelogramme_AG(int val_user); // affiche un parallelogramme avec l'angle a gauche
  121. void Parallelogramme_AD(int val_user); // affiche un parallelogramme avec l'angle a droite
  122. void Choix_Emplacement_Triangle(char choix_HB, char choix_GD); // definit quel dessin de traingle afficher selon le user
  123. void Losange_Vide(void); // affiche un losange entouré d'étoile
  124. void Losange_Plein(void); // affiche un losange remplit d'étoile
  125. void Selection_Losange (char choix_user); // selectionne un losange vide ou plein
  126. void Selection_Sens_Paralelogramme(char choix_user); // choix pour l'affichage d'un parallelogramme (angle droite ou gauche)
  127. #endif // DISPLAY_H_INCLUDED