Probleme avec parametres

Amanobuo Messages postés 65 Date d'inscription mardi 24 février 2004 Statut Membre Dernière intervention 11 décembre 2006 - 4 mars 2004 à 15:27
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 - 4 mars 2004 à 19:09
Bonjour, et merci pour les info sur la dll fmod !

ma question :

J'apprend le C++ et je fais des application en mode console.
a partir de la fonction main, j'appelle d'autres fonction, exemple :

void main(void)
{
int nChoix;
do
{
printf("\nMenu principale:\n");
printf("1.Fonction A\n");
printf("2.Fonction B\n");
printf("3.Fonction C\n");
printf("4.Quitter\n");
printf("Entrez votre choix : ");
scanf("%d", &nChoix);
if (nChoix == 1) fctA();
else if (nChoix == 2) fctB();
else if (nChoix == 3) fctC();
}
while (nChoix !=4);
}

Jusque ici, pas de problemes, les fonction A, B et C fonctionnent parfaitement.

Mais lorsque je veut ajouter une fonction D, qui, a cause de la structure du programme recoit en parametres des donnes, la fonction n'est jamais appelle a partir du menu.

exemple :

{...}
else if (nChoix == 5) fctD(int X, int Y, int Z);

il est donc impossible pour moi de mettre des fonction qui recoivent des parametre dans un menu, ce qui est tres limitant et je ne sais pas quoi faire !
J'ai soit des messages d'erreur du genre

error C2144: syntax error : missing ')' before type 'int'
error C2660: 'fctD' : function does not take 0 parameters

ou aucune erreurs mais le fonction n'est pas execute.

Si ce n'est pas assez claire posez moi des questions sinon dite moi se qui cloche, allez merci d' avence et a plus :)

3 réponses

hilairenicolas Messages postés 398 Date d'inscription jeudi 30 octobre 2003 Statut Membre Dernière intervention 15 juin 2007 2
4 mars 2004 à 16:29
faut pas faire
else if (nChoix == 5) fctD(int X, int Y, int Z);

mais
else if (nChoix == 5) fctD(X, Y, Z);
0
petitchech Messages postés 114 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 28 juin 2004
4 mars 2004 à 16:29
salut
utilise switch au lieu des else if

#include <stdio.h>

void main(void)
{
int nChoix;
do
{
printf("\nMenu principale:\n");
printf("1.Fonction A\n");
printf("2.Fonction B\n");
printf("3.Fonction C\n");
printf("4.Quitter\n");
printf("Entrez votre choix : ");
scanf("%d", &nChoix);

switch (nChoix)
{
case 1:
{
printf("\nfonction A");
break;
}
case 2:
{
printf("\nfonction B");
break;
}
case 3:
{
printf("\nfonction C");
break;
}
default:
{
printf("\nChoix incorrect\n");
break;
}
}
}
while (nChoix !=4);
}
0
cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
4 mars 2004 à 19:09
... et ca c'est du c, pas du c++ ;)

ps:
int main()
{
...
return 0;
}

c'est mieux
0
Rejoignez-nous