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

crear submenus con funciones

Estas en el tema de crear submenus con funciones en el foro de C/C++ en Foros del Web. hola ee les quisiera pedir su ayuda para realizar los submenus osea = se q tengo la media embarra en el codigo pero quiero saber ...
  #1 (permalink)  
Antiguo 20/04/2009, 19:10
 
Fecha de Ingreso: abril-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Pregunta crear submenus con funciones

hola ee les quisiera pedir su ayuda para realizar los submenus osea = se q tengo la media embarra en el codigo pero quiero saber como hago los submenus, lo otro yo lo corrijo no se preocupen xD

Realiza un programa menú que permita realizar opciones trabajando con 2 Pilas y 2 Colas listas.
La información que tiene cada nodo de las listas es la siguiente:

 código de carrera: entero
 nombre de la carrrera: 30 caracteres
 número de semestres: entero

Menú de opciones:
1. Trabajando con Pilas
2. Trabajando con Filas o colas
3. Sacar nodo de la segunda Pila e insertar en la Primera Cola.
4. Sacar nodo de la segunada cola e insertar en la primera Pila.
5. Todos los nodos de la Primera pila agregar a la Primera Cola.

Para las opciones 1 y 2 debe realizar un submenú con las siguientes opciones.
Para opción 1.
1. Insertar nodos a la Primera Pila
2. Eliminar nodo en Primera Pila
3. Listar nodos Primera Pila.
4. Insertar nodos a la segunda Pila
5. Eliminar nodo en segunda Pila
6. Listar nodos segunda Pila.

Para opción 2
1. Insertar nodos a la Primera cola
2. Eliminar nodo en Primera cola
3. Listar nodos Primera cola.
4. Insertar nodos a la segunda cola
5. Eliminar nodo en segunda cola
6. Listar nodos segunda cola.

