Início > Programando em C - Códigos & Experiências > C: Pequeno programa que resolve equações de 2º grau.

C: Pequeno programa que resolve equações de 2º grau.

Existem milhares desses pela internet, feitos por programadores iniciantes (como eu).Pra quem tem interesse, postei aqui a minha versão, bem comentada.
Código:
=====================================

/* 01equ_seg.c. Programa para resolver equações de segundo grau
* poucas funções, pode ser escrito de forma diferente
* para compilar no linux (gcc), use o comando -lm para que
* o compilador possa reconhecer as funções da biblioteca "math.h"
*/
#include 
#include 
int main(void)  //(1)
{
float a,b,c; 				      //(2)
float delta;  				      //(3)
char deposito[80]; 			      //(4)
system("clear");                              //(5)
printf("==============================\n");
printf("Programa equ_seg.c, destinado a resolver equacoes de segundo grau.n");
printf("==============================\n");
printf("\n");
printf("%s\n", "Equação de segundo grau ax²+bx+c");
printf("%s\n", "Digite o coeficiente de a: ");
fgets(deposito, sizeof(deposito), stdin);     //(6)
sscanf(deposito, "%f", &a);                   //(7)
printf("%s\n", "Digite o coeficiente de b: ");
fgets(deposito, sizeof(deposito), stdin);
sscanf(deposito, "%f", &b);
printf("%s\n", "Digite o coeficiente de c: ");
fgets(deposito, sizeof(deposito), stdin);
sscanf(deposito, "%f", &c);
printf("Equação final: %.fx²+%.fx+%.f\n",a,b,c);
delta = b*b-4*a*c;                            //(8)
if (delta>=0)                                 //(9)
{
printf("As raizes da equacao sao:\n");
printf(" x1 = %.2f\n", ((-b +sqrt(delta)/2*a)));  //(10)
printf(" x2 = %.2f\n", ((-b -sqrt(delta)/2*a)));  //(11)

}
else  printf("A equação não tem raizes reais\n");
getchar();
}
/*
(1)  função principal, sem valor de retorno(void)
(2)  inicialização das variáveis que armazenarão os coeficientes
(3)  variável que armazenará o valor de delta
(4)  variável com valores temporários da função fgets(), com o tamanho de 80 (números de caracteres que cabem em uma linha.
(5)  executa o comando do sistema "clear" (no windows, "cls)
(6)  obtém o valor do coeficiente de a
(7)  transforma o valor obtido acima em float e o atribui ao endereço de memória(&) da variavel a.
(8)  calcula o valor de delta
(9)  verifica se delta é maior que zero, ou seja, se a equação tem raizes reais
(10) aplica a formula de baskara e imprime na tela a 1ª raiz de X
(11) aplica a formula de baskara e imprime a 2ª raiz de X;
*/

Bom, é isso.

[]’s

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: