Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hermann Netto

[Código] Programa que resolve Equação de Segundo Grau

Recommended Posts

#include<stdio.h>

#include<stdlib.h>

#include<math.h>

#include<conio.h>

main ()

{

system ("color F0");

float a, b, c, delta, x1, x1f, x2, x2f, Xv, Yv;quest;

 

printf ("\t\tCALCULO DE EQUACAO DO SEGUNDO GRAU");

 

do

{

printf ("\n\n\nInforme o valor de A: ");

scanf ("%f", &a);

printf ("Informe o valor de B: ");

scanf ("%f", &b);

printf ("Informe o valor de C: ");

scanf ("%f", &c);

 

delta=pow(b,2)-4*a*c;

 

if (delta<0)

{

printf ("\nDelta e igual a %.2f", delta);

printf ("\n\nDelta Negativo, impossivel calcular.\n\n");

}

else

{

printf ("\nDelta e igual a %.2f\n", delta);

x1=((-B)+sqrt(delta))/(2*a);

x2=((-B)-sqrt(delta))/(2*a);

printf ("\nO x1=%.2f e o x2=%.2f\n\n", x1, x2);

Xv=-b/(2*a);

Yv=-(delta)/(4*a);

printf ("\nO Xv=%.2f e o Yv=%.2f\n\n", Xv, Yv);

}

printf ("\n\nDeseja informar nova equacao?");

printf ("\n[1] - SIM");

printf ("\n[2] - NAO");

printf ("\nSua escolha: ");

scanf ("%d", &quest);

}

while (quest==1);

printf ("\n\n\t\tFeito por Hermann Miertschink\n\n");

system ("pause");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando delta é menor que zero, não é impossível calcular as raízes. Elas não existem!

 

if (delta<0)
	{
	   printf ("\nDelta e igual a %.2f", delta);
	   printf ("\n\nDelta Negativo, impossivel calcular.\n\n"); // raizes nao existem
	}
	else

Ficou legal seu código,

é isso ai!

 

Valeu por contribuir com o fórum!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hermann Netto tive olhando seus códigos, muito bom e creio que muitos vão aprender, mas pra ficar show de bola, ñ sei se você ja observou mas verifica as seguintes linhas:

float a, b, c, delta, x1, x1f, x2, x2f, Xv, Yv;quest;

tira akele ; antes de sua variável quest e coloca uma ,

 

printf ("\n[2] - NAO");
*
*
*
while (quest==1);

seu (do - while) ñ esta respondendo mediante a opção do usuário caso o mesmo informe 1

uma forma de ficar legal seria

printf ("\n[0] - NAO");

*

*

*

while (quest!=0);

 

 

 

Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Velho, você rodou esse código antes de postar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu achei que esse erro foi proposital.

Se voce colocar b seguindo de fecha parenteses resulta nisso: B)

 

Para funcionar certo tem que desabilitar os emoticons.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa pessoal..

vlw pelas dicas...

 

Testei o código sim... tah completamente funcional aqui.

to analisando aqui de novo...

No caso do ";", acho que deu erro na hora de passar o código para ká... no meu programa mesmo, essa parte se encontra assim...

"

float a, b, c, delta, x1, x1f, x2, x2f, Xv, Yv;

int quest;

"

No caso do "B", aqui tá "b"..

não sei por que mudou...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando delta é menor que zero, não é impossível calcular as raízes. Elas não existem!

A Matemática alega que existem, mas são imaginárias. Isso sempre me pareceu contraditório... :unsure:

Enfim, questões filosóficas... :lol: Não sei se a Matemática foi infeliz em colocar o nome "Conjunto Imaginário" ou a nossa concepção de existência é distorcida e inconstante... talvez meu amigo imaginário exista! :lol:

 

Ficou legal o código. Só não vi onde foram usadas as variáveis x1f e x2f... :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

OPa..

realmente..

x1f e x2f não são necessarios.

Eles ainda estão aí, pois antes, eu calculava x' e x'' em dois passos.

