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