C et "else if"
Etudiant_001
-
mr05j Messages postés 343 Statut Membre -
mr05j Messages postés 343 Statut Membre -
Bonjour,
Voici un code source :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
int main()
{
int poids;
int taille;
int imc;
printf("\t\tCALCUL DE L'IMC by Hadrien\n\n\n\n");
printf("Quel est votre poids (en Kg) ? :\n");
scanf("%d",&poids);
printf("Quelle est votre taille (en cm) ? :\n");
scanf("%d",&taille);
printf("\n\n");
imc=poids/taille^2;
printf("Votre IMC est de :%d\n",imc);
if (imc<=0);
{
printf("Ton IMC est sous/ou egal a 0 ! Tu devrais etre mort(e) !\n");
}
else if (imc<=16);
{
printf("Ton IMC se trouve entre 1 et 16 ! Tu es en denutrition ! MANGE MIEUX !\n");
}
else if (imc<=19);
{
printf("Ton IMC se trouve entre 17 et 19 ! Tu es maigre !\n");
}
else if (imc<=25);
{
printf("Ton IMC se trouve entre 20 et 25 ! Tu es normal(e) !\n");
}
else if (imc<=30);
{
printf("Ton IMC se trouve entre 26 et 30 ! Tu es en surpoids !\n");
}
else if (imc<=35);
{
printf("Ton IMC se trouve entre 31 et 35 ! Tu es moderement obese !\n");
}
else if (imc<=40);
{
printf("Ton IMC se trouve entre 36 et 40 ! Tu es severement obese ! Fais gaffe...\n");
}
else (imc>=41);
{
printf("Ton IMC est spuperieur a 40 ! Tu es en obesite morbide ! MAIGRIS !\n");
}
getch();
return 0;
}
A la ligne en gras et les autres else if, j'ai cette erreur :
error: 'else' without a previous 'if'
Pourriez vous m'aider ? Merci c'est urgent !
Voici un code source :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
int main()
{
int poids;
int taille;
int imc;
printf("\t\tCALCUL DE L'IMC by Hadrien\n\n\n\n");
printf("Quel est votre poids (en Kg) ? :\n");
scanf("%d",&poids);
printf("Quelle est votre taille (en cm) ? :\n");
scanf("%d",&taille);
printf("\n\n");
imc=poids/taille^2;
printf("Votre IMC est de :%d\n",imc);
if (imc<=0);
{
printf("Ton IMC est sous/ou egal a 0 ! Tu devrais etre mort(e) !\n");
}
else if (imc<=16);
{
printf("Ton IMC se trouve entre 1 et 16 ! Tu es en denutrition ! MANGE MIEUX !\n");
}
else if (imc<=19);
{
printf("Ton IMC se trouve entre 17 et 19 ! Tu es maigre !\n");
}
else if (imc<=25);
{
printf("Ton IMC se trouve entre 20 et 25 ! Tu es normal(e) !\n");
}
else if (imc<=30);
{
printf("Ton IMC se trouve entre 26 et 30 ! Tu es en surpoids !\n");
}
else if (imc<=35);
{
printf("Ton IMC se trouve entre 31 et 35 ! Tu es moderement obese !\n");
}
else if (imc<=40);
{
printf("Ton IMC se trouve entre 36 et 40 ! Tu es severement obese ! Fais gaffe...\n");
}
else (imc>=41);
{
printf("Ton IMC est spuperieur a 40 ! Tu es en obesite morbide ! MAIGRIS !\n");
}
getch();
return 0;
}
A la ligne en gras et les autres else if, j'ai cette erreur :
error: 'else' without a previous 'if'
Pourriez vous m'aider ? Merci c'est urgent !
5 réponses
Bonjour,
imc=poids/taille^2;
Attention taille^2 ne veut pas dire taille au carré en C. Il s'agit du Xor...
Fais plutôt taille*taille;
else if (imc<=16);
Pas de point virgule (;) après ton else if. Tu as répété l'erreur plusieurs fois.
else (imc>=41);
Pourquoi tu mets else sans if alors que tu mets une condition ?
De plus pas besoin de mettre de condition, si tu arrives dans le if, t'as la certitude que imc soit supérieur strictement à 40.
Donc simplement : else (pas de point virgule non plus)
De plus pourquoi avoir inclue math.h alors que tu ne te sers d'aucunes fonctions de ce header ?
imc=poids/taille^2;
Attention taille^2 ne veut pas dire taille au carré en C. Il s'agit du Xor...
Fais plutôt taille*taille;
else if (imc<=16);
Pas de point virgule (;) après ton else if. Tu as répété l'erreur plusieurs fois.
else (imc>=41);
Pourquoi tu mets else sans if alors que tu mets une condition ?
De plus pas besoin de mettre de condition, si tu arrives dans le if, t'as la certitude que imc soit supérieur strictement à 40.
Donc simplement : else (pas de point virgule non plus)
De plus pourquoi avoir inclue math.h alors que tu ne te sers d'aucunes fonctions de ce header ?
Pas de point virgule dans les if, else et else if.
else if (imc<=16); doit devenir
else if (imc<=16)
imc=poids/taille^2;
Attention ^2 ne veut pas dire carré en C mais xor. Mets plutôt taille*taille;
else (imc>=41);
Pourquoi mettre une condition sans if ? En plus pas besoin de condition, si tu arrives dans le else c'est que imc est supérieur strictement à 40.
Donc faut simplement mettre else (sans point virgule).
Et enfin pourquoi utiliser math.h alors que tu ne t'en sers pas ?
Cdlt,
else if (imc<=16); doit devenir
else if (imc<=16)
imc=poids/taille^2;
Attention ^2 ne veut pas dire carré en C mais xor. Mets plutôt taille*taille;
else (imc>=41);
Pourquoi mettre une condition sans if ? En plus pas besoin de condition, si tu arrives dans le else c'est que imc est supérieur strictement à 40.
Donc faut simplement mettre else (sans point virgule).
Et enfin pourquoi utiliser math.h alors que tu ne t'en sers pas ?
Cdlt,
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question