Bom galera,
Agrade�o a ajuda de todos, por�m nada do que vcs me falaram funcionou.
Tentei utilizar as fun��es pow(x,y) e sqrt(x,y) da biblioteca math.h,
tentei utilizar os operadores x^y e x**y e tamb�m n�o funcionou. N�o
lembro das aulinhas de matem�tica e n�o consigo fazer utilizando com o
for ... Vejam os erros que s�o gerados quando utilizo as dicas que me
foram passadas:
*** Utilizando as fun��es pow() e sqrt()
gcc raizeseq.c -o raizeseq
raizeseq.c: In function `main':
raizeseq.c:11: warning: return type of `main' is not `int'
/tmp/ccVXafS2.o: In function `main':
/tmp/ccVXafS2.o(.text+0x156): undefined reference to `pow'
/tmp/ccVXafS2.o(.text+0x1b8): undefined reference to `sqrt'
/tmp/ccVXafS2.o(.text+0x210): undefined reference to `sqrt'
collect2: ld returned 1 exit status
*** Utilizando operadores
gcc raizeseq.c -o raizeseq
raizeseq.c: In function `main':
raizeseq.c:40: invalid operands to binary ^
raizeseq.c:48: invalid type argument of `unary *'
raizeseq.c:11: warning: return type of `main' is not `int
Abaixo segue a listagem do programa:
/*
Programa: raizeseq
Funcao..: Calcular as raizes da equacao do segundo grau
*/
/* Bibliotecas Externas */
#include <stdio.h> /* Biblioteca de Entrada e Saida Padrao */
#include <math.h> /* Biblioteca de Funcoes Matematicas */
void main(void) {
/* Declaracao das variaveis */
char resposta[2]; /* Verifica se o usuario deseja escolher outros
coeficientes */
double a = 0; /* Coeficiente de x^2 */
double b = 0; /* Coeficiente de x */
double c = 0; /* Termo independente */
double delta = 0; /* Delta para calculo das raizes */
double x[2] = {0,0}; /* Raizes da equacao */
double aux = 0;
/* Faz a leitura dos coeficientes da equacao */
do {
printf("\nPor favor, digite os coeficientes da equacao:\n\n");
printf("(x^2) ");
scanf("%f", &a);
printf("x ");
scanf("%f", &b);
printf("Termo Independete ");
scanf("%f", &c);
printf("\nEquacao resultante: %5.5f (x^2) + %5.5f x + %5.5f = 0\n",
a, b, c);
printf("\nConfirma a utilizacao destes coeficientes (S/N)? ");
scanf("%s",&resposta);
getchar();
} while ((resposta[0] == 'n') || (resposta[0] == 'N'));
/* Calcula o Delta */
delta = pow(b,2) - (4 * a * c);
if (delta < 0) {
printf("\nNao existem raizes reais para esta equacao.\n\n");
return;
}
/* Calcula as raizes da equacao */
x[0] = ((b * -1) + sqrt(delta))/(2 * a);
if (delta == 0) {
x[1] = x[0];
} else {
x[1] = ((b * -1) - sqrt(delta))/(2 * a);
}
/* Imprime as raizes da equacao */
if (x[0] != x[1]) {
printf("As raizes da equacao sao:\n\nx1 = %5.5f\nx2 = %5.5f\n\n",x
[0],x[1]);
} else {
printf("A raiz da equacao e:\n\nx1 = x2 = %5.5f\n\n",x[0]);
}
return;
}
Desde j� agrade�o a aten��o e ajuda de todos.
Abra�os,
Roberth.
Assinantes em 23/10/2001: 2384
Mensagens recebidas desde 07/01/1999: 138163
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]