Ir para conteúdo
Fórum Script Brasil

sfmaciel

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Tudo que sfmaciel postou

  1. Vamos lá woogie, talvez isso solucione seu problema. Acredito que seja um problema de faculdade estou certo?? Esse codigo funciona. #include <stdio.h> #include <math.h> #define pe 30.48 #define pol 2.54 int main() { float metro,resto,polegadas,centimetro,pes; printf ("Digite o valor em metros:\n"); scanf ("%f", &metro); centimetro = metro * 100; pes = centimetro / pe; polegadas = centimetro / pol; printf( "Valor correspondente em pes: %f\n", pes ); printf ("e em polegadas : %f\n\n", polegadas); //Essa parte acredito que não precisa no seu programa, mas vale a pena entender o funcionamento; resto = fmod( (double )centimetro, pe); polegadas = resto / pol; printf( "Valor correspondente: %d pes e %f polegadas ", (int)pes, polegadas ); return 0; } Vamos aos comentários: Quando você coloca pes = centimetro / pe esta dividindo um float por um double ( o pe é double quando declarado como #define ) e o resultado será float( acho que é isso, o cast é automatico para o menor tipo, estude um pouco de cast ) . Se a variavel que recebe o resultado da divisão for inteira, como você fez, o sistema despreza a parte decimal, ou seja, faz um cast para inteiro. Colocando pes como float, você conserva a parte decimal ao fazer a divisão e com isso o resultado exibido é correto; Para obter as polegadas basta dividir centimetros / pol. Apenas lembre-se que esses valores do enunciado do problema são: 30,48 -> 1 pé = 30,48 cm, logo qualquer valor em cm dividido por 30,48 dá o resultado em pé. 2,54 -> 1 polegada = 2,54 cm, da mesma forma, qualquer valor em cm dividido por 2,54 dá o resultado em polegada. A ultima parte que acho q você não precisava faz o resultado em pé e polegada, esse é o padrão de medida americano, perceba que na NBA colocam a altura do jogador como 6' e 5", ou seja, 6 pés + 5 polegadas +/- 1,92m. O operador fmod que está na biblioteca math.h calcula o resto da divisão, logo, ele calcula o resto da divisao do valor digitado por 30,94, esse valor é dividiro por 2,54 para obter a quantidade de polegadas. na hora de escrever, printf() tem o (int)pes, isso apenas "separa" (cast) a parte inteira do pes. O que o Mnemonic sugere, esse valor 0,3937, é apenas 1/2,54, ou seja, ao invés de você dividir os centimetros por 2,54, você multiplica por 0,3937.. beleza? Acho q sua questao era mais de Matemática que de programação, isso sempre acontece nos problemas de faculdade....
  2. Faltavam pequenos detalhes. Para ficar melhor pode-se antes verificar se o triangulo existe, veja detalhes em http://www.mundoeducacao.com.br/matematica...m-triangulo.htm main() { int a, b, c; printf("<><><><><><>CLASSIFICANDO TRIANGULOS QUANTO AOS LADOS<><><><><>\n"); while( 1 > 0 ) { printf("\nEntre com o valor dos lados A, B e C do triangulo:\n"); scanf("%d", &a); scanf("%d", &b); scanf("%d", &c); if ((a == b)&&(b == c)) { printf("\nO Triangulo e Equilatero\n "); } else if ((a != b)&&(a != c)&&(b != c)) { printf("\nO Triangulo e Escaleno\n "); } else { printf("\nO Triangulo e Isoceles"); } } return (0); }
×
×
  • Criar Novo...