elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / cabecera ethernet en: 27 Enero 2018, 00:35 am
Ayuden, denme una idea de como implementar un codigo que tenga archivos y que en el archivo me denote una cabecera Ethernet.
2  Programación / Programación C/C++ / Lista Ligada en: 14 Octubre 2017, 21:53 pm
Implementar los siguientes métodos:
- T posición(unsigned int p);
- T operator[ ](unsigned int p) // sobrecargar del operador de acceso

El método anterior y la sobrecarga retornan el elemento "T" que almacena el Nodo en su campo "dato" de acuerdo a la posición que ocupa el nodo dentro de la lista ligada. Si una posición hace referencia a un nodo que no existe, lanzar excepción.

tengo este código que puedo hacer.


.h
Código:
#ifndef LISTASIMPLE_H
#define LISTASIMPLE_H
#include <iostream>

using namespace std;

template<class T>
class Nodo{
public:
    Nodo(T dato, Nodo *s = nullptr){
        this->dato = dato;
        this->siguiente = s;
    }

private:
    T dato;
    Nodo *siguiente;

    template <class>
    friend class ListaSimple;
};

template<class T>
class ListaSimple
{
public:
    ListaSimple();
    bool vacio();
    void insertar(const T &dato);
    void insertar_ultimo(const T &dato);
    void borrar();
    void borrar_final();
private:
    Nodo<T> *raiz;
};

template<class T>
ListaSimple<T>::ListaSimple(){
    raiz = nullptr;
}

template<class T>
bool ListaSimple<T>::vacio(){
    return raiz == nullptr;
}

template<class T>
void ListaSimple<T>::insertar_ultimo(const T &dato){
    Nodo<T> *nuevo = new Nodo<T>(dato);
    if(vacio()){
        raiz = nuevo;
    }
    else{
        Nodo<T> *temp = raiz;
        while (temp->siguiente != nullptr) {
            temp = temp->siguiente;
        }
        temp->siguiente = nuevo;
    }
}

template<class T>
void ListaSimple<T>::insertar(const T &dato){
    Nodo<T> *nuevo = new Nodo<T>(dato);
    if(vacio()){
        raiz= nuevo;
    }
    else{
        nuevo->siguiente = raiz;
        raiz = nuevo;
    }
}

template<class T>
void ListaSimple<T>::borrar(){
    if(!vacio()){
        Nodo<T> *temp = raiz;
        raiz = raiz->siguiente;
        delete temp;
    }
    else {
        throw out_of_range("Imposible eliminar: lista vacia");
    }
}

template<class T>
void ListaSimple<T>::borrar_final(){
    if(!vacio()){
        Nodo<T>*temp=raiz;
        if(temp->siguiente==nullptr){
            borrar();}
        else{
            // 2 o mas elementos.
            while (temp->siguiente->siguiente != nullptr) {
                temp = temp->siguiente;}
            delete temp->siguiente;
            temp->siguiente = nullptr;
        }
    }
    else{
        throw out_of_range("Imposible eliminar: lista vacia");
    }
}


#endif // LISTASIMPLE_H
3  Programación / Programación C/C++ / Listas Estaticas en: 30 Septiembre 2017, 01:49 am
Ayuda, como puedo mostrar en listas estaticas

adjunto codigo:

lista.h
Código:
#ifndef TLISTA_H
#define TLISTA_H

using namespace std;


template <class T>
class Lista{
public:
    Lista(void);
    ~Lista(void);
    bool vacio();
    bool lleno();
    void insertar();
    int cantidad();
    void mostrar();

private:
    T arreglo[3];
    char contador;
};

template <class T>
Lista<T>::Lista(void){
    contador = 0;
}

template <class T>
Lista<T>::~Lista(void){
    delete []arreglo;
}

template<class T>
bool Lista<T>::vacio(){
    return contador==0;
}

template<class T>
bool Lista<T>::lleno(){
    return contador==3;
}

template<class T>
void Lista<T>::insertar(){
    char item;
        if(!lleno()){
            cout<<"Ingrese el valor: ";
            cin>>arreglo[item];
            cout<<"Ingrese el valor: ";
            cin>>item;
            arreglo[contador]=item;}}

template<class T>
int Lista<T>::cantidad(){
    return contador;
}

template<class T>
void Lista<T>::mostrar(){
        for(int i=0;i>3;i++){
            cout<<"Ola";
        cout<<arreglo[i];
              contador++;}
}



