1
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define TAM_Min 1
#define TAM_Max 500
/*
Sintese
Objetivo: Classificar animais de um zoologico segundo seu peso
Entrada: Numeros de animais do zoologico, e para cada animal o numero de identificacao e o peso em gramas
SaÃda: Identificacao, peso do animal mais pesado, a identificacao e o peso do animal mais leve, e a quantidade
de animais de peso menor que o peso medio de todos os animais
*/
int le_valida_codigo_animal(int cod[], char titulo[]);
int le_valida_inteiro(int ValorMin, int ValorMax, char texto[]);
int main() {
    int i, num_animais, cod_animal[TAM_Max];
    float peso_animal[TAM_Max];
    //validar numero de animais
    printf("#--- Cadastro de animais ---#");
    num_animais =le_valida_inteiro(TAM_Min, TAM_Max, "\nDigite o numero de animais do zoologico:");
    for(i=1;i<=num_animais;i++){
        cod_animal[i] = le_valida_codigo_animal(cod_animal[i], "Digite o codigo de identificacao dos animais:");
        printf("Digite o peso (em gramas) do animal:");
        scanf("%d", &peso_animal[i]);
        system("cls");
    }
    return 0;
}
int le_valida_inteiro(int ValorMin, int ValorMax, char texto[]){
    int num_animais=0;
    do{
        printf(texto);
        scanf("%d", &num_animais);
        if(num_animais<ValorMin||num_animais >ValorMax){
            printf("\nValor invalido.\nDigite um numero ate 500!");
        }
    }while(num_animais<ValorMin||num_animais >ValorMax);
    return num_animais;
}
int le_valida_codigo_animal(int cod[], char titulo[]){
    char cod_an[0];
    do{
        printf(titulo);
        scanf("%d", &cod);
        if(cod == '\0'){
            printf("O codigo deve nao pode ser vazio!");
        }
    }while(cod == '\0');
}
Error received
C: Users Lain Desktop c.c In Function 'main': 32 43 C: Users Lain Desktop c.c [Warning] Passing argument 1 of 'le_valida_animal code' makes Pointer from integer without a cast 18 5 C: Users Lain Desktop c.c [Note] expected 'int *' but argument is of type 'int' C: Users Lain Desktop c.c In Function 'le_valida_codigo_animal': C: Program Files Dev-Cpp Mingw64 x86_64-W64-mingw32 bin Ld.exe Reopening C: Users Lain Desktop c.exe: Permission denied
Missed to put what is the error or problem you are facing.
– Sveen
Inside the for, that vector receiving the value validated by the function. See error: C: Users Lain Desktop c.c In Function 'main': 32 43 C: Users Lain Desktop c.c [Warning] Passing argument 1 of 'le_valida_codigo_animal' makes Pointer from integer without a cast 18 5 C: Users Lain Desktop c.c [Note] expected 'int *' but argument is of type 'int' C: Users Lain Desktop c.c In Function 'le_valida_animal code': C: Program Files Dev-Cpp Mingw64 x86_64-W64-mingw32 bin Ld.exe Reopening C: Users Lain Desktop c.exe: Permission denied
– Lucas Correia
Sorry I’m not in the mood to explain. This is the first time I’ve asked a question here in the stack.
– Lucas Correia