Ayuda con ejercicio en C

Iniciado por LoKaiiS, 12 Diciembre 2015, 17:01 PM

0 Miembros y 1 Visitante están viendo este tema.

LoKaiiS

Buenas tardes, estoy intentando hacer este ejercicio pero acabo de aprender a usar el typedef struct, cadenas, arrays... y no me aclaro mucho todavía. Quisiera saber si me podríais ayudar, no a todo el programa solo a la opción 1, la de añadir especies, que llevo horas y no sé como hacerlo con estructuras. Aquí os dejo el enunciado por si queréis ayudar un poco.

Nos han encargado que desarrollemos el prototipo de la base de datos de una
reserva natural. Esta reserva es un tanto particular, ahora veremos los detalles.
En este complejo se alojan diversas especies. Desde mamíferos hasta reptiles.
Pero no pasa nada, cómo distribuyan en celdas y espacios las especies no será
nuestro problema: nosotros sólo implementaremos un sistema que guardará las
especies que vayan entrando en la reserva.
¿Qué debemos almacenar de cada especie?
De cada especie necesitamos guardar su nombre, el número de ejemplares, la
fecha de incorporación a la reserva natural, la sección del centro donde se van a
emplazar y el habitáculo concreto.
Aunque para nosotros no es importante, nos han aclarado que una "sección"
representa una zona de la reserva, mientras que un "habitáculo" sería el sito
concreto, dentro de la sección, en que se alojan los ejemplares de una especie.
Todos los ejemplares de una especie deben estar en la misma sección y habitáculo,
pero en una misma sección pueden haber distintas especies siempre y cuando
cada especie esté en un habitáculo distinto al de las otras especies.

Así, los datos que introducirán los administrativos de la reserva tendrán el formato
siguiente:
Nombre de la especie-núm. de ejemplares-fecha de entrada-sección-habitáculo.

• Nombre de la especie: de longitud variable. Puede contener espacios y
mayúsculas.
• Núm. de ejemplares: número entero natural.
• Fecha de entrada: fecha en formato dd/mm/aaaa.
• Sección: carácter en mayúscula.
• Habitáculo: número entero natural.

Los atributos se separarán por un guión (-) sin espacios a los lados.
Además de almacenar la información, tendremos que mostrar un menú para
que los administrativos de la reserva puedan manejar la base de datos. Nuestro
sistema deberá ofrecer 4 opciones: añadir una especie, listar la información,
mostrar estadísticas y salir de la aplicación.

1.1 AÑADIR UNA ESPECIE

Cuando el usuario seleccione esta opción, el programa esperará a que el usuario
introduzca toda la cadena de texto que especifica la especie.
Nótese que:
• Si se da cualquier error de formato, el programa debe mostrar un mensaje
de error y volver al menú de selección.
• Si los datos son correctos y se introduce una especie, se debe notificar al
usuario del éxito de la operación y de cuántos espacios quedan en la base
de datos.
• Si al añadir una especie ya existe alguna entrada anterior en la base de
datos, se sumarán los ejemplares y se actualizarán el resto de los campos.
Respecto a los campos, se debe tener en cuenta que:
• El nombre de la especie no será de más de 30 carácteres en ningún caso.
• El número de ejemplares debe ser un número entero natural, pero no será
necesario controlar si el dato introducido es un número con coma fotante.
• La fecha debe respetar el formato dd/mm/aaaa y debe ser coherente. El
número de días debe ser coherente con el mes, pero no se debe controlar
si la fecha es pasada, presente o futura.
• La sección debe ser un solo carácter y en mayúscula.
• El habitáculo será un número entero natural. Se debe realizar la misma
comprobación que con el número de ejemplares.


Muchas gracias por adelantado.

SnzCeb

Una estructuctura es un tipo de dato compuesto de un conjunto de tipos qué puedes ser estructucturas o no. Hay un aspecto importante, y es que son datos definidos por el programador. ¿Cuándo necesitamos las estructuras? Cuando queremos modelizar un concepto del mundo real.

En la práctica podemos entender la estructura como un objeto/ser/ente  y los tipos de los que se compone serían atributos o características de dicho ente.

Lo que te aconsejo para abordar este tipo de problemas es leer cuidadosamente el enunciado e ir extrayendo cada posible ente y sus características. Por ejemplo:


De cada especie[\b] necesitamos guardar su nombre, el número de ejemplares, la
fecha de incorporación a la reserva natural, la sección del centro donde se van a
emplazar y el habitáculo concreto.

Nombre de la estructura -> especie
Atributos, (campos de la estructura) -> nombre, ejemplares, fecha de incorporacion, sección del centro, habitaculo


fary

Un byte a la izquierda.