Syntax error dans Dev-c++

Résolu/Fermé
kakashi-sensei - 25 juin 2009 à 00:47
 kakashi-sensei - 26 juin 2009 à 02:15
Bonjour,
j'apprend a programmer en C , et je suis dans un cour des Conditions , en m'entrainant a faire un petit essaie j'ai eu quelques erreurs.
voici le programme :

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int omar = 0;
printf("chhal nawi tjib fljihawi? :"); // ca demande une note d'un exam
scanf("%lf",&omar);
if ( omar <= 10.99 ); // si elle est moi de 10.99 y'aura ce message et ainsi de suite .
{
printf(" seeer t9awd ser nta rak sal7 hi 3assas ola kiyyas idik fih ");
}
else if ( omar <= 13.99);
{
printf(" wa mabikch w safi , s3ib bach tzatta m3a mhom taliyetha t9wida ola ila kan 3ndk chi zhar o safi ");
}
else if ( omar <= 17.00 )
{
printf(" nta mzian 3andak mosta9bal mzian inchallah walakin mai3ajbakch rask bali tgles 3lih 9ad rask xD");
}
else
{
printf("ser lah in3al lkeddaba dl9a7ba dammok yazamml yawld 9a7ba la3nat laho 3alik ser tchof li ihwik");
}
system("PAUSE");
return 0;
}
et ça me donne "syntax error before else deux fois " et " syntax error before string constant" et " 25 "[Warning] data definition has no type or storage class "
j'ai révisé je n'es détecté aucune erreur , svp ne me corrigez pas , dites moi OU est l'erreur , je veux le corriger moi même , et merci d'avance.
A voir également:

5 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
25 juin 2009 à 06:16
Salut,
Tu as mis des points-virgules après certains if et else if alors qu'il n'en faut pas.
Cdlt
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
25 juin 2009 à 09:00
Ah et j'oubliais mets plutôt double omar puisque tu raisonnes en double.
1
kakashi-sensei
25 juin 2009 à 20:00
oui , merci j'ai enlevé les ";" y'avait aussi un autre truc , j'ai déclaré une variable int en demandant au utilisateur un numero avec "%lf" XD j'ai donc mis "double" puisque je demande un nombre décimal , j'ai aussi mis la variable omar entre 2 nombres.
juste un truc , j'ai pas compris ça "met plutôt double omar puisque tu raisonnes en double." vous pouvez m'expliquer svp Fiddy?
1
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 844
25 juin 2009 à 23:39
Ben tu as mis "int omar" scanf("%lf",&omar). Il faut déclarer omar en double.
Ce qui donne : double omar;
0
Char Snipeur Messages postés 9813 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 298
25 juin 2009 à 08:25
Salut.
Normalement, DevCpp te donne la ligne qui merde. Bon, des fois ça peut être un peu avant ou après, mais tu as la zone.
Pour compléter la réponse de fiddy, un bloc if se construit ainsi :
if( /*condition booléenne*/)
{
// des instructions, toutes terminé par un ";"
}
else
{
// d'autre instructions
}
//suite du programme
Les accolades sont facultative, mais dans ce cas le if ou else ne portera que sur la première instruction qui suivra.
if, for, do, while, sont des mots clé du langage et non des instruction, pas besoin de les terminer par des ";".
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kakashi-sensei
26 juin 2009 à 02:15
je comprend ça marche bien merci bcp et dsl pour le derangement
0