Para las opciones 3., 4., 5. y 6., usted debe llamar a los módulos de manejo de las listas en las funciones correspondientes.
Los algoritmos deben estar codificados en funciones con paso de parámetro.
(Ejemplo: Para insertar en pila debe ser una sola función para las 2 pilas pedidas; debe pasar parámetros para saber a cual se le agregará nodo…… esto es ig

Código c++:
Ver original
  1. #include <stdio.h>
  2. #include <conio.h>
  3. struct pila
  4. {
  5.   int cdo;
  6.   char nombre[20];
  7.   int  nusem;
  8. };
  9. int tope,s,izq,dere,pil[10],pil2[10];
  10. pila nod[10];
  11. void crearpila( int &tope, int &maxpila, int &s)
  12. {
  13.  do
  14.  {
  15.   printf("\n ingrese el  maximo de la pila :");
  16.   scanf("%d",&maxpila);
  17.   scanf("%d",&maxpila);
  18.   }while((maxpila<=0 || maxpila>=11-1));
  19.   tope=0;
  20.   s=1;
  21.   printf("\n ambas pilas creadas ");
  22. }
  23. void insertarnodos( int &tope, int &maxpila, int &s)
  24. {
  25.  if(s==1)
  26.   {
  27.     if(tope==max)
  28.      printf("\n overflow, pila llena :");
  29.      else
  30.      {
  31.       printf("\n ingrese nodos _");
  32.       scanf("%d",&nod.nodo);
  33.       tope=tope+1;
  34.       pil[tope]=nod.nodo;
  35.      }
  36.    }
  37.     else printf(" pila no creada ");
  38. }
  39. void borrar( int &tope, int &maxpila, int&s)
  40. {
  41.   if(s==1)
  42.   {
  43.    if(tope==0)
  44.        printf(" underflow,plila vacia :");
  45.      else
  46.      {
  47.       nodo=pila[tope];
  48.       tope=tope-1;
  49.       }
  50.     }
  51.     else printf(" pila no creada \n");
  52. }
  53. void listar( int &tope, int & maxpila, int &s)
  54. {
  55.   if(s==1)
  56.     if(tope==0)
  57.       printf("\n underflow, pila vacia");
  58.       else
  59.       for(i=1;i<=tope;i++)
  60.       printf("%d,",pila[i]);
  61.       else printf("pila no creada\n");
  62. }
  63. int cola[9],maxcola,dere,izq,s1,nodo,i,j,k,n;
  64. void crear()
  65. {
  66.  do
  67.  {
  68.    printf("\n ingresar valor :");
  69.    scanf("%d",&maxcola);
  70.  }while((maxcola<=0 || maxcola>=9-1));
  71.   izq=0;
  72.   dere=0;
  73.   s1=1;
  74.   printf(" cola creada \n");
  75. }
  76. void corremiento()
  77. {
  78.  if(s1==1)
  79.  {
  80.   k=izq+1;
  81.   n=dere-izq;
  82.   for(j=0;j<=n;j++)
  83.   {
  84.    cola[i]=cola[k];
  85.    k++;
  86.   }
  87.   izq=0;
  88.   dere=n;
  89.  }
  90.  else printf("cola no creada\n");
  91. }
  92. void insertar()
  93. {
  94.   if(s1==1)
  95.     if(dere==maxcola)
  96.       if(izq==0)
  97.     printf("\n overflow, cola llena");
  98.       else{//llamada a una funcion corremiento de cola no se como se hace
  99.     corremiento();
  100.     printf("\n ingrese nodo :");
  101.     scanf("%d",&nodo);
  102.     dere++;
  103.     cola[dere]=nodo;
  104.       }
  105.     else{
  106.       printf(" ingrese nodo \n");
  107.       scanf("%d",&nodo);
  108.       dere++;
  109.       cola[dere]=nodo;
  110.     }
  111.   else printf("\n cola no creada");
  112. }
  113.  
  114.  
  115. void eliminar()
  116. {
  117.  if(s1==1)
  118.  {
  119.   if(izq==dere)
  120.    printf("\n underflow, cola vacia");
  121.   else
  122.   {
  123.   nodo=cola[izq+1];
  124.   izq=izq+1;
  125.   }
  126.  }
  127.   else printf("cola no creada \n");
  128. }
  129. void listar()
  130. {
  131.  if(s1==1)
  132.  {
  133.   if(izq==dere)
  134.   {
  135.    printf("\n underflow,cola vacia");
  136.   }
  137.   else
  138.   {
  139.    for(i=izq+1;i<=dere;i++)
  140.    printf(" %d",cola[i]);
  141.   }
  142.  }
  143.  else printf("\n cola no creada");
  144. }
  145.  
  146.  
  147. void menu()
  148. {
  149.  printf("1)trabajando con pilas\n");
  150.  printf("2)trabajando con colas\n");
  151.  printf("3)sacar nodo de la segunda pila e insertar en la primera cola\n");
  152.  printf("4)sacar nodo de la segunda cola e insertar en la primera pila \n");
  153.  printf("5)todos los nodos de la primera pila agregar a la primera cola\n");
  154.  printf("");printf("");
  155. }
  156. switch(op)
  157.     { case 1 : crearpila(tope1,maxpila1,s1);
  158.            printf("\n insertar nodos en la primera pila : ");
  159.            printf("\n eliminar nodo en la primera pila : ");
  160.            printf("\n listar nodo en la primera pila :");
  161.            printf("\n inserttar nodo en la segunda pila :");
  162.            printf("\n eliminar nodos en la segunda pila :");
  163.            printf("\n listar nodos en la segunda pila :");
  164.     break;
  165.  
  166.       case 2 : crearpila(tope2,maxpila2,s2);
  167.             printf("\n insertar nodos en la primera pila : ");
  168.            printf("\n eliminar nodo en la primera pila : ");
  169.            printf("\n listar nodo en la primera pila :");
  170.            printf("\n inserttar nodo en la segunda pila :");
  171.            printf("\n eliminar nodos en la segunda pila :");
  172.            printf("\n listar nodos en la segunda pila ");
  173.  
  174.       break;
  175.       case 3 : insertarnodo(tope1,maxpila1,s1);
  176.          
  177.  
  178.       break;
  179.       case 4 : insertarnodo(tope2,maxpila2,s2);
  180.             printf("\n insertar nodos en la primera pila : ");
  181.            printf("\n eliminar nodo en la primera pila : ");
  182.            printf("\n listar nodo en la primera pila :");
  183.            printf("\n inserttar nodo en la segunda pila :");
  184.            printf("\n eliminar nodos en la segunda pila :");
  185.            printf("\n listar nodos en la segunda pila :");
  186.       break;
  187.       case 5 : eliminarnodo(tope1,maxpila1,s1,nodo1);
  188.             printf("\n insertar nodos en la primera pila : ");
  189.            printf("\n eliminar nodo en la primera pila : ");
  190.            printf("\n listar nodo en la primera pila :");
  191.            printf("\n inserttar nodo en la segunda pila :");
  192.            printf("\n eliminar nodos en la segunda pila :");
  193.            printf("\n listar nodos en la segunda pila :");
  194.       break;
  195.       case 6 : eliminarnodo(tope2,maxpila2,s2,nodo2);
  196.             printf("\n insertar nodos en la primera pila : ");
  197.            printf("\n eliminar nodo en la primera pila : ");
  198.            printf("\n listar nodo en la primera pila :");
  199.            printf("\n inserttar nodo en la segunda pila :");
  200.            printf("\n eliminar nodos en la segunda pila :");
  201.            printf("\n listar nodos en la segunda pila :");
  202.       break;
  203.       case 7 : listarnodo(tope1,maxpila1,s1,nodo1);
  204.              printf("\n insertar nodos en la primera pila : ");
  205.            printf("\n eliminar nodo en la primera pila : ");
  206.            printf("\n listar nodo en la primera pila :");
  207.            printf("\n inserttar nodo en la segunda pila :");
  208.            printf("\n eliminar nodos en la segunda pila :");
  209.            printf("\n listar nodos en la segunda pila :");
  210.       break;
  211.       case 8 : listarnodo(tope2,maxpila2,s2,nodo2);
  212.            
  213.       break;
  214.       case 9 : crearcola(tope1,maxpila1,s1,nodo1);
  215.            printf("\n insertar nodos en la primera cola ");
  216.            printf("\n eliminar nodos en la primera cola ");
  217.            printf("\n listar nodos en la primera cola ");
  218.            printf("\n insertar nodos a la segunda cola ");
  219.            printf("\n eliminar nodos en la segunda cola  ");
  220.            printf("\n listar nodos en la segunda cola ");
  221.  
  222.       break;
  223.       case 10 : crearcola(tope2,maxpila2,s2,nodo2);
  224.              printf("\n insertar nodos en la primera cola ");
  225.            printf("\n eliminar nodos en la primera cola ");
  226.            printf("\n listar nodos en la primera cola ");
  227.            printf("\n insertar nodos a la segunda cola ");
  228.            printf("\n eliminar nodos en la segunda cola  ");
  229.            printf("\n listar nodos en la segunda cola ");
  230.  
  231.       break;
  232.       case 11 : corremiento(tope1,maxpila1,s1,nodo1);
  233.              printf("\n insertar nodos en la primera cola ");
  234.            printf("\n eliminar nodos en la primera cola ");
  235.            printf("\n listar nodos en la primera cola ");
  236.            printf("\n insertar nodos a la segunda cola ");
  237.            printf("\n eliminar nodos en la segunda cola  ");
  238.            printf("\n listar nodos en la segunda cola ");
  239.  
  240.       break;
  241.       case 12 : corremiento(tope2,maxpila2,s2,nodo2);
  242.              printf("\n insertar nodos en la primera cola ");
  243.            printf("\n eliminar nodos en la primera cola ");
  244.            printf("\n listar nodos en la primera cola ");
  245.            printf("\n insertar nodos a la segunda cola ");
  246.            printf("\n eliminar nodos en la segunda cola  ");
  247.            printf("\n listar nodos en la segunda cola ");
  248.  
  249.       break;
  250.       case 13 : insertarncola(tope1,maxpila1,s1);
  251.              printf("\n insertar nodos en la primera cola ");
  252.            printf("\n eliminar nodos en la primera cola ");
  253.            printf("\n listar nodos en la primera cola ");
  254.            printf("\n insertar nodos a la segunda cola ");
  255.            printf("\n eliminar nodos en la segunda cola  ");
  256.            printf("\n listar nodos en la segunda cola ");
  257.  
  258.       break;
  259.       case 14 : insertarncola(tope2,maxpila2,s2);break;
  260.              printf("\n insertar nodos en la primera cola ");
  261.            printf("\n eliminar nodos en la primera cola ");
  262.            printf("\n listar nodos en la primera cola ");
  263.            printf("\n insertar nodos a la segunda cola ");
  264.            printf("\n eliminar nodos en la segunda cola  ");
  265.            printf("\n listar nodos en la segunda cola ");
  266.  
  267.       case 15 : eliminarncola(tope1,maxpila1,s1);
  268.              printf("\n insertar nodos en la primera cola ");
  269.            printf("\n eliminar nodos en la primera cola ");
  270.            printf("\n listar nodos en la primera cola ");
  271.            printf("\n insertar nodos a la segunda cola ");
  272.            printf("\n eliminar nodos en la segunda cola  ");
  273.            printf("\n listar nodos en la segunda cola ");
  274.  
  275.       break;
  276.       case 16 : eliminarncola(tope2,maxpila2,s2);
  277.          
  278.  
  279.       break;
  280.       case 17 : listarncola(tope1,maxpila1,s1);
  281.              
  282.       }
  283. esta es como la idea q tengo pero toi confundido. desd ya agradesco su ayuda :)
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 13:47.