Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
DL.Fernandes

C Comando de Repetição (erro na fórmula?)

Recommended Posts

Boa noite pessoal,

 

Tenho um problema aqui que parece ser simples mas não estou conseguindo progredir: tenho que criar um programa em C que calcule o custo do ouro em função da espessura da camada de ouro depositada em um anel. 

 

Então, por exigências do comando, eu preciso:

 

1. Entrar com raio interno do anel;

2. Entrar com diâmetro;

3. Entrar com mínimo e máximo de espessura que quero saber o preço (sendo esp. mín= 5 e máx. = 50 µm);

4. Entrar com Intervalo de espessura (em relação ao min e max, quantos valores eu quero saber) e;

4. Entrar com custo da grama do ouro.

 

Também devo criar um arquivo em txt onde apresente o valor da grama do ouro e os valores de espessuras de camadas de ouro depositadas no anel e seus respectivos custos.

 

 

Para facilitar, foi dado mais algumas informações:

 

Área superficial do anel S é:  S= pi² (2r +d)d 

Peso do revestimento é: P= p * S * t, onde p = peso especifico do ouro (17.7 g/cm³) , S = area superficial e t = a espessura.

 

 

Para testar, pode-se utilizar os valores:

raio: 8 mm

diâmetro: 2 mm

custo do ouro = 132 p/ grama.

 

 

Estou anexando o código que escrevi. Eu consigo criar o arquivo .txt e fazer o cálculo, porém como podem ver se testarem, o valor final sempre fica em 0 .. :huh:

Esse é o problema, o que não está funcionando que eu defino, por exemplo, 3 espessuras e as 3 me retornam 0 ?

 

 

PS. tentei converter tudo para mm para não ficar trabalhando com várias unidades.. por isso há lugares que os valores estão meio estranhos..

#include<stdio.h>
#include<math.h>
#include<conio.h>

int main(){

FILE *pont_arq;
float area, valor, superficie, espessura, quantidade, raio, peso, tmin, tmax, custoouro, diametro, PI;
int qtdade, i;

printf("\n\nVamos calcular o valor do seu revestimento de ouro!\nDigite o raio interno do anel [mm]: ");
scanf("%f", &area);

printf("\nDigite o diametro [mm]: ");
scanf("%f", &diametro);

printf("\nAgora entre com a espessura minima e maxima, respectivamente [mm]: ");
scanf("%f %f", &tmin, &tmax);

while (tmin < 0.005){
    printf("\nEspessura minima nao aceita. Favor digitar novamente um valor de espessura minima >= 0.005 [mm]: ");
    scanf("%f", &tmin);
}
while (tmax > 0.05){
    printf("\nEspessura maxima nao aceita. Favor digitar novamente um valor de espessura maxima <= 0.05 [mm]: ");
    scanf("%f", &tmax);
}

printf("\nEstamos acabando.. Informe agora a quantidade de valor da espessura que deseja visualizar: ");
scanf("%d", &qtdade);

printf("\nAgora basta informar o valor de custo da grama do ouro por [g/cm3]: ");
scanf("%f", &custoouro);

peso = 0.0177;
PI = 3.14;


pont_arq = fopen("dados.txt", "w");
fprintf(pont_arq, "\n\nCusto da grama do ouro: %f", &custoouro);



//Aqui entra um comando para repetir as expressões para os diferentes valores de T (espessura).
i=0;
for(i=1 ; i <= qtdade ; i++){
    superficie = ((PI * PI ) * ( ( (2 * raio) + diametro) * diametro));
    quantidade = (peso * superficie * espessura);

    valor = custoouro * (quantidade / 10);

    fprintf(pont_arq, "\n\nO valor do anel e: %f", &valor);
    printf("\n\nO valor do anel e: %f", &valor);
}


return 0;

}
  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DL.Fernandes   o resultado está saindo zerado por que você colocou esse caractere  &  lá no printf nessa linha 

printf("\n\nO valor do anel e: %f", &valor);

então só remover esse caractere e ficaria assim   :

printf("\n\nO valor do anel e: %.2f", valor);

 

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites
13 horas atrás, devair1010 disse:

então só remover esse caractere e ficaria assim   :


printf("\n\nO valor do anel e: %.2f", valor);

 

 

@devair1010  eu fiz como sugeriu e não resolveu... testei através do compilador online (https://www.onlinegdb.com/online_c_compiler) e utilizando o CodeBlocks 17.12... 

 

Deu certo quando compilou ai ? :huh:

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@DL.Fernandes   sim está rodando normal ,  e mostra um resultado no final , mas creio que a fórmula de cálculo não esteja certa ,  pois ele mostra um resultado exagerado  .  olha o print do resultado  :

5afcc6d05108a_gramasdeouro.jpg.a6b9c1e114652cfda50104c9c4d660cf.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

×