Ir ao conteúdo
  • Cadastre-se

Programa de brinquedo me ajude por favor em C


eppu

Posts recomendados

Olá Eppu,

o exercício não é difícil cara, basta colocar a cabeça um pouco para funcionar.

Sabendo que seu exercício envolve alguns cálculos matemáticos podemos usar a biblioteca math.h do C.

O que o exercício nos dá:

  1. 4 esferas a venda com tamanhos, 10, 15, 20 e 25 centímetros
  2. Cálculo da diagonal do paralelepipido utilizando pitágoras
  3. Receberemos como entrada largura, altura e comprimento
  4. Deveremos retonar qual a menor embalagem esférica para o usuário
  5. UM PARALELEPÍPIDO SÓ CABE DENTRO DE UMA ESFERA QUANDO SUA DIAGONAL É MENOR QUE O COMPRIMENTO DO DIAMETRO DA ESFERA!

Com isso posto podemos partir para o código em si:

esfera.c


#include <math.h>

//Medidas das esferas, em cm
#define ESFERA_1 10
#define ESFERA_2 15
#define ESFERA_3 20
#define ESFERA_4 25

typedef struct{
int largura;
int comprimento;
int altura;
}Embalagem;

unsigned int diagonal(Embalagem *emb){
unsigned int diagonalRetangulo = 0;
unsigned int diagonalParalelepipido = 0;
//Calcularemos primeiro a diagonal do retangulo
diagonalRetangulo = sqrt(pow(emb->comprimento,2) + pow(emb->largura,2));
diagonalParalelepipido = sqrt(pow(diagonalRetangulo,2) + pow(emb->altura,2));
return diagonalParalelepipido;
}

void recebeValores(Embalagem *emb){
printf("Qual a altura da embalagem? ");
scanf("%d",&emb->altura);
printf("Qual o comprimento da embalagem? ");
scanf("%d",&emb->comprimento);
printf("Qual a largura da embalagem? ");
scanf("%d",&emb->largura);
}

int esfera(int diagonal){
if(diagonal < ESFERA_1)
return ESFERA_1;
else if(diagonal < ESFERA_2)
return ESFERA_2;
else if(diagonal < ESFERA_3)
return ESFERA_3;
else if(diagonal < ESFERA_4)
return ESFERA_4;
else
return 0;
}

int main(){
unsigned int diagonalEmbalagem = 0;
Embalagem presente;
recebeValores(&presente);
diagonalEmbalagem = diagonal(&presente);
printf("Diagonal: %d cm\n",diagonalEmbalagem);
printf("Compre uma esfera de diametro %d cm\n",esfera(diagonalEmbalagem));
return 0;
}
#include <stdio.h>

Para compilar usando GCC: gcc esfera.c -o esfera -lm

OBS: Não expliquei pois cabe a você entender e interpretar a lógica.

Espero ter ajudado, grande abraço.

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...