Condition imbriquée

cesar-moad Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour, pour les amis de jour
Bonsoir pour les amis de soir

Bon voila mon programme mais j'ai une faute que je peux pas resoudre
alors j'espere que vous pourriez m'aider ^_^

voila le programme:


#include<stdio.h>
#include<conio.h>

int main()
{
int a,b;
printf("entrez a et b \n ");
scanf("%d%d",&a,&b);
if a=0
if b=0
printf("Toutes les solutions sont possibles \n ");
else
printf("Il n'y a pas de solutions dans R \n ");
else
printf("la solution est: \n ",-b/a);
getch();
return 0;
}

d'après la compilation la faute est dans la 9eme ligne, ça veut dire la condition "if a=0"
mais s'il y a une faute avant ou après, merci d'attirer mon attention .
P.S: c'est la version 4.9.9.0
Merci d'avance

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Les conditions doivent être entre parenthèses, de plus la comparaison c'est avec l'opérateur == pas =, enfin si tu veux imbriquer des conditions il faut expliciter cette imbrication avec des accolades.

if (a==0)
{
    if (b==0)
        printf("Toutes les solutions sont possibles\n");
    else
        printf("Il n'y a pas de solutions dans R\n");
}
else
     printf("la solution est:\n",-b/a);
1
cesar-moad Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
depuis votre réponse, j'ai acquis de nouvelle info
mais malheureusement ça marche encore pas!!



le voila apres "MAJ"



#include<stdio.h>
#include<conio.h>

int main()
{
int x,a,b;
printf("entrez a et b \n ");
scanf("%d%d",&a,&b);
x=-b/a;

if (a==0)
{
if (b==0)
printf("Toutes les solutions sont possibles \n ");
else
printf("Il n'y a pas de solutions dans R \n ");
}
else
{
printf("la solution est:%d \n ",x);
}
getch();
return 0;
}



si je fais entre a=0 et b=0
ou bien a=0 et b="nombre quelconque"
le programme s'arrete sous a cause d'une erreur

sinon si je fais entrer des valeurs "entieres"ca me donne la resolution est egal a -b; et pas -b/a
alors je cherche encore la solution!
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Si tu fais la division par a avant de vérifier qu'il est égal ou non à 0 forcément ça va planter dans ce cas là, donc au niveau des calculs ton premier programme était mieux.
De plus, je doute que ce que tu veuilles soit un calcul d'entiers, x devrait plutôt être float ou double
0
cesar-moad Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
mon programme consiste à résoudre des équations de 1er degres, mais je trouve plein de faute que je peux pas jusqu'à maintenant les resoudre!!
alors ca sera gentil de corriger mon programme de A à Z *___*"
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Si tu reprends ton code de départ, avec mes modifications, ça compile, et ça fonctionne presque, tu as juste oublié le % dans l'affichage printf("la solution est:\n",-b/a); mais sinon c'est correct.
0