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
| #include <iostream>
#include <string>
using namespace std;
// test
int longueurChaine(string container){
return container.size();
}
bool formeValide(string container){
int compteur(0);
while (compteur <= 3){
if (isdigit(container[compteur])){return false;}
++compteur;
}
while (compteur <= 10){
if (isdigit(container[compteur])==false){return false;}
++compteur;
}
return true;
}
int transco(string lettre){
If (lettre == "A"){return 10;}
If (lettre == "B"){return 12;}
If (lettre == "C"){return 13;}
If (lettre == "D"){return 14;}
If (lettre == "E"){return 15;}
If (lettre == "F"){return 16;}
If (lettre == "G"){return 17;}
If (lettre == "H"){return 18;}
If (lettre == "I"){return 19;}
If (lettre == "J"){return 20;}
If (lettre == "K"){return 21;}
If (lettre == "L"){return 23;}
If (lettre == "M"){return 24;}
If (lettre == "N"){return 25;}
If (lettre == "O"){return 26;}
If (lettre == "P"){return 27;}
If (lettre == "Q"){return 28;}
If (lettre == "R"){return 29;}
If (lettre == "S"){return 30;}
If (lettre == "T"){return 31;}
If (lettre == "U"){return 32;}
If (lettre == "V"){return 34;}
If (lettre == "W"){return 35;}
If (lettre == "X"){return 36;}
If (lettre == "Y"){return 37;}
If (lettre == "Z"){return 38;}
return 0;
}
bool cleContainer(string container){
int a,b,c,d,reste;
a = transco(container[0]);
b = transco(container[1]);
c = transco(container[2]);
d = transco(container[3]);
int e(container[4]),f(container[5]),g(container[6]),h(container[7]),i(container[8]),j(container[9]),k(container[10]);
reste = (a + b*2 + c*4 + d*8 + e*16 + f*32 + g*64 + h*128 + i*256 + j*512) % 11;
if (reste == 10){reste = 0;}
if (reste == k){
return true;
}
else{
return false;
}
}
int main()
{
string container;
cout << "Bonjour," << endl;
cout << "Merci entrer un numero de conteneur :" << endl;
cin >> container;
if (longueurChaine(container)== 11)
{cout << endl << "chaine de caractere = 11" << endl;}
else{cout << endl<<"chaine de caractere different de 11" << endl;}
if (formeValide(container)){
cout << "Forme valide" << endl;
}
else{
cout << "Forme invalide" << endl;
}
if (cleContainer(container)){
cout << "Cle Valide" << endl;
}
else{
cout << "Cle Invalide" << endl;
}
return 0;
} |