Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

jeannovaes

Iniciante - Analise meu Código

Recommended Posts

A ideia era fazer isso: smile.gif

capturarkc.jpg

 


	/*
    	============================================================================
    	Name        : categoria_esportiva.c
    	Author      : Jean Carlos Novaes
    	Version 	: 1.0
    	Copyright   : Livre
    	Description : Categoria Espoortiva, Ansi-style
    	============================================================================
    	*/

	#include <stdio.h>

	int mirim (int idade_mirim[6]);
	int infantil (int idade_infantil[6]);
	int infanto_juvenil(int idade_infanto_juvenil[6]);
	int juvenil (int idade_juvenil[6]);
	int junior (int idade_junior[6]);
	int adulto (int idade_adulto[6]);
	int total_off (int idade_mirim[6], int idade_infantil[6], int idade_infanto_juvenil[6], int idade_juvenil[6],int idade_junior[6], int idade_adulto[6]);

	int main(void) {

		int idade_mirim[] = {5, 7, 8, 9, 9, 10}; 							// categoria mirim
		int idade_infantil[] = {9, 10, 10, 11, 11, 12}; 					// categoria infantil
		int idade_infanto_juvenil[] = {10, 13, 13, 13, 14, 15}; 			// categoria infanto juvenil
		int idade_juvenil[] = {14, 15, 15, 16, 17, 17}; 					// categoria juvenil
		int idade_junior[] = {17, 18, 18, 19, 20, 20}; 						// categoria junior
		int idade_adulto[] = {20, 21, 22, 23, 25, 28};		    			// categoria adulto
		int categoria_mirim;
		int categoria_infantil;
		int categoria_infanto_juvenil;
		int categoria_juvenil;
		int categoria_junior;
		int categoria_adulto;
		int total_excluidas;

		categoria_mirim = mirim (idade_mirim);
		categoria_infantil = infantil (idade_infantil);
		categoria_infanto_juvenil = infanto_juvenil(idade_infanto_juvenil);
		categoria_juvenil = juvenil (idade_juvenil);
		categoria_junior = junior (idade_junior);
		categoria_adulto = adulto (idade_adulto);
		total_excluidas = total_off (idade_mirim, idade_infantil, idade_infanto_juvenil, idade_juvenil, idade_junior, idade_adulto);


		printf("\nCategoria mirim %d pessoa(s)", categoria_mirim);
		printf("\nCategoria infantil %d pessoa(s)", categoria_infantil);
		printf("\nCategoria infanto juvenil %d pessoa(s)", categoria_infanto_juvenil);
		printf("\nCategoria juvenil %d pessoa(s)", categoria_juvenil);
		printf("\nCategoria junior %d pessoa(s)", categoria_junior);
		printf("\nCategoria adulto %d pessoa(s)", categoria_adulto);
		printf("\n%d pessoa(s) excluida(s)", total_excluidas);

		printf("\n\n");


		return 0;

	}

	// Inicio função categoria mirim

	int mirim (int idade_mirim[6]){

		int count_mirim = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_mirim[i] >= 8) && (idade_mirim[i] <= 9))
				count_mirim = count_mirim + 1;

		}

		return count_mirim;
	}
	// Fim função categoria mirim

	//============================================================================================================

	// Inicio função categoria Infantil

	int infantil (int idade_infantil[6]){

		int count_infantil = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_infantil[i] >= 10) && (idade_infantil[i] <= 12))
				count_infantil = count_infantil + 1;

		}


		return count_infantil;
	}
	// Fim função categoria ifantil

	//============================================================================================================


	// Inicio função categoria infanto juvenil

	int infanto_juvenil (int idade_infanto_juvenil[6]){

		int count_infanto_juvenil = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_infanto_juvenil[i] >= 13) && (idade_infanto_juvenil[i] <= 14))
				count_infanto_juvenil = count_infanto_juvenil + 1;

		}


		return count_infanto_juvenil;
	}
	// Fim função categoria infanto juvenil

	//============================================================================================================

	// Inicio função categoria juvenil

	int juvenil (int idade_juvenil[6]){

		int count_juvenil = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_juvenil[i] >= 15) && (idade_juvenil[i] <= 17))
				count_juvenil = count_juvenil + 1;

		}


		return count_juvenil;
	}
	// Fim função categoria juvenil

	//============================================================================================================

	// Inicio função categoria junior

	int junior (int idade_junior[6]){

		int count_junior = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_junior[i] >= 18) && (idade_junior[i] <= 20))
				count_junior = count_junior + 1;

		}


		return count_junior;
	}
	// Fim função categoria junior

	//============================================================================================================

	// Inicio função categoria adulto

	int adulto (int idade_adulto[6]){

		int count_adulto = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_adulto[i] >= 21) && (idade_adulto[i] <= 39))
				count_adulto = count_adulto + 1;

		}


		return count_adulto;
	}
	// Fim função categoria adulto

	//============================================================================================================


	// Inicio função pessoas excluidas

	int total_off (int idade_mirim[6], int idade_infantil[6], int idade_infanto_juvenil[6], int idade_juvenil[6],int idade_junior[6], int idade_adulto[6]){

		int count_off;
		int count_off_mirim = 0;
		int count_off_infantil = 0;
		int count_off_infanto_juvenil = 0;
		int count_off_juvenil = 0;
		int count_off_junior = 0;
		int count_off_adulto = 0;
		int i;

		for (i=0; i<6; i++){
			if((idade_mirim[i] < 8) || (idade_mirim[i] > 9))
				count_off_mirim = count_off_mirim + 1;
			}

		for (i=0; i<6; i++){
			if((idade_adulto[i] < 21) || (idade_adulto[i] > 39))
				count_off_adulto = count_off_adulto + 1;

		}

		for (i=0; i<6; i++){
			if((idade_infantil[i] < 10) || (idade_infantil[i] > 12))
				count_off_infantil = count_off_infantil + 1;
			}

		for (i=0; i<6; i++){
			if((idade_infanto_juvenil[i] < 13) || (idade_infanto_juvenil[i] > 14))
				count_off_infanto_juvenil = count_off_infanto_juvenil + 1;
			}


		for (i=0; i<6; i++){
			if((idade_junior[i] < 18) || (idade_junior[i] > 20))
				count_off_junior = count_off_junior + 1;
			}

		for (i=0; i<6; i++){
			if((idade_juvenil[i] < 15) || (idade_juvenil[i] > 17))
				count_off_juvenil = count_off_juvenil + 1;
			}

		for (i=0; i<6; i++){
			if((idade_adulto[i] < 21) || (idade_adulto[i] > 39))
				count_off_adulto = count_off_adulto + 1;

		}
		count_off = (count_off_mirim + count_off_infantil + count_off_infanto_juvenil + count_off_juvenil + count_off_junior + count_off_adulto);

		return count_off;
	}
	// Fim função pessoas excluidas

	//============================================================================================================


Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

