Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: angelihsahn en 30 Agosto 2013, 03:14 am



Título: Problema con estructuras y apuntadores
Publicado por: angelihsahn en 30 Agosto 2013, 03:14 am
Mi problema es el siguiente:

Mi programa esta hecho con 2 estructuras anidadas :1 Llamada Medicamentos con un nombre y una dosis y otra llamada farmacia que tiene como atributos nombre, direccion y un dato de tipo medicamentos. Accedo a sus atributos con apuntadores. tiene un Menu en el que:

1 Se crea una Farmacia con su nombre direccion y un numero de medicamentos (reservo memoria para n medicamentos y para nombre y direccion)

2 Se imprime los datos de la Farmacia

3 Permite cambiar el nombre de un medicamento

Pero como hago para que, si el usuario entra en la opción de imprimir o la de cambiar el nombre de un medicamento antes de Crear una farmacia, el programa le diga que NO hay una farmacia creada (evitar desbordamiento de memoria)???


Título: Re: Problema con estructuras y apuntadores
Publicado por: rir3760 en 30 Agosto 2013, 04:10 am
Para darte una solución (una que funcione) debes primero indicar el lenguaje de programación que utilizas y publicar el código fuente del programa.

1 Se crea una Farmacia con su nombre direccion y un numero de medicamentos (reservo memoria para n medicamentos y para ]nombre y direccion)

...


Pero como hago para que, si el usuario entra en la opción de imprimir o la de cambiar el nombre de un medicamento antes de Crear una farmacia, el programa le diga que NO hay una farmacia creada (evitar desbordamiento de memoria)?
Lo usual al implementar las listas es tener un contador para el numero de farmacias y, para cada una, del inventario. Eso puede ser manual en el caso de utilizar arrays o reserva dinámica de memoria o automático en el caso de un contenedor en C++ (por ejemplo un vector).

En un caso así basta con verificar si el contador para el numero de farmacias es cero.

Como ya te comente mejor publica el código fuente del programa.

Un saludo


Título: Re: Problema con estructuras y apuntadores
Publicado por: lanun en 31 Agosto 2013, 12:27 pm
Supongo que lo quieres que haga tu programa es poder almacenar muchas farmacias,cada una con sus atributos. Lo que yo haría sería crear esta lista de farmacias como una lista enlazada de farmacias (con punteros), y a la hora de inicializar simplemente tendrías que crear un nodo que sería el "principio de la lista" apuntando a "nada" (NULL en C++), de esa forma, cuando vayas a mostrar por pantalla la farmacia, comprobarías si ese puntero está a NULL o apunta a un "objeto farmacia" y harías una cosa u otra. Aunque también puedes implementarlo como dice rir3760 y utilizar contadores o vectores.
Espero haberte ayudado.

Saludos.