Programme c max

hkm -  
mype Messages postés 2449 Statut Membre -
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);
}}}
A voir également:

7 réponses

Doctor C Messages postés 648 Statut Membre 399
 
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
hkm
 
j'ai esseyer de metre des parentheses dans chaque if mais sa marche pas ,esque quelqu'un pourai m'aider
0
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
hkm
 
sa marche pas , je sais pas , j'y arrive pas ,g beau changer de paranthese mais rien , ! aidez moi svp
0

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

Posez votre question
sfel Messages postés 1645 Statut Membre 430
 
non, mais tu vois que l'accolade ligne 26 par exemple n'as aucune raison ....
0
hkm
 
je sais je sais ,je lé laisser comme il est , g fait certaine rectification , il c arrété a une faute ,
0
mype Messages postés 2449 Statut Membre 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