Probleme fonction

morgandetoi06 Messages postés 389 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 17 décembre 2004 - 10 oct. 2003 à 00:24
cs_KaiO Messages postés 19 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 10 mai 2007 - 10 oct. 2003 à 08:51
bonjour j ai essayé de passer cette source:
http://www.cppfrance.com/code.aspx?ID=16930

en une source qui se sert de fonctions mais j ai quelques problemes par exemple je ne sait pas comment passer le tableau contenant les titres en parametre de la fonction menu ? comment faire svp ?
voici le code avec les fonctions qui ne marche pas encore...

#include <stdlib.h>
#include
#include
#include <string.h>
using namespace std;

int main(void)
{

char menu[9][40]={"1_Acquisition","2_Déplacement robot","3_Commande porte","4_Commande voyants","5_Lecture carte","6_Rotation zoom","7_Tester reseau","Entrez votre choix: ",""};//on declare le tableau contenant le menu
menu(char menu);
exit(0);
}

void menu(char menu)
{
// DECLARATIONS:
// x= position sur l ecran sur l axe des abscisses
// y= position sur l ecran sur l axe des ordonnées
// chaine= le nombre de titres du menu
// choix= le choix qu effectue l utilisateur à la suite de l affichage du menu
// menu= tableau contenant les titres du menu
int x,y,index,chaine,choix;
do
{
index=0;
chaine=0;
effacement();
while(strcmp(menu[index],"")!=0)
{
chaine++;
index++;
}
y=((24-(chaine*2))/2);
index=0;
while(strcmp(menu[index],"")!=0)
{
x=40-(strlen(menu[index])/2);
deplacement(x,y);
cout << menu[index];
y=y+2;
index++;
}
y=y-2;
cin>>choix;
effacement();
y=11;
x=25;
if((choix>chaine)||(choix<1))
{
deplacement(x,y);
cout<<"Vous avez choisi un mauvais menu..."<<endl;
sleep(3);
}
else
{
x=10;
deplacement(x,y);
cout<<"Vous avez choisi le menu: "<<menu[choix-1]<<endl;
}
}while((choix<1)||(choix>chaine));
}

void effacement()
{
cout<<"\x1b[2J";
}

void deplacement(int x,int y)
{
cout<<"\x1b["<<y<<';'<<x<<'H';
}

j ai mit (char menu) comme parametre mais ça passe pas :(
merci pour l aide
++

www.morgan06.fr.fm

1 réponse

cs_KaiO Messages postés 19 Date d'inscription jeudi 2 mai 2002 Statut Membre Dernière intervention 10 mai 2007
10 oct. 2003 à 08:51
Ptêtre que je me trompe masi ton problème m'a l air tout simple. Ton menu[][] est en fait un pointeur sur un tableau de chaine de caractère. donc quand tu veux la passer en paramètre dans ta fonction tu dois faire comme suit :

Déclaration de la fonction :

void menu(char ** menu) ;


et quand tu l'appel ça fait ceci :

menu(menu) ;


Tien moi au courant si çA a marché.
0
Rejoignez-nous