Ir ao conteúdo

Programa


Ruka284

Posts recomendados

Postado

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();






}

Postado

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':

Postado
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);

Postado

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();






}


Postado

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.

Arquivado

Este tópico foi arquivado e está fechado para 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...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!