Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
To com esse código pronto, ele compila e tudo, porém na hora de exibir ele pula metade do programa e não deixa digitar nada O_O
*/
#include <stdio.h>
#include <conio.c>
#define LIMITE 3
int validaPluvio(int quantidade);
float validaDuracao(float horas);
float calculaMedia(float total, int limite);
void apresentaIgualdade(int min, int max, int indiceNormal, int cont);
int main(void)
{
// Declaracoes
int pluvio[15];
float duracao[15];
int aux, indiceMin=101, indiceMax=0, qntAcima=0;
float mediaHoras=0, duracaoTotal=0;
int const limite;
// Instrucoes
for(aux=0; aux < limite; aux++)
{
printf("\n Digite o indice pluviometrico diario do dia %d",aux+1);
scanf("%d", &pluvio[aux]);
pluvio[aux] = validaPluvio(pluvio[aux]);
system("CLS");
printf("\n Digite a duracao da chuva do dia %d",aux+1);
scanf("%f", &duracao[aux]);
duracao[aux] = validaDuracao(duracao[aux]);
duracaoTotal = duracaoTotal + duracao[aux];
system("CLS");
}
mediaHoras = calculaMedia(duracaoTotal,limite);
printf("\n Tabela indices pluviometricos333 ");
for(aux=0; aux < limite; aux++)
{
printf("\n %d ° dia %d mm em %f horas", aux+1, pluvio[aux], duracao[aux]);
if(mediaHoras < duracao[aux])
qntAcima = qntAcima + 1;
if(indiceMax < pluvio[aux])
indiceMax = pluvio[aux];
if(indiceMin > pluvio[aux])
indiceMin = pluvio[aux];
}
printf("\n Indice minimo alcancado neste periodo : %d",indiceMin);
printf("\n Indice Maximo alcancado neste periodo : %d",indiceMax);
for(aux=0; aux < limite; aux++)
{
apresentaIgualdade(indiceMin,indiceMax,pluvio[aux],aux);
}
printf("\n Valor medio da duracao das chuvas em horas : %3.2f", mediaHoras);
printf("\n Quantidade de dias que a duracao foi superior a media: %d ",qntAcima);
getch();
return 0;
}
//subprograma 1
//objetivo:validar a quantidade de pluvio
//parâmetros:quantidade
//retorno:quantidade validada
int validaPluvio(int quantidade)
{
while ((quantidade < 10) || (quantidade > 100))
{
printf("\n Quantidade invalida, digite igual acima a 10 e abaixo igual a 100: ");
scanf("%d", &quantidade);
}
return quantidade;
}
//subprograma 2
//objetivo:validar a duracao em horas pra cada dia
//parâmetros:horas
//retorno:goras validada
float validaDuracao(float horas)
{
while ((horas < 1) || (horas > 24))
{
printf("\n Horas invalida, digite novamente");
scanf("%d", &horas);
}
return horas;
}
//subprograma 3
//objetivo:calcular a media de horas chovidas
//parâmetros:horas
//retorno:media de horas
float calculaMedia(float total, int limite)
{
return total/limite;
}
//subprograma 4
//objetivo: apresentar pendices pluviométricos iguais ao mínimo e máximo
//parâmetros:índice mínimo e máximo bem como indíce na posição aux
//retorno:nenhum
void apresentaIgualdade(int min, int max, int indiceNormal, int cont)
{
if(indiceNormal == min)
printf(" \n No dia %d choveu a mesma quantidade que o indice minimo de: %d",cont+1 ,min);
if (indiceNormal == max)
printf("\n No dia %d choveu a mesma quantidade que o indice maximo de: %d ",cont+1 ,max);
}Carregando comentários...