#endif // LISTA_H


.cpp

Código:
#include <iostream>
#include "lista.h"

using namespace std;

void menu();

int main()
{
    menu();
    return 0;
}


void menu(){
    Lista<char> List;
    bool bandera=false;
    do{
        char tecla;
            cout << "Menu principal" << endl;
            cout << "-----------" << endl << endl;
            cout << "\t1 .- Ingresar" << endl;
            cout << "\t2 .- Mostrar" << endl;
            cout << "\t3 .- Borrar" << endl;
            cout << "\t4 .- Salir" << endl;
            cout << "elige una opcion: ";

            cin >> tecla;

            switch(tecla)
            {
                case '1':
                    if(List.vacio()){
                        cout<<"Lista vacia"<<endl<<endl;}
                    cout<<"Cantidad: "<<List.cantidad()<<endl;
                    List.insertar();
                    break;

                case '2':

                    List.mostrar();
                    break;

                case '3':
                    break;

                case '4':
                    bandera=true;
                    break;
                }
                }while(bandera!=true);
}
4  Programación / Programación C/C++ / Redefinition in listas en: 20 Septiembre 2017, 01:30 am
Que tal tengo un error al compilar una lista me da error de redefinition

error: no 'E ListaEstatica<E>::Eliminar()' member function declared in class 'ListaEstatica<E>'
 E ListaEstatica<E>::Eliminar(void){
                                  ^

Adjunto codigo

Implementacion:
Código:
#ifndef LISTA_H
#define LISTA_H

template <typename E>
class Lista{
private:
    void operator=(const Lista&){};
    Lista(const Lista&){};
public:
    Lista(void){};
    virtual ~Lista(void){};
    virtual void Vaciar(void)=0;
    virtual void Insertar(const E&)=0;
    virtual void PonAlFinal(const E&)=0;
    virtual E eliminar(void)=0;
    virtual void IrAlInicio(void)=0;
    virtual void Anterior(void)=0;
    virtual void Siguiente(void)=0;
    virtual int Tamanio(void)const=0;
    virtual int PosicionActual(void)const=0;
    virtual void IrAPosicion(void)=0;
    virtual const Lista &ObtenerElemento(void)const=0;
};

#endif // LISTA_H

Implementacion estatica:
Código:
#include "lista.h"

template <typename E>
class ListaEstatica: public Lista<E>{
private:
    int TamanioMaximo;
    int TamanioActual;
    int PosActual;
    E *Arreglo;
public:
    ListaEstatica(int){};
    ~ListaEstatica(void){};
    void Vaciar(void);
    void Insertar(const E&);
    void PonAlFinal(const E&);
    E eliminar(void);
    void IrAlInicio(void);
    void Anterior(void);
    void Siguiente(void);
    int Tamanio(void)const;
    int PosicionActual(void)const;
    void IrAPosicion(void);
    const E &ObtenerElemento(void)const;};

//Constructor
template <typename E>
 ListaEstatica<E>::ListaEstatica(int Tamanio){
    TamanioMaximo=Tamanio;
    TamanioActual=PosActual=0;
    Arreglo=new E[Tamanio];}

//Destructor
template <typename E>
ListaEstatica<E>::~ListaEstatica(void){
    delete[]Arreglo;}

template<typename E>
void ListaEstatica<E>::Vaciar(void){
    delete[]Arreglo;
    TamanioActual=PosActual=0;
    Arreglo=new E[TamanioMaximo];}

template<typename E>
void ListaEstatica<E>::Insertar(const E& A){
    for(int i=TamanioMaximo;i>PosActual;i--){
        Arreglo[i]=Arreglo[i-1];}
        Arreglo[PosActual]=A;
        TamanioMaximo++;}

template<typename E>
void ListaEstatica<E>::PonAlFinal(const E& A){
    Arreglo[TamanioActual++]=A;}

template<typename E>
E ListaEstatica<E>::Eliminar(void){
    E A=Arreglo[PosActual];
    for(int i=PosActual;i<TamanioActual;i++){
        Arreglo[i]=Arreglo[i+1];}
    TamanioActual--;
    return A;
}

template<typename E>
void ListaEstatica<E>::IrAlInicio(void){
    for(int i=PosActual;i<TamanioActual;i--){
        Arreglo[PosActual];}}

AYUDA QUE PUEDO HACER
5  Programación / Programación C/C++ / clase Complejo para definir un numero complejo y realizar las operaciones en: 30 Agosto 2017, 06:22 am
!ayuda!
1) Codifique la interfaze implementación de la clase Complejo para definir un numero complejo y realizar las operaciones aritmeticas sobre numeros complejos, siga el diseño de la clase.
2) cree un objeto complejo y compruebe el funcionamiento del mismo.

