Programme c max

hkm -  
mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
g un probleme pour compiler se programe qui determine le max de 3 nombres reels, mais g un probleme aparament , esque quelqu'un pourai me dire ou se trouve la faute , je sais que c un truc d'acolade , mais je trouve , merci pour l'aide :

#include<stdio.h>
void main()
{
float a,b,c,max;
printf("entrez les valeur de a , b et c");
printf("\n a= ");
scanf("%f",&a);
printf("\n b= ");
scanf("%f",&b);
printf("\n c= ");
scanf("%f",&c);
if(a>b)
{ if(b>c)
max=a;
printf("max=%f",a);

else max=a;
printf("max=%f",a);
{
else
if(a>c)
{ max=b
printf("max=%f",b); }
{ else max=b;
printf("max=%f",b);
}
if(c>a)
{ if(b>a)
max=c;
printf("max=%f",c);
else max=c;
printf("max=%f",c);
}}}
Configuration: Windows XP sp2
Internet Explorer 6.0

7 réponses

  1. Doctor C Messages postés 630 Date d'inscription   Statut Membre Dernière intervention   400
     
    tes if sont pas très bien structurés...

    un petit truc, même si un if ne possède qu'une seule instruction, met quand même des parenthèses, ça évite les erreurs

    il y a tellement de if et de else sans parenthèses dans ton code que je peux pas vraiment comprendre ta logique.

    Met des parenthèses et tu y verras plus clair.
    Si tu ne vois toujours pas, repost ton code ici.
    0
  2. hkm
     
    j'ai esseyer de metre des parentheses dans chaque if mais sa marche pas ,esque quelqu'un pourai m'aider
    0
  3. sfel Messages postés 1645 Statut Membre 430
     
    bonsoir,
    voilà ton code,

    tu comprends qu'il ne peux pas marché (je n'ai rien rajouté, ni rien retiré, juste tabulé, et aller a la ligne...

    #include<stdio.h>
    
    void main()
    {
    	float a,b,c,max;
    	
    	printf("entrez les valeur de a , b et c");
    	printf("\n a= ");
    	scanf("%f",&a);
    	printf("\n b= ");
    	scanf("%f",&b);
    	printf("\n c= ");
    	scanf("%f",&c);
    	if(a>b)
    	{
    		if(b>c)
    			max=a;
    			
    		printf("max=%f",a);
    
    		else
    			max=a;
    			
    		printf("max=%f",a);
    		
    		{
    			else
    				if(a>c)
    				{
    					max=b
    					printf("max=%f",b);
    				}
    				
    			{
    				else
    					max=b;
    				printf("max=%f",b);
    			}
    			
    			if(c>a)
    			{
    				if(b>a)
    				max=c;
    				printf("max=%f",c);
    				
    				else
    					max=c;
    					
    				printf("max=%f",c);
    			}
    		}
    	}


    déjà ton main est pas fermé...
    0
  4. hkm
     
    sa marche pas , je sais pas , j'y arrive pas ,g beau changer de paranthese mais rien , ! aidez moi svp
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sfel Messages postés 1645 Statut Membre 430
     
    non, mais tu vois que l'accolade ligne 26 par exemple n'as aucune raison ....
    0
  7. hkm
     
    je sais je sais ,je lé laisser comme il est , g fait certaine rectification , il c arrété a une faute ,
    0
  8. mype Messages postés 2459 Date d'inscription   Statut Membre Dernière intervention   437
     
    c'est un probleme d'accollade que tu as
    essaye ça
    #include<stdio.h>
    
    void main()
    {
    	float a,b,c,max;
    
    	printf("entrez les valeur de a , b et c");
    	printf("\n a= ");
    	scanf("%f",&a);
    	printf("\n b= ");
    	scanf("%f",&b);
    	printf("\n c= ");
    	scanf("%f",&c);
    	if(a>b)
    	{
    		if(b>c)
    		{
    			max=a;
                                 printf("max=%f",a);                      
                         }
                else
                    {
                        if(a>c)
                        {
                            max=a;
                            printf("max=%f",a);
                        }
                            else
                            {
                                max=c;
                                printf("max=%f",c);
                            }
                    }
    	}
                else
                {
                    if(b>c)
                    {
                        max=b;
                        printf("max=%f",b);
                    }
                        else
                        {
                            max=c;
                            printf("max=%f",c);
                        }
                }
    }
    
    

    mais tu te complique la vie on peut reduire les lignes de code par deux et plus le code est court plus on evite les erreurs...
    0