Ir ao conteúdo
  • Cadastre-se

Ajuda com função/procedimento em C


Diego TJS
Ir à solução Resolvido por Isis Binder,

Posts recomendados

Tenho um exercício que preciso fazer ele com função e/ou procedimento, consegui fazer normal mas quando tento fazer usando algum dos dois sempre da erro se alguém conseguir ajudar agradeço, segue o exercício:
 
O presidente do clube de campo São Januário deseja construir uma piscina moderna. O projeto da piscina segue o modelo abaixo:
O presidente deseja colocar lajota na parte reservada para banho de sol e azulejo em todo o restante da piscina. Sabendo-se que as lajotas são quadradas (lado l) (M reais o m2) e que os azulejos possuem lados l1, l2 (N reais o m2) . Fazer um algoritmo capaz de calcular:
a) O custo total para cobrir todo o espaço do projeto da piscina.
b ) Qual o volume máximo de água necessário para preencher toda a piscina. Os valores a, b, c, l, l1, l2, M, N devem ser lidos.

//Projeto da Piscina#include <iostream>#include <string.h>#include <stdlib.h>#include <conio.h>#include <stdio.h>#include <math.h>#include <locale.h>using namespace std;int main(){    int qtd_azulejos=0, qtd_lajotas=0;    float aux=0;    float a, b, c, l, l1, l2, M, N;    float area_azulejo, area_lajota; //Armazena area para ser colocado o azulejo e lajota    float m_azulejo, l_lajota; //Armazena a area de cada azulejo e de cada lajota    float preco_total_azulejo, preco_total_lajota, preco_total, volume_agua;    setlocale(LC_ALL, "Portuguese");	printf("PROJETO DE PISCINA\n\n");    printf("Dimensões da Piscina\n\n");    printf("Largura (Em metros): ");    scanf("%f", &a);    printf("Comprimento (Em metros): ");	scanf ("%f", &;    printf("Profundidade (Em metros): ");	scanf("%f", &c);    printf("Largura da lajota (Em metros): ");	scanf("%f", &l);    printf("Preço por metro quadrado da lajota: "); 	scanf("%f", &M);    printf("Largura do azulejo (Em metros): ");	scanf("%f", &l1);    printf("Comprimento do azulejo (Em metros): ");	scanf("%f", &l2);    printf("Preço por metro quadrado do azulejo: ");	scanf("%f", &N);     //OBS:    //A quantidade de azulejo é a área dos lados da piscina        //(2*a*b + 2*b*c + a*c)    //A quantidade de lajota é referente ao comprimento da borda da piscina        //(2*a+2*     area_azulejo = 2*a*b + 2*b*c + a*c;    m_azulejo = l1*l2;        while (aux < area_azulejo){        aux = aux + m_azulejo;        qtd_azulejos++;    }    //No final, qtd_azulejos vai ser o numero de azulejos que vou usar na piscina     area_lajota = 2*a+2*b;    l_lajota = l*l;     //Eu vou ter o comprimento da borda da piscina onde vou usar as lajotas    //Vou achar agora a quantidade de lajotas que vou usar na piscina    //Cuja soma dos comprimentos de cada lajota deve ser igual ou maior    //Á qtd_lajota    aux=0;    while (aux < area_lajota){        aux = aux + l;        qtd_lajotas++;    }     preco_total_azulejo = qtd_azulejos*m_azulejo*N;    preco_total_lajota = qtd_lajotas*l_lajota*M;    preco_total = preco_total_azulejo+preco_total_lajota; 	 	printf("\nResultados:\n\n");    printf("Custo com azulejo R$ %.2f \n", preco_total_azulejo);    printf("Custo com lajota R$ %.2f \n", preco_total_lajota);    printf("Custo total R$ %.2f \n", preco_total);     	volume_agua = a*b*c;    printf("Volume de água para preencher a piscina é de %.0f metros cúbicos.\n\n", volume_agua);    system("pause");} 
Link para o comentário
Compartilhar em outros sites

  • Solução

Primeiro decida-se sobre qual linguagem vai usar, porque há cabeçalhos de C misturados com C++.

