-2
Guys, why is my printf not getting the "time" of the struct? it is showing a random value. Follow the code below:
#include <stdio.h>
struct cadastro{
char nome[30];
int idade;
int ano;
int nmatricula;
int tempo;
float salario;
};
int main()
{
int i;
struct cadastro colaborador [2];
for(i=0;i<2;i++){
printf("Entre com o nome do colaborador: \n");
scanf("%s",&colaborador[i].nome);
printf("Entre com a idade: \n");
scanf("%d",&colaborador[i].idade);
printf("Entre com o numero da matricula: \n");
scanf("%d",&colaborador[i].nmatricula);
printf("Entre com o tempo na empresa: \n");
scanf("%f",&colaborador[i].tempo);
printf("Insira o salario: \n");
scanf("%f",&colaborador[i].salario);
printf("nome: %s\n",colaborador[i].nome);
printf("idade %d\n",colaborador[i].idade);
printf("numero da matricula %d\n",colaborador[i].nmatricula);
printf("tempo na empresa %d\n",colaborador[i].tempo);
printf("o salario foi %.2f\n",colaborador[i].salario);
}
return(0);
}
In the scanf, use
%d
for the reading of integers.%f
is for floats. I believe this should solve– Naslausky
I don’t see you setting the values of the struct fields before using.
– felipsmartins