// Mario J. Arroyo Garduņo 9888569-9 // Lenguajes Tecnicos II Practicas 4 y 5 // Nombre del programa : pilcol.cpp Problema de Pilas y Colas #include #include #include #include void Pilas (void); void Colas(void); void insernod (void); void delnod (void); void show (void); void forma (void); void atiende (void); void miracola (void); int op,ap=0,at=5,a[10],i; main() { textcolor(14); textbackground(1); clrscr(); op = 0; while (op != 3) { clrscr(); gotoxy(26,9); printf ("> > > Menu de opciones < < < \n\n\n"); printf (" 1.-Pilas.\n"); printf (" 2.-Colas.\n"); printf (" 3.-Salir.\n\n\n"); printf (" Teclea tu opcion: "); scanf ("%d",&op); switch(op) { case 1: Pilas(); break; case 2: Colas(); break; case 3: break; } } getch; return 0; } void Pilas(void) { int opp; opp = 0; while (opp != 4) { clrscr(); gotoxy(26,9); printf ("> > > Menu de Pilas < < < \n\n\n"); printf (" 1.-Insertar nodos.\n"); printf (" 2.-Borrar Nodos.\n"); printf (" 3.-Mostrar Pila.\n"); printf (" 4.-Salir.\n\n\n"); printf (" Teclea tu opcion: "); scanf ("%d",&opp); switch(opp) { case 1: insernod(); break; case 2: delnod(); break; case 3: show(); break; case 4: break; } } } void insernod(void) { char resp; clrscr(); resp = 'n'; if (ap > 5) printf("\n\n La pila esta llena"); else{ do{ ap = ap + 1; if (ap > 5) { printf("\n\n La pila esta llena"); resp = 'N'; getch(); ap = ap - 1; } else { printf("\nTeclee el dato: "); scanf("%d",&a[ap]); printf("\nOtro Dato? (s/n): "); resp = getch(); } }while (resp =='s' || resp =='S'); } } void delnod(void) { char resp; clrscr(); resp = 'n'; if (ap == 0) { printf("Pila Vacia!"); getch(); } else { do { printf("\nEl dato a extraer es: %d",a[ap]); ap = ap - 1; if (ap == 0) { printf("\nPila Vacia!"); getch(); resp = 'n'; } else { printf("\nOtro Dato? (s/n): "); resp = getch(); } }while (resp =='s' || resp =='S'); } } void show (void) { clrscr(); if (ap == 0) printf("Pila Vacia!"); else for (i = 1; i <= ap ; i++) { printf("Los datos de la pila son: "); printf("%d\n",a[i]); } getch(); } void Colas(void) { int opc; opc = 0; while (opc != 4) { clrscr(); gotoxy(26,9); printf ("> > > Menu de Colas < < < \n\n\n"); printf (" 1.-Insertar nodos.\n"); printf (" 2.-Borrar Nodos.\n"); printf (" 3.-Mostrar Cola.\n"); printf (" 4.-Salir.\n\n\n"); printf (" Teclea tu opcion: "); scanf ("%d",&opc); switch(opc) { case 1: forma(); break; case 2: atiende(); break; case 3: miracola(); break; case 4: break; } } } void forma(void) { char resp; clrscr(); resp = 'n'; if (at < 0) printf("\n\n La cola esta llena"); else{ do{ at = at - 1; if (at < 0 ) { printf("\n\n La cola esta llena"); resp = 'N'; getch(); at = at + 1; } else { printf("\nTeclee el dato: "); scanf("%d",&a[at]); printf("\nOtro Dato? (s/n): "); resp = getch(); } }while (resp =='s' || resp =='S'); } } void atiende(void) { char resp; clrscr(); resp = 'n'; do { if (at == 5) { printf("\nCola Vacia!"); resp = 'n'; getch(); } else { printf("\nEl dato a extraer es: %d",a[at]); at = at + 1; printf("\nOtro Dato? (s/n): "); resp = getch(); if (at == 5) { printf("\nCola Vacia!"); getch(); at = at - 1; resp = 'n'; } } }while (resp =='s' || resp =='S'); } void miracola (void) { clrscr(); if (at == 5) printf("Cola Vacia!"); else { printf("Los datos de la cola son: "); for (i = 4 ; i >= at ; i--) { printf("\n %d \n",a[i]); } } getch(); }