Probleme avec une variable

cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 - 8 mai 2003 à 13:57
cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 - 8 mai 2003 à 20:25
Cedric :question) [mailto:cedbillard@voila.fr Me contacter]

Bonjour tout le monde !

J'ai un gros probleme avec une variable.
J'assigne 1 ou 2 à la variable "ch" dans mon programme dans une section "option(){}" suivant le choix de l'utilisateur.
A la fin de cette section, j'ai insérer cout<<ch; pour voir la valeur de ch et situer le probleme. ch est bien egale à 1 ou 2

Jusqu'ici tout va bien.

Ensuite, dans la section qui suit option(), ch n'est pas modifié, (je n'assigne aucune autre valeur) mais ch change et vaut 445. je ne comprend pas pourquoi et comment résoudre ce probleme !

(J'ai également essayer en mettant "const" mais ça ne change rien!)

Quelqu'un peut-il m'aider ?

(C'est de la programmation sous Dos que j'utilise
avec TURBO C++ : je suis débutant et je n'ai pas la possibilité de programmer en windows)

merci d'avance !

5 réponses

cs_payen Messages postés 252 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 1 mai 2005
8 mai 2003 à 17:26
si tu mettais le code, ca irait mieux ... ce que tu appelles section, c'est une methode/fonction?
0
CoreBreaker Messages postés 540 Date d'inscription dimanche 23 mars 2003 Statut Membre Dernière intervention 5 octobre 2007 1
8 mai 2003 à 17:34
Tu fais du C++ ?
Ca plusieurs années que je pratique mais je ne comprends rien à ce que tu dis !
C'est quoi une section ?
option(){} ressemble à une fonction mais ensuite tu parles de ce qui suit. C'est impossible pour une fonction.
Bref c'est incomprehensible !!

Core Breaker :)
0
cs_bouba Messages postés 518 Date d'inscription dimanche 2 décembre 2001 Statut Membre Dernière intervention 10 novembre 2007 3
8 mai 2003 à 18:04
J'ai bien compris ce que tu appelé section, en fait on appel ça un bloc. Mais on ne peut pas t'aider si tu ne nous passe pas le code associé a ton problème!!!!!
0
cmarsc Messages postés 455 Date d'inscription mercredi 6 mars 2002 Statut Membre Dernière intervention 18 décembre 2003
8 mai 2003 à 19:41
salut,

pour résoudre ce type de problème il vaut mieux mettre un bout du code c'est plus
simple de détecter les erreurs ;-).
une variable avec const ne peut être changée (car elle est constante),
si tu veux conserver un résultat entre chaque appel il faut mettre static.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cbil Messages postés 140 Date d'inscription mercredi 30 avril 2003 Statut Membre Dernière intervention 15 mai 2008 1
8 mai 2003 à 20:25
Cedric :question) [mailto:cedbillard@voila.fr Me contacter]

Désolé de mettre mal exprimé mais j'ai fait ça a la va vite et je connais pas très bien le vocabulaire de programmation.

Ce programme est en fait un exercice de traduction anglais-français.

Le probleme se situe à la fin de option() (debut de l'utilisation de ma variable.
Autrement, il se trouve au début de exo()

J'ai mis une série de "***" pour trouver plus facilement où se situe mon pb.
J'ai supprimer les passages inutiles du code source.

//LES VARIABLES UTILISEES
char * mot[20]; //mot … traduire (en anglais)
char * rep[20]; //reponse de l'utilisateur
char * sol[20]; //solution (en fran‡ais)

short ch; //choix fran‡ais/anglais ou aglais/fran‡ais

//CHOIX DE L'UTILISATEUR
option(){

clrscr();
sens:
cout<<"\n\nDans quel sens voulez-vous traduire les mots ?\n\n";
cout<<"1: ANGLAIS -> FRANCAIS\n";
cout<<"2: FRANCAIS -> ANGLAIS\n";
cout<<" choix : ";

C'EST ICI .************************************************************************************************

cin>>ch; //choisir 1 pour ag-fr ou 2 pour fr-ag
if(ch!=1 & ch!=2){goto sens;}

cout<<ch; //ch affiche bien 1 ou 2
getch();
// (descendre a exo(); pour la suite) return 0;

**************************************************

}
//FIN DE L'EXERCICE

****************************************************************************************************

//EXERCICE
exo(){ //C'EST ICI QUE SE SITUE MON PROBLEME.
debut:
liste(); //Selectionne un mot au hazard a traduire
clrscr();
cout<<ch; //CH A PRIS LA VALEUR 445, JE NE COMPREND PAS.
cout<<"\n MOT A TRADUIRE :\n";

/* Si il n'y avait pas de probleme, le mot … traduire
serait afficher mais ch n'est ni = … 1 ou … 2 */

if(ch==1){

cout<<"\n\n\n"<<mot[20]<<"\n\n";
}

if(ch==2){
cout<<"\n\n\n"<<sol[20]<<"\n\n";
}

cout<<"\n\n REPONSE : ";
cin>>rep[20];

}

main(){
option();
exo();
fin();
return 0;
}

JE PENSE QUE CA SUFFIRA, et sinon si vous préférez la source complete je vous l'enverrai par mail ! (on ne peut pas mettre de fichier sur le forum)

merci encore.
0
Rejoignez-nous