Namespace é coisa de C++, não de C.

 

 

quando tento fazer usando algum dos dois sempre da erro

Isso é genérico demais. Especifique o erro. Lembre-se que se você enviar um bug report nesse estilo p/ uma empresa tipo a Microsoft, ninguém vai arrumar o problema porque ninguém vai saber qual é o erro e o que você fez.

 

#include <stdio.h>#include <math.h>float calcular_custo_area_banho_sol(float area_banho_sol, float lado_lajota, float preco_m2_lajota);float calcular_custo_piscina(float largura_piscina, float comprimento_piscina, float profundidade_piscina, float area_unitaria_azulejo, float preco_m2_azulejo); int main(void) {float area_banho_sol;printf("Informe a área destinada ao espaço de banho de sol: ");scanf("%f", &area_banho_sol); float lado_lajota;printf("Informe a medida do lado da lajota (a ser utilizada na área de banho de sol): ");scanf("%f", &lado_lajota); float preco_m2_lajota;printf("Informe o preço por metro quadrado da lajota (a ser utilizada na área de banho de sol): ");scanf("%f", &preco_m2_lajota); float largura_piscina, comprimento_piscina, profundidade_piscina;printf("Informe, respectivamente, o comprimento, largura e profundidade da piscina: ");scanf("%f %f %f", &comprimento_piscina, &largura_piscina, &profundidade_piscina); float comprimento_azulejo, largura_azulejo;printf("Informe, respectivamente, o comprimento e a largura do azulejo (para a piscina): ");scanf("%f %f", &comprimento_azulejo, &largura_azulejo); float preco_m2_azulejo;printf("Informe o preço por metro quadrado do azulejo (para a piscina): ");scanf("%f", &preco_m2_azulejo); float custo_area_banho_sol = calcular_custo_area_banho_sol(area_banho_sol, lado_lajota, preco_m2_lajota);float custo_area_piscina = calcular_custo_piscina(largura_piscina, comprimento_piscina, profundidade_piscina, comprimento_azulejo * largura_azulejo, preco_m2_azulejo);float volume_agua = comprimento_piscina * largura_piscina * profundidade_piscina; printf("Custo da área de banho de sol: %.2f\n", custo_area_banho_sol);printf("Custo da piscina: %.2f\n", custo_area_piscina);printf("Custo total: %.2f\n", custo_area_banho_sol + custo_area_piscina);printf("Volume de água: %.2f\n", volume_agua);return 0;} float calcular_custo_area_banho_sol(float area_banho_sol, float lado_lajota, float preco_m2_lajota) {float area_unitaria_lajota = lado_lajota * lado_lajota;float qtde_lajotas = (float) ceil(area_banho_sol / area_unitaria_lajota);return qtde_lajotas * area_unitaria_lajota * preco_m2_lajota;} float calcular_custo_piscina(float largura_piscina, float comprimento_piscina, float profundidade_piscina, float area_unitaria_azulejo, float preco_m2_azulejo) {float area_comprimento_profundidade = comprimento_piscina * profundidade_piscina;float qtd_azulejos_comp_prof = (float) ceil(area_comprimento_profundidade / area_unitaria_azulejo);float custo_m2_comp_prof = preco_m2_azulejo * qtd_azulejos_comp_prof * area_unitaria_azulejo; float area_largura_profundidade = largura_piscina * profundidade_piscina;float qtd_azulejos_lar_prof = (float) ceil(area_largura_profundidade / area_unitaria_azulejo);float custo_m2_lar_prof = preco_m2_azulejo * qtd_azulejos_lar_prof * area_unitaria_azulejo; return 2 * (custo_m2_comp_prof + custo_m2_lar_prof);}
Link para o comentário
Compartilhar em outros sites

Obrigado pela resposta...

 

O Namespace não era pra ta ai simplesmente esqueci de tirar.

 

Ele dava muitos erros na hora de compilar por isso não especifiquei, mas valeu pela dica.

 

E o código não ficou igual o seu mas baseando no que você fez conseguir fazer o meu basicamente ficou o mesmo só mudou a organização, estava errando na hora de chamar as funções, mais uma vez agradeço.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!