bonjour à tous!
La fonction FcStrAlz analyse une chaine "1234..".
Si un chiffre est présent devant la fonction un drapeau "0" empêche l'apparition d'une ligne.
Mais la valeur du drapeau ne sort pas de la fonction...
Où est l'erreur?
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 //analyse de chaine #include <iostream> #include <string> using namespace std; string FcStrAlz(string StrAlz,string StrItm)//fonction confrontant {//Fc/déb 13/09/11 //un verrou "1"..."n" cout<<"-----------------------"<<endl; //avec sa présence int taille = StrAlz.size (); //dans la chaine StrAlz int t=0; //si verrou la ligne s'efface string ElmStrAlz,stp="0"; //si verrou absent ou "" cout<<" /d/<"<<stp<<">"<<endl; //la ligne apparaît while (t<taille) {ElmStrAlz=StrAlz.substr(t,1); t++; cout<<ElmStrAlz<<" "; if (ElmStrAlz==StrItm) {stp="0";break;} //si 0 efface ligne else stp="1"; //si 1 igne apparait } cout<<"/z/<"<<stp<<">"<<endl; cout<<"------------------------"<<endl; return stp; }//Fc/fin 13/09/11 //prg essai string StrAlz="123456";//chaine des verrous possibles string Alz,StrItm,stp; int main () { cout<<"ei-<"<<stp<<">-"<<endl; //état stp entrée int main StrItm="1"; //verrou "1" actionnant la L39 Alz=FcStrAlz(StrAlz,StrItm); cout<<"1ex-<"<<stp<<">-ex pourquoi TOUJOURS VIDE!"<<endl; //état stp sortie de fonction if (stp=="0") //ligne actionnée par L36 {cout<<"§1 effacé"<<endl;} if (stp=="1") //cette ligne fonctionne pas car L36 a valeur "1" {cout<<"§1 apparaît"<<endl;} //ici pas de verrou 3 installé(on pourrait mettre StrItm="";) Alz=FcStrAlz(StrAlz,StrItm); cout<<"3ex-<"<<stp<<">-ex pourquoi toujours vide!"<<endl; //état stp sortie de fonction if (stp=="0") //ligne fonctionne pas car L44 sans valeur {cout<<"§3 effacé"<<endl;} if (stp=="1") //ligne fonctionne car L44 sans valeur {cout<<"§3 apparaît"<<endl;} cout<<"0 pour sortir de int main";int zer;cin>>zer; }
Merci pour vos lumières.
Sen.
Partager