aqui  le anexo  un cvodigo parecido  que  hice  para  una biblioteca  ojo  solo tienes  que  cambiar  los  datos de  entrada  y ya  esta  este codigo trabaja  sobre  memoria  dinamica  , si quieres  lo puedes  poner  a  trabajar  con  ficheros  y sera  mucho mejor<br>
<br>#include<iostream.h><br>#include<stdlib.h><br>#include<stdio.h><br>#include<conio.h><br>#include<string.h><br><br>struct libro<br>{<br>char nomlib[50];<br>char autlib[50];<br>char editlib[50];<br>
char  cod[30];<br>struct libro *sig;<br>struct libro *ant;<br>};<br>struct libro *final;<br>struct libro *ppio;<br><br>struct libro *buscar(char*);<br>void portada();<br>void ingresar(void);<br>void buscar(void);<br>void listar(void);<br>
void eliminar(struct libro **, struct libro **);<br>void dl_insert(struct libro *i, struct libro **ppio, struct libro **final);<br>void leecad(char *, char *, int), mostrar(struct libro *);<br>void menu(void);<br>int main(void)<br>
{<br>portada();<br>system("cls");<br>system("color 74");<br>ppio = final = NULL; //INICIALIZA LOS PUNTEROS<br>menu();<br><br>}<br><br><br>void menu(void)<br>{<br>system("cls");<br>int opc=0;<br>
cout<<"\nInventario de Libro en la Biblioteca de TUCHIN\n\n";<br>do<br>{<br><br>cout<<"1. Introducir un libro" <<endl;<br>cout<<"2. Eliminar un libro" <<endl;<br>
cout<<"3. Listar el archivo" <<endl;<br>cout<<"4. Buscar" <<endl;<br>cout<<"5. Salir" <<endl;<br>cout<<"\nIntroduce una opcion: ";<br>cin>>opc;<br>
<br>switch(opc)<br>{<br>case 1: ingresar(); //INTRODUCIR UN libro<br>break;<br>case 2: eliminar(&ppio, &final); //ELIMINA UNA DIRECCION<br>break;<br>case 3: listar();//MOSTRAR LA LISTA<br>break;<br>case 4: buscar();//ENCONTRAR UNA DIRECCION<br>
break;<br>case 5: exit(0);<br>}<br><br><br><br><br>}while(opc!=5);<br>clrscr();<br><br>}<br><br><br>void ingresar(void)<br>{<br>struct libro *b;<br>char n;<br>system("cls");<br><br><br>b = (struct libro *)malloc(sizeof(struct libro));<br>
do<br>  {<br>system("cls");<br>if(!b)<br>{<br>cout<<endl <<"no hay memoria";<br>return;<br>}<br><br>leecad("\nIntroduce el nombre del libro: ", b->nomlib, 50);<br>if(!b->nomlib[0]) break; //parar el proceso<br>
leecad("Introduce el autor del libro: ", b->autlib, 50);<br>leecad("Introduce la editorial del libro: ", b->editlib, 50);<br>leecad("Introduce el codigo ISBN: ", b->cod,30);<br>dl_insert(b, &ppio, &final);<br>
gotoxy(5,15);cout<<"Para introducir otro libro intro S/N"<<endl;<br>gotoxy(5,16);cin>>n;<br><br>}<br>while((n=='s')||(n=='S'));<br>menu();<br>clrscr();<br>}<br><br><br>void leecad(char *indic, char *s, int cont)<br>
{<br>char p[255];<br>do<br>{<br>printf(indic);<br>fgets(p, 254, stdin);<br>}while(strlen(p) > cont);<br>p[strlen(p)-1] = 0; //Eliminar el salto de linea<br>strcpy(s, p);<br>}<br><br>void dl_insert(<br>struct libro *i, //nuevo elemento<br>
struct libro **ppio, //primer elemento de la lista<br>struct libro **final //ultimo elemento de la lista<br>)<br>{<br>struct libro *ant, *p;<br>if(*final == NULL) //primer elemento de la lista<br>{<br>i->sig = NULL;<br>
i->ant = NULL;<br>*final = i;<br>*ppio = i;<br>return;<br>}<br>p = *ppio; //principio de la lista<br>ant = NULL;<br>while(p)<br>{<br>if(strcmp(p->nomlib, i->nomlib) <0)<br>{<br>ant = p;<br>p = p->sig;<br>}<br>
else<br>{<br>if(p->ant)<br>{<br>p->ant->sig = i;<br>i->sig = p;<br>i->ant = p->ant;<br>p->ant = i;<br>*ppio = i;<br>return;<br>}<br>i->sig = p; //nuevo primer elemento<br>i->ant = NULL;<br>p->ant = i;<br>
*ppio = i;<br>return;<br>}<br>}<br>ant->sig = i; //ponerlo en el final<br>i->sig = NULL;<br>i->ant = ant;<br>*final = i;<br>}<br><br><br>void eliminar(struct libro **ppio, struct libro **final)<br>{<br>struct libro *b;<br>
char s[80];<br>leecad("Introduce el nombre del libro: ", s, 30);<br>b = buscar(s);<br>if(b)<br>{<br>if(*ppio==b)<br>{<br>*ppio=b->sig;<br>if(*ppio) (*ppio)->ant =NULL;<br>else *final = NULL;<br>}<br>else<br>
{<br>b->ant->sig = b->sig;<br>if(b != *final)<br>b->sig->ant = b->ant;<br>else<br>*final = b->ant;<br>}<br>free(b); //devolver la memoria al sistema<br>}<br>clrscr();<br>}<br><br><br>struct libro *buscar(char *nomlib)<br>
{<br>struct libro *b;<br>b = ppio;<br>while(b)<br>{<br>if(!strcmp(nomlib, b->nomlib))<br>return b;<br>b = b->sig; //obtener siguiente direccion<br>}<br>cout<<"nombre no encontrado" <<endl;<br>return NULL; //no encontrado<br>
}<br><br><br><br>void listar(void)<br>{<br>struct libro *b;<br>b = ppio;<br>while(b)<br>{<br>mostrar(b);<br>b = b->sig; //obtener la siguiente direccion<br>}<br>cout<<endl <<endl;<br>}<br><br><br>void mostrar(struct libro *b)<br>
{<br>cout<<b->nomlib<<"-";<br>cout<<b->autlib<<"-";<br>cout<<b->editlib<<"-";<br>cout<<b->cod<<"-";<br>cout<<endl <<endl;<br>
}<br><br>void buscar(void)<br>{<br>char nomlib[50];<br>struct libro *b;<br>cout<<"Introduce el nombre del libro a encontrar: ";<br>gets(nomlib);<br>b = buscar(nomlib);<br>if(!b)<br>cout<<"no encontrado";<br>
else mostrar(b);<br>getch();<br>clrscr();<br>}<br>void portada()<br><br>{<br>system("color 73");<br>gotoxy(10,2);cout<<"ESTRUCTURA DE DATOS"<<endl;<br>gotoxy(10,6);cout<<"TRABAJO COLABORATIVO NO 2"<<endl;<br>
gotoxy(10,9);cout<<"PROFESOR HERMES MOSQUERA"<<endl;<br>gotoxy(10,14);cout<<"ESCRITO By ISAAC GARCIA SALGADO"<<endl;<br>gotoxy(10,15);cout<<"UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA(UNAD)"<<endl;<br>
gotoxy(10,19);system("pause");<br>system("cls");<br>gotoxy(10,2);cout<<"Postulado Semantico"<<endl;<br>gotoxy(10,8);cout<<"la biblioteca publica del municipio de  tuchin "<<endl;<br>
gotoxy(10,9);cout<<"nesesita  crear  un software  para  que  haga el inventario"<<endl;<br>gotoxy(10,10);cout<<"de  libros  que   tiene  la  biblioteca  en stock"<<endl;<br>gotoxy(10,11);cout<<",por tanto se  contacta  la compañia  de soluciones  software"<<endl;<br>
gotoxy(10,12);cout<<"softisaacs, tal programa  debe  incluir  el nombre del libro"<<endl;<br>gotoxy(10,13);cout<<",autor,editorial y codigo isbn, tal programa  debe"<<endl;<br>gotoxy(10,14);cout<<"permitir  remocion libre de  libros,busqueda,"<<endl;<br>
gotoxy(10,15);cout<<"eliminacion del stock,actualizacion y mostrar"<<endl;<br>gotoxy(10,16);cout<<"listado de libros."<<endl;<br>gotoxy(10,19);system("pause");<br><br>
}<br><br><br><br><br><br><div class="gmail_quote">El 10 de noviembre de 2010 15:00, luis alfonso jimenez mejia <span dir="ltr"><<a href="mailto:viejolajimenez@gmail.com">viejolajimenez@gmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">eso lo haces  con una  lista doblemente  enlazada  o una estructura  tipo arbol, y trabajar  con memoria  dinamica<br>
<br><div class="gmail_quote">El 7 de noviembre de 2010 23:56, james rojas arciniegas <span dir="ltr"><<a href="mailto:james4521@hotmail.com" target="_blank">james4521@hotmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div></div><div class="h5">



<div>
hola a todo necesito una ayuda.<br>necesito crear un programa donde pueda ingresar cedula, numero historia clinica, nombre y muchas otras cosas mas y que pueda ingrsar informacion, modificar, buscar, eliminar.<br>c hoooooooo espero me colaboren<br>

<br><br><font face="Lucida Handwriting, Cursiva"><img src=""><i><b><font size="5"><font face="Comic Sans MS">Ja<font color="#008000">me</font><font color="#008000"><font color="#000000">s</font> </font>R<font color="#993300">oj</font></font></font><font color="#000000"><font face="Comic Sans MS" size="5">as</font><img src=""></font></b></i></font><br>

<br><br>                                      </div>
<br></div></div>_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br></blockquote></div><br>
</blockquote></div><br>