soy medio nuevo en esto de la programacion y tengo que hacer un proyecto de una base de datos para entrega final. Tengo varias dudas a ver si los sabios de la comunidad me la saben resolver. Tengo que realizar una base de datos con funciones, punteros y tal que tengo algo hecho.
Código:
Ahora a partir de esto tengo que crear una funcion para borrar, modificar una especie ya introducida, aumentar y disminuir cantidad de animales...#include "funciones.h" struct caracteristicas { char nombre[15]; int edad; int peso; int cantidad; char habitat [20]; int identificacion; struct caracteristicas *siguiente; }; // Insertar especie void crear(struct caracteristicas **primera, struct caracteristicas **ultima, int *nCaracteristicas){ struct caracteristicas *especie=NULL; //puntero que apuntara a la especie que estamos creando // Asignamos el espacio de memoria necesario para la especie if ((especie=malloc(sizeof(struct caracteristicas)))==NULL){ puts("Error al asignar la memoria"); } else { // pedimos los datos de la especie puts("Dar de alta una especie:\n"); puts("Dime el nombre de la especie: "); gets(especie->nombre); fflush(stdin); puts("Dime la edad: "); scanf("%d",&especie->edad); fflush(stdin); puts("Dime el peso: "); scanf("%d",&especie->peso); fflush(stdin); puts("Dime la cantidad: "); scanf("%d",&especie->cantidad); fflush(stdin); puts("Dime el habitat: "); gets(especie->habitat); fflush(stdin); puts("Dime el numero identificativo: "); scanf("%d",&especie->identificacion); printf("\n\n"); especie->siguiente=NULL; // Ponemos siguiente a null ya que la especie actual sera la ultima if (*primera==NULL){ // Si primera es null no tenemos especies y la primera y ultima seran la actual *ultima=especie; *primera=especie; } else { // Si ya tenemos especies el puntero siguiente de la ultima persona apuntara // a la actual y la ultima sera esta (**ultima).siguiente=especie; *ultima=especie; } (*nCaracteristicas)++; puts("Insercion correcta"); } } // Mostrar las especies de la lista void mostrar(struct caracteristicas *primera){ if ((primera==NULL)){ puts("No hay personas insertadas"); } else { struct caracteristicas *carActual=primera; // Asignamos la primera especie al puntero y mostramos sus datos do { printf("Nombre: %s\nEdad: %d\nCantidad: %d\nNumero identificativo: %d\n",carActual->nombre, carActual->edad,carActual->cantidad, carActual->identificacion); printf("\n\n"); // Buscamos la siguiente persona y apuntamos a ella carActual=carActual->siguiente; } while(carActual!=NULL); } }
Si alguien me pudiera ayudar se lo agradeceria. :)