Depois que mudei acabei esquecendo de remover estas variáveis.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#include<conio.h>
main ()
{
	system ("color F0");
	float a, b, c, delta, x1, x1f, x2, x2f, Xv, Yv;
	int quest;
	printf ("\t\tCALCULO DE EQUACAO DO SEGUNDO GRAU");
	
	do
	{
	printf ("\n\n\nInforme o valor de A: ");
	scanf ("%f", &a);
	printf ("Informe o valor de B: ");
	scanf ("%f", &b);
	printf ("Informe o valor de C: ");
	scanf ("%f", &c);		 

	delta=pow(b,2)-4*a*c;

	if (delta<0)
	   {
	   printf ("\nDelta e igual a %.2f", delta);
	   printf ("\n\nDelta Negativo, impossivel calcular.\n\n"); 
	   }
	else 
	   {
	   printf ("\nDelta e igual a %.2f\n", delta);
	   x1=((-B)+sqrt(delta))/(2*a);
	   x2=((-B)-sqrt(delta))/(2*a);
	   printf ("\nO x1=%.2f e o x2=%.2f\n\n", x1, x2);
	   Xv=-b/(2*a);
	   Yv=-(delta)/(4*a);
	   printf ("\nO Xv=%.2f e o Yv=%.2f\n\n", Xv, Yv);
	   }
	printf ("\n\nDeseja informar nova equacao?");
	printf ("\n[1] - SIM"); 
	printf ("\n[2] - NAO");
	printf ("\nSua escolha: "); 
	scanf ("%d", &quest);
	}
	while (quest==1);
	printf ("\n\n\t\tFeito por Hermann Miertschink\n\n");
	system ("pause");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Hermann Netto tive olhando seus códigos, muito bom e creio que muitos vão aprender, mas pra ficar show de bola, ñ sei se você ja observou mas verifica as seguintes linhas:

float a, b, c, delta, x1, x1f, x2, x2f, Xv, Yv;quest;

tira akele ; antes de sua variável quest e coloca uma ,

 

printf ("\n[2] - NAO");
*
*
*
while (quest==1);

seu (do - while) ñ esta respondendo mediante a opção do usuário caso o mesmo informe 1

uma forma de ficar legal seria

printf ("\n[0] - NAO");

*

*

*

while (quest!=0);

 

 

 

Espero ter ajudado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Na verdade tem q declarar "quest"como "int" , ai o do while funciona

while (quest ==1); com isso digitando a opção 1 vai para nova equação e 2 ou qualquer outro numero fecha o programa.

Compartilhar este post


Link para o post
Compartilhar em outros sites
A Matemática alega que existem, mas são imaginárias. Isso sempre me pareceu contraditório...

 

Esse lance de número imaginário p/ descrever a+bi é coisa de Descartes.

O nome correto é número complexo. Um número imaginário é um número complexo com a parte real igual a zero.

 

 

#include <stdio.h>
#include <math.h>
#include <complex.h>


int main() {
 float A,B,C;

 printf("Valor de A: ");
 scanf("%f",&A);

 printf("Valor de B: ");
 scanf("%f",&B);

 printf("Valor de C: ");
 scanf("%f",&C);


 float DELTA = B*B-4*A*C;
 float raizes[2];
 complex craizes[2];

 if (!DELTA) {
raizes[0] = raizes[1] = A/2;
printf("RAIZ UNICA: \n %0.2f\n", raizes[0]);

 } else if (DELTA > 0) {

float RAIZ = sqrtf(DELTA);

raizes[0] = (A*A + RAIZ)/2*A;
raizes[1] = (A*A - RAIZ)/2*A;

printf("RAIZES:\n");
printf("R1 = %0.2f \t R2 = %0.2f\n", raizes[0], raizes[1]);

 } else {

complex RAIZ = csqrtf((complex)DELTA);

craizes[0] = ((complex)(A*A) + RAIZ) / (complex)2*A;
craizes[1] = ((complex)(A*A) - RAIZ) / (complex)2*A;

printf("RAIZES COMPLEXAS:\n");

printf("R1 = %9.2f %c %0.2f * i\n", creal(craizes[0]), (cimag(raizes[0])<0)? '-' : '+', cimag(craizes[0]));
printf("R2 = %9.2f %c %0.2f * i\n", creal(craizes[1]), (cimag(raizes[1])<0)? '+' : '-', cimag(craizes[1]));

 }
 return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.