Ir al contenido principal

Programación en c++: Cola - encolar y desencolar nombres y edades





#include<iostream.h>
#include<conio.h>
struct nodo{
            char nombre[20];
            int edad;
            struct nodo*sgte;
            };
struct cola{ struct nodo*adelante;
             struct nodo*atras;
             };
void iniciar(struct cola&);
void encolar(struct cola&, struct nodo);
struct nodo desencolar(struct cola&);
void vercola(struct cola);
void main()
{int n,i;
 struct nodo cte;
 struct cola q;
 struct cola qI;
 struct cola qN;
 struct cola qJ;
 struct cola qA;
 struct cola qV;
 iniciar(q);
 iniciar(qI);
 iniciar(qN);
 iniciar(qJ);
 iniciar(qA);
 iniciar(qV);
 cout<<"Ingresar cantidad de personas:";
 cin>>n;
 for(i=0;i<n;i++)
 {cout<<"Nombre   :"; cin>>cte.nombre;
  cout<<"Edad     :"; cin>>cte.edad;
  encolar(q,cte);
 }
 cout<<"***Cola Original***"<<endl;
 vercola(q);
 while(q.adelante!=NULL)
 {cte=desencolar(q);
  if(cte.edad>0 && cte.edad<=6)
   encolar(qI,cte);
  if(cte.edad>6 && cte.edad<=12)
   encolar(qN,cte);
  if(cte.edad>12 && cte.edad<=23)
  encolar(qJ,cte);
  if(cte.edad>23 && cte.edad<=50)
  encolar(qA,cte);
  if(cte.edad>50)
  encolar(qV,cte);
 }
 cout<<"***Infantes***"<<endl;
 vercola(qI);
 cout<<"***Niños***"<<endl;
 vercola(qN);
 cout<<"***Jovenes***"<<endl;
 vercola(qJ);
 cout<<"***Adultos***"<<endl;
 vercola(qA);
 cout<<"***Ancianos"<<endl;
 vercola(qV);
 getch();
 }
 void iniciar(struct cola&q)
 {q.adelante=NULL;
  q.atras=NULL;
 }
 void encolar(struct cola &q,struct nodo cte)
    {
     struct nodo*p;
     p=new(struct nodo);
     *p=cte;
     p->sgte=NULL;
     if(q.adelante==NULL)
     q.adelante=p;
     else (q.atras)->sgte=p;
     q.atras=p;
    }
struct nodo desencolar(struct cola&q)
    {
     struct nodo*p;
     p=q.adelante;
     struct nodo n=*p;
     q.adelante=(q.adelante)->sgte;
     delete(p);
     return n;
    }
    void vercola(struct cola q)
     {
      struct nodo*p;
       p=q.adelante;
       while(p!=NULL)
       {cout<<p->nombre<<endl;
        p=p->sgte;
       }
       cout<<endl;
     }

cola en c++

Comentarios

Entradas más populares de este blog

Programación en c++ : Matriz - Calcular mayor de la matriz

1.- Hacer un programa que permita ingresar n datos de una matriz y calcular el mayor de la matriz. #include<iostream.h> #include<conio.h> #define lim 50 void main() {int i,j,a[lim][lim],fila,col,  may=a[0][0];  clrscr(); do {cout<<"Ingresar limite de la fila:";  cin>>fila; }while(fila<=0); do {cout<<"Ingesar limite de la columna:";  cin>>col; }while(col<=0); gotoxy(10,7); cout<<"Ingresar Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<"a["<<i<<"]"<<"["<<j<<"]";  cin>>a[i][j]; } for(i=0;i<fila;i++) for(j=0;j<col;j++) if(a[i][j]>may) may=a[i][j]; clrscr(); gotoxy(10,7); cout<<"Elementos de la matriz\n\n"; for(i=0;i<fila;i++) for(j=0;j<col;j++) {cout<<a[i][j];  cout<<"\n"; } clrscr(); gotoxy(10,20); cout...

Lenguaje de Programacion en Java: Ecuación de primer grado

public class Main {     public static void main(String[] args) {         float x,a,e;                   Scanner teclado = new Scanner(System.in);         System.out.println("Coeficiente de X:");         x=teclado.nextInt();         System.out.println("Término independiente:");         a=teclado.nextInt();         if(a==0)           System.out.println("No es una ecuación de primer grado");           else         {              e=-a/x;              System.out.println("La raíz es=" +e);         }                                     } ...

Programación en Java: Suma de los cuadrados de los primeros números

public class Main {     public static void main(String[] args) {         int n,s;                  Scanner teclado = new Scanner(System.in);         System.out.println("Ingresar cantidad de elementos:");         n=teclado.nextInt();                      s=(n*(n+1)*(2*n+1))/6;                   System.out.println("Suma de los cuadrados de los primeros números=" +s);                   }    }