O código está bom sim, mas tenho uma sugestão de exercício bem simples: quando aprender a usar ponteiros, utilize-os "ao invés" de matrizes explícitas nos protótipos das funções...

 

 

Uma sugestão ao código para evitar ficar usando variáveis sem precisar (afinal, você está programando em C, então adapte-se à filosofia da linguagem e não faça programas que gastem memória demais nem tempo demais): você sabia que pode fazer o que fiz abaixo em C?

 

printf("\nCategoria mirim %d pessoa(s)", mirim (idade_mirim));

 

Isso é uma expressão colocada dentro do printf(). Praticamente qualquer rvalue pode ser escrito nos argumentos de uma função. Depende da sua criatividade.

 

 

Outra coisa, em C++ não tem problema, mas em C é bom não ficar utilizando comentários de 2 barras (//) pois eles não são suportados pela C89. Não utilizando eles você deixa seu código mais backward compatible (lol), permitindo que compiladores mais antigos de C (como o Visual C que agora faz parte do Visual C++ da Mincrosoft - ele só suporta até a C89) sem erros.

 

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

O programa tem que receber os numeros digitados pelo usuario ou tem que defini-los para executar o programa?.

O programa esta muito bom.

Existe uma maneira mais facil e mais pequena.

 

Olha este código...

 

#include<stdio.h>
main()
{
   int idade, cont,mirim=0,exclu=0;
   int infantil=0, infan_juvenil=0;
   int juvenil=0, adulto=0;
   int junior=0;
   for (cont=1 ; cont<=10 ; cont++)
   {
       printf("Digite a idade da pessoa.:");
       scanf("%d",&idade);
       if (idade<7 || idade >40)
       {
           exclu++;
       }
       else if (idade>=8 && idade<=9)
       {
           mirim++;
       }
       else if (idade>=10 && idade<=12)
       {
           infantil++;
       }
       else if (idade>=13 && idade<=14)
       {
           infan_juvenil++;
       }
       else if (idade>=15 && idade<=17)
       {
           juvenil++;
       }
       else if (idade>=18 && idade<=20)
       {
           junior++;
       }
       else if (idade>=21 && idade<=39)
       {
           adulto++;
       }


   }
   printf("\nCategoria mirim %d pessoa(s)", mirim);
   printf("\n\nCategoria infantil %d pessoa(s)", infantil);
   printf("\n\nCategoria infanto juvenil %d pessoa(s)", infan_juvenil);
   printf("\n\nCategoria juvenil %d pessoa(s)", juvenil);
   printf("\n\nCategoria junior %d pessoa(s)", junior);
   printf("\n\nCategoria adulto %d pessoa(s)", adulto);
   printf("\n\n%d pessoa(s) excluida(s)", exclu);

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.