Ygos 0 Denunciar post Postado Novembro 15, 2012 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); } Compartilhar este post Link para o post Compartilhar em outros sites
KhaosDoctor 242 Denunciar post Postado Novembro 16, 2012 Cara, isso não é Visual Basic, isso é C, ou uma de suas variantes. Área errada amigo :( Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Novembro 16, 2012 Provavelmente um \n ficou preso na entrada. Veja esse tópico http://forum.imasters.com.br/topic/322646-programando/ e procure pelos posts sobre "sujeira" na entrada. Compartilhar este post Link para o post Compartilhar em outros sites
Ygos 0 Denunciar post Postado Novembro 18, 2012 Vi aqui que foi por que eu declarei uma variável constante e esqueci de criar a biblioteca pra ela, coloquei o <ctype.h> e deu certo, vlw galera ;) Compartilhar este post Link para o post Compartilhar em outros sites