Dar3_D3vil Posted November 8, 2005 at 09:55 PM Report #6486 Posted November 8, 2005 at 09:55 PM Desenvolva um programa que efectua a leitura do comprimento dos dois catetos de um triângulo rectângulo. O programa deve calcular e deve apresentar: a) O comprimento da hipotenusa b) O perímetro do triângulo c) A área do triângulo d) O ângulo entre o cateto com a maior dimensão e a hipotenusa. na parte d a converter de radianos pa graus, este prog erra nas contas. Se puderem ver se encontram o erro, agradecia. Se encontrarem agradecia uma breve explicaçao. Aki ta o codigo fonte: /* triangulo */ #include <stdio.h> #include <math.h> #define M_E int main (void) { float cat1; float cat2; float hip; float Perimetro; float Area; float Angulor; float Angulog; float PI; int graus=0; float min; int minutos=0; float segundos; float x; float y; printf("Introduza o valor do cateto de maior tamanho\n"); scanf("%f",&cat1); if (cat1 < 0){ printf("O valor que introduziu é inválido!!!\nFim do programa!\n"); return -1; } printf("Introduza o valor do cateto de menor tamanho\n"); scanf("%f",&cat2); if (cat2 < 0){ printf("O valor que introduziu é inválido!!!\nFim do programa!\n"); return -1; } hip = sqrt(pow(cat1,2)+pow(cat2,2)); printf("O valor da hipotenusa é %f\n",hip); Perimetro = hip + cat1 + cat2; printf("O perimetro do triângulo é %f\n",Perimetro); Area = (cat1*cat2)/2.0; printf("A area do triângulo é %f\n",Area); Angulor = asin(cat2/hip); PI = 3.1415; Angulog = (Angulor*180)/PI; x = Angulog -1; while (x >= 1) { x--; graus++; } min = (Angulog - graus)/60.0; y = min - 1; while (y >= 1) { y--; minutos++; } segundos = (y - minutos)/60.0; printf("O valor da angulo entre o maior cateto e a hipotenusa é %dº %d' %f''\n", graus, minutos, segundos); return 0; }
vbmaster Posted November 8, 2005 at 10:43 PM Report #6488 Posted November 8, 2005 at 10:43 PM para faciltitar põe por favor o teu código entre: [ code] e [/ code]
Dar3_D3vil Posted November 8, 2005 at 10:49 PM Author Report #6491 Posted November 8, 2005 at 10:49 PM ja ta. Desculpa la mas sou novo aki e n sabia ixo lol.
will09 Posted November 8, 2005 at 10:56 PM Report #6492 Posted November 8, 2005 at 10:56 PM E isto que keres? k tipo de erro e k te dava????? #include <stdio.h> #include <stdlib.h> #include <math.h> #define M_E int main (void) { float cat1; float cat2; float hip; float Perimetro; float Area; float Angulor; float Angulog; float PI; int graus=0; float min; int minutos=0; float segundos; float x; float y; printf("Introduza o valor do cateto de maior tamanho\n"); scanf("%f",&cat1); if (cat1 < 0){ printf("O valor que introduziu é inválido!!!\nFim do programa!\n"); } printf("Introduza o valor do cateto de menor tamanho\n"); scanf("%f",&cat2); if (cat2 < 0){ printf("O valor que introduziu e invalido!!!\nFim do programa!\n"); } hip = sqrt(pow(cat1,2)+pow(cat2,2)); printf("O valor da hipotenusa é %f\n",hip); Perimetro = hip + cat1 + cat2; printf("O perimetro do triangulo é %f\n",Perimetro); Area = (cat1*cat2)/2.0; printf("A area do triangulo é %f\n",Area); Angulor = asin(cat2/hip); PI = 3.1415; Angulog = (Angulor*180)/PI; x = Angulog -1; while (x >= 1) { x--; graus++; } min = (Angulog - graus)/60.0; y = min - 1; while (y >= 1) { y--; minutos++; } segundos = (y - minutos)/60.0; printf("O valor da angulo entre o maior cateto e a hipotenusa é %dº %d' %f''\n", graus, minutos, segundos); system("PAUSE"); } Espero k ajude PEACE
will09 Posted November 8, 2005 at 10:58 PM Report #6494 Posted November 8, 2005 at 10:58 PM Desclp tava la em cima! radianos e angulos ja n e pa mim! deve ser erro de calculo matemático! MatemátiCA neps... PEACE ;)
Dar3_D3vil Posted November 9, 2005 at 08:18 PM Author Report #6525 Posted November 9, 2005 at 08:18 PM O erro deve tar aki, pk sem esta parte da td bem mas, com isto (conversao de radianos para graus) ja da mal. faz mal a conversao. Angulog = (Angulor*180)/PI; x = Angulog -1; while (x >= 1) { x--; graus++; } min = (Angulog - graus)/60.0; y = min - 1; while (y >= 1) { y--; minutos++; } segundos = (y - minutos)/60.0;
saramgsilva Posted November 11, 2005 at 06:33 PM Report #6604 Posted November 11, 2005 at 06:33 PM ainda nao consegui por bem...mudei algumas coisa no codigo...verifica sff...qdo pedes catetos, assim acho que é mais fixe... #include <stdio.h> #include <math.h> int main () { float cat1; float cat2; float hip; float Perimetro; float Area; float Angulor; float Angulog; float PI; int i,graus=0; float min; int minutos=0; float segundos; float x; float y; double ang; do { printf("Introduza o valor do cateto de maior tamanho\n"); scanf("%f",&cat1); if(cat1<=0) printf("O valor que introduziu é inválido!!!\nFim do programa!\n"); } while(cat1<=0); do { printf("Introduza o valor do cateto de menor tamanho\n"); scanf("%f",&cat2); if(cat2<=0) printf("O valor que introduziu é inválido!!!\nFim do programa!\n"); }while(cat2<=0); hip = sqrt(pow(cat1,2)+pow(cat2,2)); printf("O valor da hipotenusa é %f\n",hip); Perimetro = hip + cat1 + cat2; printf("O perimetro do triângulo é %f\n",Perimetro); Area = (cat1*cat2)/2.0; printf("A area do triângulo é %f\n",Area); // ------ate aqui td ok , ja sabiamos... ---------------------------- ang=(double)( cat2 / hip); printf("o ang=%fl",ang); Angulor = asin( ang ); printf("o angulo da hipotenusa e do cateto maior e' %fl", graus.\n",Angulor); PI = 3.1415; Angulog = (Angulor/180)* PI; printf("o angulo da hipotenusa e do cateto maior e' em radianos %fl.\n ",Angulog); x = Angulog -1; while (x >= 1) { x--; graus++; } min = (Angulog - graus)/60.0; y = min - 1; while (y >= 1) { y--; minutos++; } segundos = (y - minutos)/60.0; printf("O valor da angulo entre o maior cateto e a hipotenusa é %dº %d' %f''\n", graus, minutos, segundos); scanf("%d",&i); return 0; } tinhas um erro aqui Angulog = (Angulor*180)/PI; o correcto é Angulog = (Angulor/180)* PI; a regra de 3 simples estava mal.... 180 esta para PI assim como Angulor esta para Angulog... sei que ainda nao esta bem.. mas nao tou com tempo pra verificar...espero que esse erro ajude a encontrar o proximo... www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Dar3_D3vil Posted November 11, 2005 at 09:16 PM Author Report #6613 Posted November 11, 2005 at 09:16 PM Ok. Thanks!!! Vou ver se da.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now