예제 #1
0
파일: main.cpp 프로젝트: hitokiri/listas-c-
int main() {
    Lista saludo;
    //saludo.add(1);
    //saludo.add(3);
    //saludo.add(2);
    //saludo.add(4);
    //saludo.show();
//    cout<< "lolol";
   // cout << "Hello, World!" << endl;
    fecha_  fecha = new Fecha(1,2,3);
    char *n = "hiko";
    char *a = "hitokiri";
    float s= 12;
    saludo.insertar(n,a,fecha,s);
    char *n1 = "hiko11";
    char *a1 = "hitokiri";
    float s1= 12;
    saludo.insertar(n1,a1,fecha,s);
    saludo.Mostrar();
    cin.get();
    return 0;
}
예제 #2
0
int main()
{
    Lista l;

    l.agregar(new Perro(5,"hola"));
    l.agregar(new Perro(5,"adios"));
    l.agregar(new Perro(8,"valemadre"));
    l.insertar(new Lora(4,"blu"),9);

    cout<<l.buscar("adios")->edad<<endl;

    return 0;
}
예제 #3
0
int _tmain(int argc, _TCHAR* argv[])
{


	srand(time(NULL));

	Lista l;
	cout << "Crear una lista l con los valores, 2,3,6,7" << endl;
	l.insertarFinal(new ElementoInt(2));
	l.insertarFinal(new ElementoInt(3));
	l.insertarFinal(new ElementoInt(6));
	l.insertarFinal(new ElementoInt(7));
	cout << "La lista l es: " << l << endl;
	cout << endl;
	
	cout << "Insertar el elemento 12, al inicio" << endl;
	l.insertarInicio(new ElementoInt(12));
	cout <<"La lista l es: "<< l << endl;
	cout << endl;

	cout << "Insertar el elemento 67, en la posicion 2" << endl;
	l.insertar(new ElementoInt(67), 2);
	cout << "La lista l es: " << l << endl;
	cout << endl;

	cout << "Remover el elemento del final" << endl;
	l.removerFinal();
	cout << "La lista l es: " << l << endl;
	cout << endl;

	cout << "Remover el elemento del inicio" << endl;
	l.removerInicio();
	cout << "La lista l es: " << l << endl;
	cout << endl;

	cout << "Remover el elemento de la posicion 2" << endl;
	l.remover(2);
	cout << "La lista l es: " << l << endl;
	cout << endl;

	system("pause");
	return 0;

}
예제 #4
0
//Funcion privada que realiza todas las simetrias segun la opcion que
//le pase, X = simetria eje X, Y = simetria eje Y y A = ambas simetrias
Lista<char> Simbolo::simetria(char opcion){	
	//Lista<char> simetrica(figura); //No funciona bien el constructor de copia de esta reprensentacion	
	Lista<char> simetrica;
	
	for(Lista<char>::posicion pos = figura.primera(); pos != figura.fin(); pos = figura.siguiente(pos)){
		simetrica.insertar(figura.elemento(pos), simetrica.fin());
	}
	
	Lista<char>::posicion pos = simetrica.primera();
	
	while(pos != simetrica.fin()){
		
		if(opcion == 'Y' || opcion == 'A'){// A = Ambos
		
			if(simetrica.elemento(pos) == 'D'){
				simetrica.elemento(pos) = 'I';
			}
			else if(simetrica.elemento(pos) == 'I'){
				simetrica.elemento(pos) = 'D';
			}
		}
		
		if(opcion == 'X' || opcion == 'A'){// A = Ambos
			
			if(simetrica.elemento(pos) == 'B'){
				simetrica.elemento(pos) = 'S';
			}
			else if(simetrica.elemento(pos) == 'S'){
				simetrica.elemento(pos) = 'B';
			}
		}
		
		pos = simetrica.siguiente(pos);
	}
	
	return simetrica;
}
예제 #5
0
파일: main.cpp 프로젝트: jimmybanegas93/TDA
int main()
{
    Arreglo arr;
    Lista lista;
    int op;

   do{
      cout << "\nIngrese la opcion : "<<endl;
      cout << "1. Insertar nuevo empleado  "<<endl;
      cout << "2. Inicio  "<<endl;
      cout << "3. Final  "<<endl;
      cout << "4. Siguiente  "<<endl;
      cout << "5. Recuperar  "<<endl;
      cout << "6. Eliminar "<<endl;
      cout << "7. Mover  "<<endl;
      cout << "8. Imprimir empleados  "<<endl;

      cin>>op;

      switch(op)
      {
        case 1:
         {
          int id;
          string nombre;
          int pos;
          cout << "\nIngrese la posicion donde insertar  ";
          cin>>pos;
          cout << "\nIngrese el codigo de empleado  ";
          cin>>id;
          cout << "Ingrese el nombre  ";
          cin>>nombre;

          Nodo *a = new Nodo(id,nombre) ;

          if(lista.insertar(pos,a))
              cout << "\nInsertado exitosamente  "<<endl;
          else
              cout << "\nNo se pudo insertar  "<<endl;
         }
          break;
        case 2:
         {
          Nodo* b = lista.ini();

          if(b!=NULL)
          {
              cout<<"\nEl inicio es: ";
              cout<<"-----"<<b->emp->id<<" ";
              cout<<b->emp->nombre<<endl;
          }
          else
              cout<<"\nArreglo vacio"<<endl;
         }
          break;
         case 3:
          {
          Nodo* c=lista.fin();

          if(c!=NULL)
          {
              cout<<"\nEl fin es: ";
              cout<<"-----"<<c->emp->id<<" ";
              cout<<c->emp->nombre<<endl;
          }
          else
            cout<<"\nArreglo vacio"<<endl;
          }
          break;
      case 4:
       {
          int pos;
          cout << "\nIngrese la posicion para conocer su siguiente ";
          cin>>pos;
          Nodo* c=lista.siguiente(pos);

       if(c!=NULL)
       {
           cout<<"\nEl siguiente de la posicion "<<pos<<" es: ";
           cout<<"-----"<<c->emp->id<<" ";
           cout<<c->emp->nombre<<endl;
       }
       else
         cout<<"\nEsta posicion no tiene siguiente"<<endl;
       }
       break;

         case 5:
         {
          int p1;
          cout<<"\nIngrese la posicion a buscar: ";
          cin>>p1;
          Nodo * d= lista.recuperar(p1);
          if(d!=NULL)
          {
              cout<<"-----"<<d->emp->id<<" ";
              cout<<d->emp->nombre<<endl;
          }
          else
              cout<<"No se encuentra, revise parametros"<<endl;

         }
             break;
        case 6:
         {
          int p;
          cout<<"\nIngrese la posicion a eliminar: ";
          cin>>p;
          if(lista.eliminar(p))
             cout<<"\nEliminado exitosamente"<<endl;
          else
             cout<<"\nNo se pudo eliminar, revise los parametros "<<endl;

         }
          break;
        case 7:
          {
              int from,to;
              cout<<"\nIngrese la posicion de procedencia: ";
              cin>>from;
              cout<<"\nIngrese la posicion de destino: ";
              cin>>to;
              lista.mover(from,to);
          }
          break;
        case 8:
          {
              cout<<"\nListando empleados "<<endl;
              lista.imprimir();
          }
          break;
      }

    }while ( op >= 1 && op<=8 );

    return 0;
}