Tengo una consulta sobre el siguiente codigo:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define TAM 5
typedef struct Tipo_Cliente{
char nombre[50];
char cuit[11];
char cp[11];
};
int alta_opc()
{
int opc;
printf("ALTAS:\n------\n");
printf("1-Cliente\n");
printf("2-Articulo\n");
printf("3-Compra\n");
printf("4-Salir\n>");
scanf("%d",&opc);
return opc;
}
int main()
{
int cant_cli=0,cant_art=0,cant_com=0,aux;
aux=TAM; /*TAM es un define*/
char cadena[20];
Tipo_Cliente* clientes;
int opc=alta_opc();
gets(cadena); <--------------------- en este punto no me toma la funcion gets
printf ("ALTA DE CLIENTE\n");
cant_cli++;
clientes=(Tipo_Cliente*)malloc(sizeof(Tipo_Cliente)*aux);
if (cant_cli==aux)
{
aux+=5;
clientes=(Tipo_Cliente*)realloc(clientes,sizeof(Tipo_Cliente)*aux);
}
return 0;
}
El problema es que luego de llamar a la funcion alta_opc, no me toma el gets, sin llamar a la funcion si funciona, y poniendo scanf tambien!
En que estoy fallando?? muchas gracias.