Ir ao conteúdo
  • Cadastre-se
Ruka284

Programa

Recommended Posts

tenho de fazer média, temperatura mais alta e baixa de todos os meses do ano, e verificar as temperaturas entre -10 a 50.

podem dar uma dica para concluir o programa


#include<stdio.h>
#include<stdlib.h>


int media(int temp[])

{
int k;
int soma=0;
int media=0;
for(k=0;k<meses;i++)
soma=temp[k]+soma;
media=soma/meses;
}


int maior (int temp[])

{
int k
int maior=0;
for(k=0;k<meses;i++)
{
if(temp[k]>maior)
maior=temp[k];
}
return maior
}



int menor (int temp[])

{
int k
int menor=5000;
for(k=0;k<meses;i++)
{
if(temp[k]<menor)
menor=temp[k];
}
return menor
}

main()
{
int k;
int temp[meses];
for(k=0;k<meses;i++)
{
printf("introduza as temperatura \n");
scanf("%d",&temp[k]);
}




printf ("o maior temperatura e = %d \n", maior);
printf ("o menor temperatura e = %d \n", menor);
printf("media e= %.2f",media);


getch();






}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo,

ao jogar seu código na IDE fui alertado de alguns problemas um tanto quanto estranhos no seu código, note que você está realizando um loop com uma variável mas, incrementa outra variável, veja:


...
int menor=5000;
for(k=0;k<meses;[B]i[/B]++)
{
if(temp[k]<menor)
menor=temp[k];
...

Isto com certeza não é comum. Você deve incrementar a mesma variável para o loop, no caso, k.

Outro fato é que você utiliza a variável meses sem declará-la, ou seja, para o compilador ela não existe e acarreta erro no código.

Tente fazer as devidas modificações, caso necessite de ajuda estamos a disposição, grande abraço.

Log da IDE Dev-C++ 5.5.1 Orwell:


11 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
11 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Note] each undeclared identifier is reported only once for each function it appears in
11 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c In function 'maior':
21 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
22 5 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'k' undeclared (first use in this function)
22 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
22 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
28 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected ';' before '}' token
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c In function 'menor':
36 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
37 5 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'k' undeclared (first use in this function)
37 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
37 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
43 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected ';' before '}' token
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c In function 'main':
48 10 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
49 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c	In function 'media':

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda falta a verificação de -10 a 50 , as temperaturas tem de estar dentro dessas senão nao contem dados

Compartilhar este post


Link para o post
Compartilhar em outros sites
Olá amigo,

ao jogar seu código na IDE fui alertado de alguns problemas um tanto quanto estranhos no seu código, note que você está realizando um loop com uma variável mas, incrementa outra variável, veja:


...
int menor=5000;
for(k=0;k<meses;[B]i[/B]++)
{
if(temp[k]<menor)
menor=temp[k];
...

Isto com certeza não é comum. Você deve incrementar a mesma variável para o loop, no caso, k.

Outro fato é que você utiliza a variável meses sem declará-la, ou seja, para o compilador ela não existe e acarreta erro no código.

Tente fazer as devidas modificações, caso necessite de ajuda estamos a disposição, grande abraço.

Log da IDE Dev-C++ 5.5.1 Orwell:


11 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
11 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Note] each undeclared identifier is reported only once for each function it appears in
11 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c In function 'maior':
21 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
22 5 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'k' undeclared (first use in this function)
22 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
22 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
28 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected ';' before '}' token
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c In function 'menor':
36 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected '=', ',', ';', 'asm' or '__attribute__' before 'int'
37 5 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'k' undeclared (first use in this function)
37 11 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
37 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
43 1 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] expected ';' before '}' token
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c In function 'main':
48 10 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'meses' undeclared (first use in this function)
49 17 C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c [Error] 'i' undeclared (first use in this function)
C:\Documents and Settings\Administrador\Meus documentos\mediaTemp.c	In function 'media':

Você tem que fazer essas correções que já foram informadas. Faltam também alguns pontos-e-vírgulas no código.

Além disso, a função media não está retornando nenhum valor, você precisa incluir:


return media;

E quando você for chamar alguma função (media, maior ou menor) é necessário passar o parâmetro que no caso é o vetor temp:


printf ("A maior temperatura e = %d \n", maior(temp));

Em relação à verificação da temperatura, você pode fazer através de uma estrutura de repetição e só sair da estrutura quando a temperatura estiver entre -10 e 50. Por exemplo:


faça{
escreva "informe a temperatura";
leia (temp[k]);
} enquanto (temp[k] > 50 ou temp[k]< -10);

Compartilhar este post


Link para o post
Compartilhar em outros sites

algumas alterações já foram feitas.


#include<stdio.h>
#include<stdlib.h>

int meses;

int media(int temp[])

{
int k;
int soma=0;
int media=0;
for(k=0;k<meses;i++)
{
soma=temp[k]+soma;
media=soma/meses;
}
return media;
}


int maior (int temp[])

{
int k
int maior=0;
for(k=0;k<meses;i++)
{
if(temp[k]>maior)
maior=temp[k];
}
return maior;
}



int menor (int temp[])

{
int k
int menor=5000;
for(k=0;k<meses;i++)
{
if(temp[k]<menor)
menor=temp[k];
}
return menor;
}

main()
{
int k;
int temp[meses];
do
{
printf("introduza as temperatura \n");
scanf("%d",&temp[k]);
}
while(temp[k] > 50 ou temp[k]< -10);






printf ("o maior temperatura e = %d \n", maior(temp));
printf ("o menor temperatura e = %d \n", menor(temp));
printf("media e= %.2f",media(temp));


getch();






}


Compartilhar este post


Link para o post
Compartilhar em outros sites
Ainda falta corrigir alguns erros apontados, nesta linha por exemplo:


for(k=0;k<meses;i++)

Que erro ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá lá na primeira resposta, olha aí:

Olá amigo,

ao jogar seu código na IDE fui alertado de alguns problemas um tanto quanto estranhos no seu código, note que você está realizando um loop com uma variável mas, incrementa outra variável, veja:


...
int menor=5000;
for(k=0;k<meses;[B]i[/B]++)
{
if(temp[k]<menor)
menor=temp[k];
...

Isto com certeza não é comum. Você deve incrementar a mesma variável para o loop, no caso, k.

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×