Dev - C++ - Ayuda con un programa con pilas x faaa

 
Vista:

Ayuda con un programa con pilas x faaa

Publicado por Mitsy (2 intervenciones) el 16/11/2010 22:34:40
Hola todos soy nueva aqui estoy empezando a utilizar dev-c++ y tengo un proyecto para estos dias ocupo q alguien q sepa programar bien me ayude, tengo un codigo con pilas pero para ingresar numeros necesito ese mismo codigo pero en vez de numeros ingresar nombres y edades. Gracias al q me pueda ayudar aqui les dejo el codigo que tengo pero con numeros

#include <stdio.h>
#include <conio.h>
#include "iostream"
#include <string>

# define TAM 6
#define MAX TAM-1

using namespace std;

struct
{
int tope;
int item [TAM];
}
pila;

int full(pila *);
int empty (pila *);
void push (pila *,int);
void pop (pila *, int *);

int main (int argc, int *argv[])
{
pila p,t;
int dato, opc, elemento, flag=0;
p.tope=0;
do
{
system ("cls");
printf("\n M E N U- P I L A");
printf("\n1 -> Insertar elemento");
printf("\n2 -> Eliminar elemento");
printf("\n3 -> Eliminar elemento");
printf("\n4 -> Visualizar");
printf("\n5 -> Salir");
printf("\n \n De su opcion: ");
scanf("%d", &opc);
switch (opc)

{
case 1:
if (!full (&p)) // si pila no esta llena
{
printf("\n de el elmento a insertar:");
scanf ("%d", &dato);
push(&p,dato);
printf(" \n elmento insertado...");
}
else
{
printf("\n error: pila llena");
}
break;

case 2:
if (!empty(&p))
{
pop(&p, &dato);
printf("\n el elemento eliminado es %d", dato);
}

else
{
printf("\n error: Pila vacia");
}
break;

case 3:
if (!empty(&p))
{
printf("eliminar elemento seleccionado:");
scanf("%d", &elemento);

if (p.tope !=1) {
t.tope=0;
do
{
pop(&p, &dato);
if (dato != elemento)
{
push (&t,dato);
}
}while (!empty (&p));
do
{
pop (&t,&dato);
push (&p,dato);
} while (!empty (&t));
}
else if (dato == elemento) {pop(&p, &dato); }
else { printf("el elemento no se encuentra en la pila"); }
}
else
{
printf("\n error: Pila vacia");
}
break;

case 4:
if (!empty(&p))
{
t.tope=0;
do
{
pop (&p, &dato);
printf("\n%d", dato);
push (&t, dato);
}while (!empty (&p));
do
{

pop(&t,&dato);
push (&p,dato);
}while (!empty (&t));
}
else
{
printf("\n error: Pila vacia");
}
break;

case 5:

flag=1;
break;
case 6:
flag=0;
break;

default:
printf("\n opcion no valida...");
}
if (!flag)
{
printf("\n\n presione una tecla para continuar...");
getch();
}
}while (!flag);

return 0;
}
int full (pila *p)
{
return (p->tope==MAX);

}
int empty (pila *p)
{
return (p->tope==0);
}
void push (pila *p, char dato)
{
if (!full(p))
{
(p->tope)++;
p->item [p->tope]=dato; //elemento [1]= dato
}
else
printf("\n overflow");
}
void pop (pila *p, char *dato)
{
if (!empty(p))
{
*dato=p->item[p->tope];
(p->tope)--;
}
else
printf("\n underflow");
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder