Hola con todos; tengo un problemilla con este código, la idea es poder ingresar por teclado la dimensión del
array de structuras y luego utilizar malloc(u otro) para poder darle la dimensión ingresada, y al final liberar la memoria, pero no corre el programa no tiene errores pero tampoco funciona pues se cuelga.

a ver sialgien puede ayudarme.
- Código: Seleccionar todo
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
struct nodo
{
char *nombre;
int ciclo;
};
void main (void)
{
struct nodo* tareas;
int indice=0,cont=0,u=0,j;
printf("\n-------------Ingreso de Tareas-------------");
printf("\n\nCuantas tareas deseas ingresar: ");
scanf("%d",&cont);
tareas = (struct nodo*)calloc(cont,sizeof(struct nodo));
do{
printf("\nTarea: ");
scanf("%s",&tareas[u].nombre);
printf("--- Ciclo=>> ");
scanf("%d",&tareas[u].ciclo);
printf("\n-----------------------------------");
u++;
}while(cont!=u);
for(j=0;j<=cont;j++)
{
cout<<"\nLa tarea ("<<tareas[j].nombre<<"): con ciclo: "<<tareas[j].ciclo;
}
printf("\n\n\n");
printf("\tFIN DEL PROGRAMA");
printf("\n\n\n");
free(tareas);
}//f