Pilas, colas y listas
En este caso también se solicita un conjunto de datos de manera iterativa a ingresar por teclado. Cuando se finaliza el ingreso, se porcede a mostrar los elementos de la pila y además seutiliza un archivo binario para transformar la pila en memoria en una estructura de datos persistente. Cada nodo de la pila, como en el
caso anterior, mantendrá una referencia al nodo siguientehaciendo posible el futuro recorrido de la misma. Luego de finalizada la muestra de los elementos de la pila, se consulta al usuario si se desea acceder a los datos de la misma almacenados en el archivobinario, para lo cual, en el caso de responder Si (S), se accede al archivo y se imprimen los registros de manera secuencial.
1. include
2. include
3. include
4. includestruct productos {
int codigo;
char nombre[50];
int existencia;
float precio;
};
struct nodo {
struct productos dato;
struct nodo *proximo;
};
/* Declaracion defunciones */ void archivo(FILE *fp); struct nodo *nuevonodo(); struct nodo *creapila(struct nodo *pri, struct productos x); void muestra(struct nodo *pri, FILE *fp); /* Fin de Declaracion */
voidmain() {
struct productos x;
struct nodo *pri=NULL;
FILE *fp;
char opcion; float auxiliar=0;
if((fp=fopen(“C:\Datos.txt”,”wb”))==NULL)
{
getch();
}fseek(fp,0,2);
do
{
fflush(stdin);
printf(“Ingrese el Codigo de Producto “);
scanf(“%d”,&x.codigo);
fflush(stdin);
printf(“Ingrese Nombre deProducto “);
gets(x.nombre);
fflush(stdin);
printf(“Ingrese la Existencia “);
scanf(“%d”,&x.existencia);
fflush(stdin);
printf(“Ingrese el Precio “);scanf(“%f”,&auxiliar); x.precio=auxiliar;
pri=creapila(pri,x);
fflush(stdin);
printf(“Desea Ingresar otro Registro? (S/N) “);
scanf(“%c”,&opcion);...
Regístrate para leer el documento completo.