Faça um programa
para calcular o número de lâmpadas 60 watts necessárias para um determinado cômodo. O programa deverá ler um conjunto de informações, tais como: tipo, largura e comprimento do cômodo. O programa termina quando o tipo de cômodo for igual -1. A tabela abaixo mostra, para cada tipo de cômodo, a quantidade de watts por metro quadrado.
Use uma estrutura para agrupar logicamente as informações de um cômodo (int tipo de cômodo, float largura e float altura). Usar uma função (float CalulaArea) para calcular a área do cômodo. Os atributos de entrada serão a largura e comprimento do cômodo. Usar uma função (float Lampada) para calcular a quantidade de lâmpadas necessárias para o cômodo. Os atributos de entrada serão o tipo de cômodo e a área (em
).
Obs.: Utilize a função ceil(número) em math.h para realizar o arredondamento para cima referente à quantidade de lâmpadas.
Use uma estrutura para agrupar logicamente as informações de um cômodo (int tipo de cômodo, float largura e float altura). Usar uma função (float CalulaArea) para calcular a área do cômodo. Os atributos de entrada serão a largura e comprimento do cômodo. Usar uma função (float Lampada) para calcular a quantidade de lâmpadas necessárias para o cômodo. Os atributos de entrada serão o tipo de cômodo e a área (em
Obs.: Utilize a função ceil(número) em math.h para realizar o arredondamento para cima referente à quantidade de lâmpadas.
Tipo de cômodo | Potência (W / m²) |
---|---|
1 | 12 |
2 | 15 |
3 | 18 |
4 | 20 |
5 | 22 |
Passo 1
O enunciado pede um programa em C que leia repetidamente informações de um cômodo (tipo, largura e comprimento) até que o tipo seja
, calcule quantas lâmpadas de 60 W são necessárias e exiba esse número. Vamos usar uma e uma função
struct
para agrupar os dados de cada cômodo, uma função CalculaArea
para obter a área em
Lampada
que, dado o tipo de cômodo e a área, retorna o número de lâmpadas (usando ceil
).Passo 2
Definimos a
struct Comodo
com os atributos necessários e criamos a função CalculaArea
, que recebe largura e comprimento e retorna a área:typedef struct {
int tipo;
float largura;
float comprimento;
} Comodo;
float CalculaArea(float largura, float comprimento) {
return largura * comprimento;
}
Passo 3
Implementamos a função :
Lampada
, que recebe o tipo e a área, seleciona a potência por metro quadrado conforme a tabela e calcula quantas lâmpadas de 60 W são necessárias, aplicando ceil
ao resultado de
#include <math.h>
float Lampada(int tipo, float area) {
int potencia_por_m2;
switch (tipo) {
case 1: potencia_por_m2 = 12; break;
case 2: potencia_por_m2 = 15; break;
case 3: potencia_por_m2 = 18; break;
case 4: potencia_por_m2 = 20; break;
case 5: potencia_por_m2 = 22; break;
default: return 0; // tipo inválido
}
float potencia_total = potencia_por_m2 * area;
return ceil(potencia_total / 60.0f);
}
Passo 4
No , lê largura e comprimento, chama
main
, fazemos um laço while
que lê o tipo
. Se for diferente de
CalculaArea
e Lampada
, imprime o resultado e repete até tipo == -1
:#include <stdio.h>
#include <math.h>
/* (aqui entram as definições de Comodo, CalculaArea e Lampada) */
int main() {
Comodo c;
while (1) {
printf("Digite o tipo do comodo (-1 para sair): ");
scanf("%d", &c.tipo);
if (c.tipo == -1)
break;
printf("Digite a largura e o comprimento: ");
scanf("%f %f", &c.largura, &c.comprimento);
float area = CalculaArea(c.largura, c.comprimento);
float qtd = Lampada(c.tipo, area);
printf("Quantidade de lampadas de 60W: %.0f\n\n", qtd);
}
return 0;
}
Resposta
#include <stdio.h>
#include <math.h>
typedef struct {
int tipo;
float largura;
float comprimento;
} Comodo;
float CalculaArea(float largura, float comprimento) {
return largura * comprimento;
}
float Lampada(int tipo, float area) {
int potencia_por_m2;
switch (tipo) {
case 1: potencia_por_m2 = 12; break;
case 2: potencia_por_m2 = 15; break;
case 3: potencia_por_m2 = 18; break;
case 4: potencia_por_m2 = 20; break;
case 5: potencia_por_m2 = 22; break;
default: return 0;
}
float potencia_total = potencia_por_m2 * area;
return ceil(potencia_total / 60.0f);
}
int main() {
Comodo c;
while (1) {
printf("Digite o tipo do comodo (-1 para sair): ");
scanf("%d", &c.tipo);
if (c.tipo == -1)
break;
printf("Digite a largura e o comprimento: ");
scanf("%f %f", &c.largura, &c.comprimento);
float area = CalculaArea(c.largura, c.comprimento);
float qtd = Lampada(c.tipo, area);
printf("Quantidade de lampadas de 60W: %.0f\n\n", qtd);
}
return 0;
}