1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Entête //
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
/*Declaration utile*/
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Nom du programme : gerer les types
// Fichier : main
// Version : 1.0
// Description : Template de programmation
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//Librairies
#include <iostream> //entrée et sortie sur console
#include <iomanip> //manipulateur de donnée
#include <cstring> //manipulateur de chaine de caractère
#include <cstdio> //pour NULL
#include <string.h>
#include <stdlib.h> // pour systeme
using namespace std;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Declarations
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void affiche (void);
bool ctrl (char *,bool,int,int);
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Définition
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// fonction
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// fonction affiche
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void affiche (void)
{
char chEntree [25]={0} ;
int inEntree = 0;
int longeur = 0;
bool invalid = false;
//creation d'un pointeur
char * ptentree = chEntree ;
do
{
//entrée caractere
cout << "****************************************************"<<endl<<endl;
cout << "Veuillez rentrer un caractere valide entre a-z maj ou min : ";
cin >> chEntree;
cout << endl << endl;
//on prend la longueur de la chaine de caractère
longeur = strlen (chEntree);
//appel de la fonction ctrl
invalid = ctrl(ptentree,invalid,longeur,inEntree);
}while (invalid == true);
cout << "********************************************************"<< endl << endl;
cout << "La chaine de caractère: " << ptentree << " est valide" <<endl << endl ;
cout << "********************************************************"<< endl << endl;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// fonction ctrl
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
bool ctrl (char * ptentree,bool invalid,int longeur, int inEntree)
{
//variable local
char chTemp [30] = {0};
strcpy (chTemp, ptentree);
//boucle d'annalyse caractère a caractère
for (int i = 0; i<= longeur - 1 ; i++ )
{
//comparaison pour garder la valeur ascii
inEntree = chTemp [i];
// si c'est pas entre a-z erreur
if (inEntree <97 or inEntree > 122 )
{
//si c'est pas entre A-Z maj
if (inEntree < 65 or inEntree > 90)
{
cout << "Caractère invalide" <<"le caractere num "<< i+1 << endl << endl;
invalid = true;
return invalid;
}
}
else
{
invalid = false;
}
}
return invalid;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Programme principale
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
//variable local
char recommencer ;
do
{
//affiche
affiche();
//Pour relancer le prog
cout << "****************************************************************" << endl << endl;
cout << " Voulez vous relancer le programme [r] pour oui autre non: ";
cin >> recommencer;
system("cls");
}while (recommencer == 'r');
return 0;
} |
Partager