Well, how do I allocate a structure whenever the user wants to allocate another one? How would I make this increase? I'm putting a code here just so you can understand my problem.
#include <stdio.h>
#include <stdlib.h>
/*
SÍNTESE
OBJETIVO: Calcular bônus de funcionário com mais de 10 anos de serviço
ENTRADA: Nome do funcionário, nome do departamento salário, salário e tempo de serviço
SAÍDA: Nome do funcionário, nome do departamento, salário com bônus ou nao, e tempo de serviço, se deseja continuar
*/
#define MAX_FUNCIONARIOS 5
#define MAX_NOME 100
typedef struct{
char nome[MAX_NOME];
char nomeDepartamento[MAX_NOME];
float salario;
int tempoServico;
}Funcionarios;
int main(int argc, char *argv[]) {
int numEstruturas=0, opcao=0;
do{
//aloca dados para um vetor de estruturas
func = (Funcionarios*) malloc(1*sizeof(Funcionarios));
//verifica se a alocacao ocorreu corretamente
if(!func){
printf("\nNao foi possivel alocar espaco para esta estrutura!\n");
exit(0);
}
printf("Deseja adicionar outra estrutura: (1) ou (2)-sair");
scanf("%d", &opcao);
if(opcao == 1){
func = (Funcionarios*) realloc(numEstruturas*sizeof(Funcionarios));
}else{
break;
}
}while(opcao==1&&n<MAX_FUNCIONARIOS);
return 0;
}