Erreur C
Résolu
bastien352
Messages postés
1141
Statut
Membre
-
bastien352 Messages postés 1141 Statut Membre -
bastien352 Messages postés 1141 Statut Membre -
Bonjour,
je commence a apprendre le langague informatique C !!
Mais je bloque sur une ligne ?!
je vous mets le code source ( ps : c'est une calculette )
__________________________________________________________________________________________
il y a deux erreur !!
Merci de votre aide !
je commence a apprendre le langague informatique C !!
Mais je bloque sur une ligne ?!
je vous mets le code source ( ps : c'est une calculette )
__________________________________________________________________________________________
<code>
#include <stdio.h>
#include <stdlib.h>
int main()
{ // il y a une erreur ici il me met un rond rouge !!
int choixMode;
printf(" **Mode** \n\n\n\n") ;
printf("1. Addition \n") ;
printf("2. Multiplication \n\n") ;
printf("Tape le numero de l'option chosit \n");
scanf("d%", &choixMode ) ;
switch (choixMode)
{
case 1:
printf("****Mode Addition**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf("%d + %d = %d \n",nombre1 , nombre2 , resultat);
break;
case 2:
printf ("****Mode Multiplication**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ; // il y a une autre erreur ici ?! un carré rouge !!
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 * nombre2;
printf("%d * %d = %d \n",nombre1 , nombre2 , resultat);
break;
return 0;
while(!kbhit());
__________________________________________________________________________________________
</code>
il y a deux erreur !!
Merci de votre aide !
A voir également:
- Erreur C
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
16 réponses
Salut,
Apparemment, il te manque des "}"
essaie avec ceci:
Apparemment, il te manque des "}"
essaie avec ceci:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixMode;
printf(" **Mode** \n\n\n\n") ;
printf("1. Addition \n") ;
printf("2. Multiplication \n\n") ;
printf("Tape le numero de l'option chosit \n");
scanf("d%", &choixMode ) ;
switch (choixMode)
}
{
case 1:
printf("****Mode Addition**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf("%d + %d = %d \n",nombre1 , nombre2 , resultat);
break;
case 2:
printf ("****Mode Multiplication**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 * nombre2;
printf("%d * %d = %d \n",nombre1 , nombre2 , resultat);
break;
return 0;
while(!kbhit());
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
désormais sa beug une ligne en dessous :S
switch (choixMode);
}
{ ------------------------> ICI
case 1:
switch (choixMode);
}
{ ------------------------> ICI
case 1:
il manque une } mais a la fin,
essaie avec ça :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixMode;
printf(" **Mode** \n\n\n\n") ;
printf("1. Addition \n") ;
printf("2. Multiplication \n\n") ;
printf("Tape le numero de l'option chosit \n");
scanf("d%", &choixMode ) ;
switch (choixMode)
{
case 1:
printf("****Mode Addition**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf("%d + %d = %d \n",nombre1 , nombre2 , resultat);
break;
case 2:
printf ("****Mode Multiplication**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 * nombre2;
printf("%d * %d = %d \n",nombre1 , nombre2 , resultat);
break;
}
return 0;
while(!kbhit());
}
on ne met javais d'accolade fermante aprés le switch.
essaie avec ça :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixMode;
printf(" **Mode** \n\n\n\n") ;
printf("1. Addition \n") ;
printf("2. Multiplication \n\n") ;
printf("Tape le numero de l'option chosit \n");
scanf("d%", &choixMode ) ;
switch (choixMode)
{
case 1:
printf("****Mode Addition**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf("%d + %d = %d \n",nombre1 , nombre2 , resultat);
break;
case 2:
printf ("****Mode Multiplication**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 * nombre2;
printf("%d * %d = %d \n",nombre1 , nombre2 , resultat);
break;
}
return 0;
while(!kbhit());
}
on ne met javais d'accolade fermante aprés le switch.
merci de votre aide !
mais maintenant l'erreur est plus bas :S
mais maintenant l'erreur est plus bas :S
#include <stdio.h>
#include <stdlib.h>
int main()
{
int choixMode;
printf(" **Mode** \n\n\n\n") ;
printf("1. Addition \n") ;
printf("2. Multiplication \n\n") ;
printf("Tape le numero de l'option chosit \n");
scanf("d%", &choixMode ) ;
switch (choixMode)
{
case 1:
printf("****Mode Addition**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 + nombre2;
printf("%d + %d = %d \n",nombre1 , nombre2 , resultat);
break;
case 2:
printf ("****Mode Multiplication**** \n\n");
int resultat = 0, nombre1 = 0, nombre2 = 0 ; // ici il ya y un rectangle ronge !!!!!!!!!
printf(" Entre le nombre1 : \n");
scanf("%d", &nombre1);
printf(" Entre le nombre2 : \n");
scanf("%d", &nombre2);
resultat = nombre1 * nombre2;
printf("%d * %d = %d \n",nombre1 , nombre2 , resultat);
break;
}
return 0;
while(!kbhit());
}
Salut,
Plusieurs erreurs.
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
Tu les redéfinis au sein même du main. Donc conflits. Si tu veux faire ça, il te faut utiliser des scopes supplémentaires, ou tout simplement tu définis ces variables en haut du main.
Les instructions après un return sont inutiles.
Tu as mis d% au lieu de %d dans un scanf.
Cdlt,
Plusieurs erreurs.
int resultat = 0, nombre1 = 0, nombre2 = 0 ;
Tu les redéfinis au sein même du main. Donc conflits. Si tu veux faire ça, il te faut utiliser des scopes supplémentaires, ou tout simplement tu définis ces variables en haut du main.
Les instructions après un return sont inutiles.
Tu as mis d% au lieu de %d dans un scanf.
Cdlt,
Tu supprimes les lignes int resultat = 0, nombre1 = 0, nombre2 = 0 ; de tes cases dans le switch. Tu rajoutes cette ligne là après avant int choixMode;
Ensuite ton premier scanf("d%",...) est erroné, il faut mettre : scanf("%d",...);
Et tu enlèves ta ligne while(!kbhit());
Ensuite ton premier scanf("d%",...) est erroné, il faut mettre : scanf("%d",...);
Et tu enlèves ta ligne while(!kbhit());
Merci enlever la ligne a marcher mais je ne comprend pas pk il faut pas la mettre ?
et la ligne while(!kbhit()); me permet de garder le resultat a l'ecran car autrement ma fenetre dos s'en va des que je tape les deux chiffres et pas le temps de voire le resultat !!!
merci encore
et la ligne while(!kbhit()); me permet de garder le resultat a l'ecran car autrement ma fenetre dos s'en va des que je tape les deux chiffres et pas le temps de voire le resultat !!!
merci encore
Tu ne vois pas pourquoi ?
Dans le premier case 1: tu définis : int resultat; et dans le deuxième case, tu remets int resultat.
Le compilateur ne sait pas quoi faire car tu définis une variable deux fois. Il faut juste la définir une et une seule fois.
Pour le while(!kbhit()); je te conseille dans ce cas de l'enlever et de mettre avant : getchar(); getchar(); avant le return;
Le premier getchar() enlèvera le '\n' stocké dans le buffer clavier lors des scanf. Le deuxième attendra que tu appuies sur une touche suivi de entrée pour continuer.
Cdlt
Dans le premier case 1: tu définis : int resultat; et dans le deuxième case, tu remets int resultat.
Le compilateur ne sait pas quoi faire car tu définis une variable deux fois. Il faut juste la définir une et une seule fois.
Pour le while(!kbhit()); je te conseille dans ce cas de l'enlever et de mettre avant : getchar(); getchar(); avant le return;
Le premier getchar() enlèvera le '\n' stocké dans le buffer clavier lors des scanf. Le deuxième attendra que tu appuies sur une touche suivi de entrée pour continuer.
Cdlt
kbhit() n'est pas portable contrairement à getchar();
Ce qui veut dire qu'avec la version kbhit ton programme ne tournera que sur Windows qu'alors avec getchar(), il fonctionnera sur tous les systèmes d'exploitation (Windows, Gnu/Linux, Mac OS X, ...).
Autant prendre les bonnes habitudes dès le début ;-))).
Ce qui veut dire qu'avec la version kbhit ton programme ne tournera que sur Windows qu'alors avec getchar(), il fonctionnera sur tous les systèmes d'exploitation (Windows, Gnu/Linux, Mac OS X, ...).
Autant prendre les bonnes habitudes dès le début ;-))).