Boa tarde pessoal, estou fazendo um programa no qual tenho que resolver uma equação do segundo grau e tem aquelas regras para com o valor de delta, se delta > 0 tem duas raízes se delta = 0 uma raiz e se delta < 0 nenhuma raiz, pois bem quando o número da positivo o comando funciona e resolve do jeito que eu quero porém quando o delta é = a zero ou menor o programa lê o resultado mas não mostra o que tem que será impresso depois:
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
float n1, n2 ,n3, d, r, r1, v, V;
main () {
setlocale (LC_ALL, "Portuguese");
printf ("Insira os valores na seguinte ordem a²,b e c.\n");
scanf ("%f %f %f", &n1, &n2, &n3);
d=(n2*n2)-(4*n1*n3);
v=-n2/(2*n1);
V=-d/(4*n1);
printf ("%2.f\n",d);
if (d>0){
r = (-n2+sqrt(d))/(2*n1);
r1 = (-n2-sqrt(d))/(2*n1);
printf ("O valor de delta é:%.2f\n",d);
printf ("O valor das vértices são %.2f e %.2f.\n", v, V);
printf ("O valor das raízes são %.2f e %.2f.\n",r, r1);
}
if (d=0){
r = (-n2+sqrt(d))/(2*n1);
printf ("O valor de delta é:%.2f\n",d);
printf ("O valor das vértices são %.2f e %.2f.\n", v, V);
printf ("O valor da raíz são %.2f.\n",r);
}
if (d<0){
printf ("O valor de delta é:%.2f\n",d);
printf ("O valor das vértices são %.2f e %.2f.\n", v, V);
printf ("Não existe raíz quando delta for negativo");
}
}