Interfaz de la clase complejo.

Código
  1. //clases/complejo.h
  2. /*Interfaz de la clase complejo*/
  3.  
  4. #ifndef complejo_H
  5. #define complejo_H
  6.  
  7. class complejo
  8. private:
  9.    float real;
  10.    float imaginario;
  11. public:
  12.    complejo(float real,float imaginario);
  13.    float obtenerReal(void);
  14.    float obtenerImaginario(void);
  15.    void suma(sumando1 complejo, sumando2 complejo);
  16.    void resta(minuendo complejo, sustraendo complejo);
  17.    void multiplicacion(multiplicando complejo, multiplicador complejo);
  18.    void division(dividendo complejo, divisor complejo);
  19. #endif // complejo_H
  20.  

Implementación de la clase complejo.

Código
  1. //clases/complejo.cpp
  2. /*
  3. **Implementación de la clase complejo.*/
  4.  
  5. #include <iostream>
  6. #include "complejo.h"
  7. using std::cout;
  8. using std::endl:
  9.  
  10. complejo::complejo(float real,float imaginario){
  11.    this->real=real;
  12.    this->imaginario=imaginario;}
  13. float complejo::obtenerReal(void){
  14.    real=1;}
  15. float complejo::obtenerImaginario(void){
  16.    imaginario=1;}
  17. void complejo::suma(sum1 real, sum2 imaginario){
  18.    suma(sum1+sum2);}
  19. void complejo::resta(minuendo real, sustraendo imaginario){
  20.    resta(real-imaginario);}
  21. void complejo::multiplicacion(multiplicando real, multiplicador imaginario){
  22.    multiplicacion(real*imaginario);}
  23. void complejo::division(dividendo real, divisor imaginario){
  24.    division(real/imaginario);}
  25.  
  26. int main(void){
  27.    complejo c;
  28.    c.suma();
  29.    c.resta();
  30.    c.multiplicacion();
  31.    c.division();
  32.    return 0;
  33. }
  34.  

me da error o no se en que estoy mal adjunte el codigo que llevo no se que me falte.
AYUDA!!


· Los titulos deben ser descriptivos
>aquí las reglas del foro
-Engel Lex
6  Programación / Programación C/C++ / Arreglos en: 23 Agosto 2017, 04:43 am
Tengo una duda probeniente de mi estructura, al compilarlo no me da los ressultados que requiero como en "AM" y el  "PM" ni el horario ya cheque pero no feo cual sea el error

Código:
#include <stdio.h>

struct Hora{
    int hora;
    int minuto;
    int segundo;};

struct Hora inicializa(void);
void estableceHora(struct Hora *var, int hor, int min,int seg);
void imprimeMilitar(struct Hora *var);
void imprimeEstandar(struct Hora *var);

int main(void){
    struct Hora h=inicializa();
    imprimeMilitar(&h);
    imprimeEstandar(&h);
    estableceHora(&h,13,27,6);
    imprimeEstandar(&h);
    imprimeEstandar(&h);
    estableceHora(&h,66,66,66);
    imprimeMilitar(&h);
    imprimeEstandar(&h);
    return 0;}

struct Hora inicializa(void){
struct Hora horacero={0,0,0};
return horacero;}

void estableceHora(struct Hora *var, int hor,int min,int seg){
    var->hora=(hor>=0&&hor<24)?hor:0;
    var->hora=(min>=0&&min<60)?hor:0;
    var->hora=(seg>=0&&seg<60)?hor:0;}

void imprimeMilitar(struct Hora *var){
    printf("%s%i:%s%i\n",(*var).hora<10?"0":"",(*var).hora,(*var).minuto<10?"0":"",(*var).minuto);}

void imprimeEstandar(struct Hora *var){
    printf("%i:%s%i:%s%i\n",((*var).hora==0||(*var).hora==12)?12:(*var).hora%12,(*var).minuto<10?"0":"",(*var).segundo<10?"0":"",(*var).segundo,(*var).hora<12?"AM":"PM");}

