• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

killerhcf

programa de Azulejos

5 mensagens neste tópico

#include<stdio.h> 

#define LADO_DE_AZULEJO 20 
#define AREA_DO_AZULEIJO LADO_DE_AZULEJO*LADO_DE_AZULEJO 

main() 
{ 
int comprimento, largura; 
int area_coberta, n_de_azulejos ; 
int k, c, i, l; 

printf("Qual e o comprimento e a largura: "); 
scanf("%d %d " , comprimento, largura); 
k = 0; //comessa em 0 o comprimeto 
c = 0; // nº de azuleijos na horizontal comessa em 0 
while(k <= comprimento){ 
k = k + 20;//somador mede o comprimento total dos azuleijos ao somar +20 sempre que for verdadeiro a condicao 
c++; // sempre que a condicao for verdadeira o nº de azuleijos incremententa ou seja 0 1 2 3....dando o nº de azulejos que cabem no comprimento dado 
} 

i = 0; //comessa em 0 a largura 
l = 0; // nº de azuleijos na vertical comessa em 0 
while (i <= largura){ 
i = i + 20;//somador mede a largura total dos azuleijos ao somar +20 sempre que for verdadeiro a condicao 
l++ ;// sempre que a condicao for verdadeira o nº de azuleijos incremententa ou seja 0 1 2 3....dando o nº de azulejos que cabem na largura dada 
} 
n_de_azulejos = l * c; 
area_coberta = n_de_azulejos * AREA_DO_AZULEIJO; 
scanf("numero de azulejos %d area coberta pelos azulejos %d\n", n_de_azulejos, area_coberta ); 
} 

bem aqui esta o codigo so que nao funciona =(

o objectivo é ter um programa que pede irformacao sobre comprimento e largura de um rectangulo e depois calcula o nº de azulejos inteiros que se pode inserir nessa area tal como calcular a area coberta pelos azuleijos.

por azuleijos inteiros é que nao se pode ocupar espaco da area com uma parte de azulejo tem que ser um azulejo inteiro.

bem provavelmente tem mutios erros embora eu mande correr e nao me da erros, mas depois quando meto os dados da me um erro, que acontece quando um programa dos windows da erro e tem aquele relatorio para mandar para ver se corrigem o erro.....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A função scanf deve ter endereços de memoria de forma a saber para onde escrever os dados.

por exemplo:

scanf("%d %d " , &comprimento, &largura); 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

sim, mas agora meto os dados e fecha janela sem retornar os dados que devia dar

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Na ultima linha tens um scanf, mas acho que queres escrever dados (printf) e não ler dados (scanf).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é porque tens de parar o programa antes de ele terminar, tipo com um scanf("%*d");

Mas se correres abrindo uma linha de comandos primeiro já podes ver o resultado porque ao terminar não vai fechar a janela.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora