Probleme avec switch

Bonjour

Voici un code qui presente le menu d un restaurant , le probleme est que lorsque je rentre un choix je dois le taper 2 fois avant que le message dans la boucle s affiche.
Quelqu un peux m aider ?

#include <stdio.h>

int main ()

{
int choixMenu;
printf("===Menu===");
printf ("1-Royal Cheese\n");
printf ("2-Mc Bacon\n");
printf ("3-Mc Delux\n");
printf ("4-Hamburger\n");
printf ("\n");
printf ("Votre Choix\n");
scanf ("%d",&choixMenu");
  switch (choixMenu)
{
case 1: printf ("Vous avez choisi le menu Royal Cheese\n");
break;
case 2: printf ("Vous avez choisi le menuMc Bacon \n");
break;
case 3: printf ("Vous avez choisi le menu Mc Delux\n");
break;
case 4: printf ("Vous avez choisi le menu shawarma \n");
break;
default:printf ("Vous n avez pas encore choisi\n");
}
return 0;
}

La coloration syntaxique du forum met en évidence une erreur de syntaxe.
Je ne pense pas que ton problème vienne de là, le compilateur t’aurait déjà envoyé balader.
Je n’ai pas pratiqué le C depuis de nombreuses années, mais je me souviens que ta façon de récupérer la valeur n’est pas conseillée.
Essaie un truc de ce genre pour voir :

#include <stdio.h>

int main () {
	int choixMenu;
	
	printf("===Menu===\n");
	printf ("1-Royal Cheese\n");
	printf ("2-Mc Bacon\n");
	printf ("3-Mc Deluxe\n");
	printf ("4-Hamburger\n");
	printf ("\n");
	printf ("Votre Choix\n");
	scanf ("%d",&choixMenu);
	
	switch (choixMenu) {
		case 1:
			printf ("Vous avez choisi le menu Royal Cheese\n");
			break;
		case 2:
			printf ("Vous avez choisi le menu Mc Bacon\n");
			break;
		case 3:
			printf ("Vous avez choisi le menu Mc Deluxe\n");
			break;
		case 4:
			printf ("Vous avez choisi le menu Hamburger\n");
			break;
		default:
			printf ("Vous n'avez pas encore choisi\n");
	}
	return 0;
}

Ça semble se compiler chez moi et faire ce que j’ai l’impression que tu veux faire.
Pour l’indentation, j’utilise principalement Python pour la programmation, je trouve ça plus clair comme ça.

1 J'aime

Il y a un double quote en trop.

Merci Zargos

c est une erreur qui survenue en tapant le code sur le forum dans mon code initial le double quote ne figure pas

Personnellement je vois pas la difference entre mon code et le tiens j ai fais comme toi .
rien n a change.

j ai trouve la solution dans mon code j ai mis %d dans le scanf en le retirant tout est rentre dans l ordre

Merci d avoir pris la peine de repondre

Je n’ai pas compris, tu peux nous partager ta solution, s’il te plaît ?

si j’en crois mon analyse de l’écriture moderne ( non utilisation des temps des verbes, des ponctuations, oublie de la fin de la démonstration ) il veut dire qu’il a écrit

scanf ("%s",&choixMenu);

à la place de

scanf ("%d",&choixMenu);

Viva el python !