Bonjour,

Nouveau venu sur ce forum et sur le C++ (je commence aujourd'hui) :

Alors j'ai un problème de compilation que je n'arrive pas à résoudre avec la fonction "transco" :
erreur sur les lignes d'initialisation de A B C D et également sur la comparaison de chaine dans la fonction transco.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}
Merci de votre aide,

Ps : avant que vous le demandiez je vais allez faire la prez (faut juste que je trouve où )

Gloutoni