Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Ayuda con un programa

Estas en el tema de Ayuda con un programa en el foro de C/C++ en Foros del Web. hola inicio este tema para ver si me pueden ayudar con un asusntito que me complica un poco, nito saber o entender como puedo incorporar ...
  #1 (permalink)  
Antiguo 17/09/2009, 22:16
 
Fecha de Ingreso: septiembre-2009
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
Ayuda con un programa

hola

inicio este tema para ver si me pueden ayudar con un asusntito que me complica un poco, nito saber o entender como puedo incorporar una pila dentro de una lista enlasada

osea nito crear una lista enlasada, en la cual se van a colocar los datos los cuales iran almacenados en pilas

pues bueno ya tengo creada la lista en el siguiente codigo y ojala me puedan ayudar a incorporar la pila y asi poder crearle las funciones correspondientes
de antemano muchisimas gracias

CODIGO:

#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>

typedef struct _nodo {
int id;
char nombre_sector[25];
int valor_entrada;
struct _nodo *siguiente;
struct personas *posicion;
} tipoNodo;

typedef struct personas{
char nombre[25];
int fono;
struct personas *posicion;
}tipopersonas;

typedef tipoNodo *pNodo;
typedef tipoNodo *Lista;
typedef tipopersonas *Pila;

int menu(void);
void Insertar_sector(Lista *lista, int v, char nombre_sector[25],int valor);
int ListaVacia(Lista lista);
int menu(Lista *lista, int ID);

int Mostrar_sectores(Lista lista,int ID);
/*void Insertar_persona(Lista lista, int v);*/



int main()
{
Lista lista = NULL;
Pila pila = NULL;

pNodo p;
int ID;
ID = 0;
menu(&lista, ID);
}

int menu(Lista *lista, int ID){
int opcion;
char entrada[25];
int valor;

system("cls");
printf(" - - - ESTADIO DE RANCAGUA - - -\n\n ");
printf("1.- Crear un sector del estadio \n ");
printf("2.- Ingresar una persona en un sector especifico \n ");
printf("3.- Sacar a una persona \n ");
printf("4.- Desalojar un sector por completo \n ");
printf("5.- Eliminar un sector (si esta vacio )\n\n ");
printf("Ingrese su opcion:");
scanf("%d",&opcion);
fflush(stdin);

switch(opcion){
case 1:
system("cls");
printf("\n Ingrese el nombre del sector: ");
scanf ("%s",&entrada);
printf("\n Ingrese valor de las entradas:");
scanf ("%d",&valor);
ID = (ID + 1);
Insertar_sector(lista,ID,entrada,valor);
system("cls");
printf("\n\n sector creado exitosamente \n\n");
system("pause");
system("cls");
menu(lista,ID);

case 2:
Mostrar_sectores(*lista,ID);
menu(lista,ID);
case 3:

case 4:

case 5:
break;
}
}


void Insertar_sector(Lista *lista, int v, char nombre[25],int valor){
pNodo nuevo, anterior, aux;
nuevo = (pNodo)malloc(sizeof(tipoNodo));
nuevo->id = v;
nuevo->nombre_sector[25] = nombre[25];
nuevo->valor_entrada = valor;

if(ListaVacia(*lista)) {
nuevo->siguiente = *lista;
*lista = nuevo;}
else {
anterior = *lista;
while(anterior->siguiente)
anterior = anterior->siguiente;
nuevo->siguiente = anterior->siguiente;
anterior->siguiente = nuevo;}}

int ListaVacia(Lista lista){
return (lista == NULL);}

int Mostrar_sectores(Lista lista, int ID){
pNodo nodo = lista;
if(lista == NULL){
system("cls");
printf("No ha creado ningun sector en el estadio.....\n\n");
}
else {
int variable =1;
system("cls");
printf("Sectores disponibles:\n\n");
while(nodo) {
printf("%d.- ID: %d Nombre: %s Entrada: %d \n", variable,nodo->id,
nodo->nombre_sector,nodo->valor_entrada);
nodo = nodo->siguiente;
variable = variable+1;}
/* Insertar_persona(nodo,variable); */
}}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:05.