7  Programación / Programación C/C++ / Enum en: 20 Agosto 2017, 19:10 pm
Como puedo definir una constante de enumeración, que asocie el nombre del mes con el numero de mes correspondiente a cada semestre escolar.

EJEMPLO: Enero es el primero mes del primer ciclo y julio es el ultimo mes del ciclo .
Agosto es el primer mes del segundo ciclo y diciembre es el ultimo mes del ciclo.

AYUDA!!.
8  Programación / Programación C/C++ / Arreglos en: 20 Agosto 2017, 02:16 am
Tengo una duda con un arreglo, porque el iterador me da 4, a que se debe, AYUDA?

Código:
//Arreglo/error.cpp/
#include <iostream>

using std::cout;
using std::endl;

int main(void){

    int i=0;
    int arreglo[3]={3,3,3};
    arreglo[i++]=1;
    arreglo[i++]=2;
    arreglo[++i]=4;
    cout<<"arreglo[0]= "<<arreglo[0]<<endl;
    cout<<"arreglo[1]= "<<arreglo[1]<<endl;
    cout<<"arreglo[2]= "<<arreglo[2]<<endl;
    cout<<"iterador i= "<<i<<endl;
    return 0;
}
9  Programación / Programación C/C++ / buscar en struct en: 29 Abril 2017, 22:55 pm
q tal me dejaron hacer una agenda de pacientes
mi error es como buscar en una estructura
adjunto mi proyecto

Código:
struct paciente{char nombre_p[20],app_p[10],apm_p[10],gen_p[15],ed_p[5],tel_p[15],tipos_p[10];}p[5];

gotoxy(35,3);printf("Captura del paciente %d.",i+1);fflush(stdin);
        gotoxy(35,5);printf("Nombre: ");gets(p[i].nombre_p);fflush(stdin);
        gotoxy(35,6);printf("apellido paterno: ");gets(p[i].app_p);fflush(stdin);
        gotoxy(35,7);printf("apellido materno: ");gets(p[i].apm_p);fflush(stdin);
        gotoxy(35,8);printf("Genero: ");gets(p[i].gen_p);fflush(stdin);
        gotoxy(35,9);printf("Edad: ");gets(p[i].ed_p);fflush(stdin);
        gotoxy(35,10);printf("Telefono: "); gets(p[i].tel_p);fflush(stdin);
        gotoxy(35,11);printf("Tipo Sangre: ");gets(p[i].tipos_p);fflush(stdin);
        gotoxy(38,13);printf("Captura terminada\n\n");


    int j;
    for (j=0; j<=i; j++){
    gotoxy(40,2);printf("Mostrar Pacientes.");
    gotoxy(42,4);printf("Paciente %d.\n",j+1);
    gotoxy(38,6);printf("Nombre: %s",p[j].nombre_p);
    gotoxy(38,7);printf("Apellido paterno: %s",p[j].app_p);
    gotoxy(38,8);printf("Apellido materno: %s",p[j].apm_p);
    gotoxy(38,9);printf("Genero: %s",p[j].gen_p);
    gotoxy(38,10);printf("Edad: %s",p[j].ed_p);
    gotoxy(38,11);printf("Telefono: %s",p[j].tel_p);
    gotoxy(38,12);printf("Tipo de sangre: %s",p[j].tipos_p);
    getch();
    system("cls");

    int j;
    char n[20];
    printf("Buscador de Pacientes.");
   
   printf("\t\t\nDigite el Nombre: ");
    scanf("%s",&n);
    for(j=0; j<=i; j++){
        if(strcmp(n,p[j].nombre_p)){
            printf("\t\t\nPACIENTE ENCONTRADO.\n\n");
            printf("\nNombre completo del paciente: %s %s %s\n",p[i].nombre_p,p[i].app_p, p[i].apm_p);
            printf("Genero del paciente: %s\n",p[i].gen_p);
            printf("Edad del paciente: %s\n",p[i].ed_p);
            printf("Telefono del paciente %s\n",p[i].tel_p);
            printf("Tipo de sangre del paciente: %s\n",p[i].tipos_p);
            return 0;
        }
        else{
            printf("No encontrado.");
        }


quiero saber cual es mi error o porque no me busca el paciente q yo quiero
ayudaaaaaaaaaaa
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines