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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: [AYUDA] Listas anidadas? en: 5 Noviembre 2014, 03:27 am
Graaaaaaaacias bro, creo que voy captando la idea :D
2  Programación / Programación C/C++ / Re: [AYUDA] Listas anidadas? en: 5 Noviembre 2014, 02:17 am
Hola, no quiero que me hagan el ejercicio, es muy tedioso como para hacerlo para otra persona, solo lo puse como referencia.
Una duda, todo bien con el puntero dentro de enfermo que apunta a lista de enfermedades pero como hago para registrar las enfermedades de cada enfermo y luego reportarlas?
3  Programación / Programación C/C++ / [AYUDA] Listas anidadas? en: 4 Noviembre 2014, 21:33 pm
Hola, me dejaron que haga el siguiente ejercicio usando listas:
Se tiene una lista de n enfermos (código, nombres, apellidos, dirección, teléfono, genero
[M,F],edad), además c/u tiene una o mas enfermedades (código, nombre,
tipodeenfermedad[Contagiosa, Maligna, Benigna, Mortal]) y se quiere crear un programa
que permita:
a. Crear un nuevo paciente y sus enfermedades
b. Eliminar paciente (en una cierta posición), y sus enfermedades (si un paciente tiene
asignado una enfermedad esté ya no se puede borrar)
c. Actualizar pacientes y enfermedades
d. Mostrar listado (pacientes por enfermedades)
e. Copiar datos de enfermedades de un paciente a otro


El programa se puede codificar usando cualquier tipo de lista(simple,doble,circular).


Ahora, mi problema es el hecho de que tengo una lista "M" de enfermos con "N" cantidad de enfermedades o sea estructuras anidadas, que en este caso seria una lista anidada, pero como se trabajan las listas anidadas?
Analizando un poco el ejercicio, pensé que necesito 2 punteros para cada nodo(enfermo): uno que apunte al nodo siguiente y uno que apunte a la lista de enfermedades, estoy yendo por buen camino o algo anda mal con mi idea?
Pls help mee!! :C
4  Programación / Programación C/C++ / Re: Proyecto-Registros en: 2 Septiembre 2014, 05:07 am
Corregí bastante y ahora solo me faltan las 2 ultimas funciones:


//Mostrar los productos vendidos de un vendedor específico (ingresando su número de orden): producto, cantidad, precioventa, Subtotal. y finalmente el Total Subtotal=cantidad * precioventa Total = sumatoria de los subtotales
//Eliminar un vendedor específico (ingresando su número de orden)
//Búsqueda por dni: ingresa el dni de un vendedor y que muestre su dirección
#include<iostream>
#include<string>
using namespace std;

struct producto
   {
       char producto[20]; 
       int  cantidad;
       float  precioventa;
       float  subtotal;
       
      
   };
   

struct vendedor{
   int dni;
   char nombres[20];
   char apellidos[25];
   struct direccion{
      char calle[20];
      int numero;
      char urbanizacion[14];
   } dir;
   producto prod[20];
   int n_prod;
   
   
}vendedores[120];


void registrar_productos(int nv, int np)
{

 
    for(int i=0; i<np; i++)
   {
      cout<<"Ingrese producto: "<<endl;
      cout<<"Producto: ";   fflush(stdin);      gets(vendedores[nv].prod.producto);
      cout<<"Cantidad: ";   cin>>vendedores[nv].prod.cantidad;
      cout<<"Precio de venta: "; cin>>vendedores[nv].prod.precioventa;      
   }
}
       

void registrar(int n){
   int i;
   for(i=0;i<n;i++){
      cout<<"Ingrese DNI del vendedor "<<i+1<<": ";   fflush(stdin);   cin>>vendedores.dni;      //El fflush y el gets es para reconocer el espacio entre 2 palabras del string
      cout<<"Ingrese nombres del vendedor "<<i+1<<" :";   
      fflush(stdin);   gets(vendedores.nombres);
      cout<<"Ingrese apellidos del vendedor "<<i+1<<": ";   
      fflush(stdin);      gets(vendedores.apellidos);
      cout<<"Ingrese direccion del vendedor"<<i+1<<" :"<<endl;
      cout<<"Calle: ";      fflush(stdin);      gets(vendedores.dir.calle); cout<<endl;   
      cout<<"Numero: ";      cin>>vendedores.dir.numero;      cout<<endl;
      cout<<"Urbanizacion: ";   fflush(stdin);      gets(vendedores.dir.urbanizacion); cout<<endl;
      cout<<"Cuantos productos desea ingresar?: ";   cin>>vendedores.n_prod;
      registrar_productos(i,vendedores.n_prod);
      }
      cout<<endl<<"*********************************************************************************";
      }

void prodVendedor(int nv)
{
       float acum=0;
       cout << "Productos de " << vendedores[nv].nombres<<" "<<vendedores[nv].apellidos<<endl<<endl;
    
        for(int i=0; i<vendedores[nv].n_prod; i++)
        {
         cout<<"Producto "<<i+1<<endl;
            cout<<"Nombre  : " << vendedores[nv].prod.producto  <<endl;
            cout<<"Cantidad: " << vendedores[nv].prod.cantidad <<endl;
            cout<<"Precio  : " << vendedores[nv].prod.precioventa<<endl;
            vendedores[nv].prod.subtotal=vendedores[nv].prod.cantidad*vendedores[nv].prod.precioventa;
         cout<<"Subtotal: " <<vendedores[nv].prod.subtotal<<endl;
         acum=vendedores[nv].prod.subtotal+acum;             
        }
        cout<<endl<<"Total: " <<acum<<endl;
        cout<<endl;
        cout<<"  ---------------------------"<<endl;
       
}   
   

void mostrar(int n){
   int i, y;
   for(i=0;i<n;i++){
      cout<<"--------------------------------------------------------------------"<<endl;
      cout<<"Vendedor numero   "<<i+1<<"."<<endl;
      cout<<"DNI      :          "<<vendedores.dni<<endl;;
      cout<<"Nombres      :          "<<vendedores.nombres<<endl;;
      cout<<"Apellidos   :         "<<vendedores.apellidos<<endl;
      cout<<"-Direccion-             "<<endl;
      cout<<"Calle      :          "<<vendedores.dir.calle<<endl;
      cout<<"Numero      :         "<<vendedores.dir.numero<<endl;
      cout<<"Urbanizacion   :         "<<vendedores.dir.urbanizacion<<endl;
      cout<<"Productos   :         "<<endl;      
      for(y=0;y<vendedores.n_prod;y++){
      cout<<"\tNombre  : " << vendedores.prod[y].producto<<endl;
      }
      cout<<"--------------------------------------------------------------------"<<endl;   
   }
}
void m_determinado(int v){
   
   cout<<"--------------------------------------------------------------------"<<endl;
   cout<<"Vendedor numero   "<<v+1<<"."<<endl;
   cout<<"DNI      :          "<<vendedores[v].dni<<endl;;
   cout<<"Nombres      :          "<<vendedores[v].nombres<<endl;;
   cout<<"Apellidos   :         "<<vendedores[v].apellidos<<endl;
   cout<<"-Direccion-             "<<endl;
   cout<<"Calle      :          "<<vendedores[v].dir.calle<<endl;
   cout<<"Numero      :         "<<vendedores[v].dir.numero<<endl;
   cout<<"Urbanizacion   :         "<<vendedores[v].dir.urbanizacion<<endl;
   cout<<"--------------------------------------------------------------------"<<endl;
}

void v_producto(int v)
{
   cout<<"--------------------------------------------------------------------"<<endl;
   for(int i=0;i<vendedores[v].n_prod; i++)
   {
      cout<<"Producto   :         "<<vendedores[v].prod[v].producto<<endl;
      cout<<"Cantidad   :         "<<vendedores[v].prod[v].cantidad<<endl;
      cout<<"Precio de Venta   :   "<<vendedores[v].prod[v].precioventa<<endl;
   }
}

void e_vendedor( int x, int num)
{
    for(int i=x; i<(num-1); i++)
      vendedor=vendedor[i+1];
    num--;

}

void buscar( int dni)
{
    int band = 0;
 
    if(dni>0)
    {
        for(int i=0; i<dni; i++)
        {
            if(vendedor.dni==dni)
            {
                cout<<"\n\n La direccion de "<<vendedor.nombres<<" "
                    <<vendedor.apellidos<<" es : "
                    <<vendedor.dir.calle<<" "<<vendedor.dir.numero<<" "<<vendedor.dir.urbanizacion<<endl ;
                band = 1 ;
                break;
            }
        }
    }
    else
        cout<<"\n\tRegistro vacio..!";
 
    if(band==0)
        cout<<"\n\n\tEl vendedor no fue encontrado! "<<endl;
}
 

int main(){
   int n,i,v,w,nv,el_v,dni;
   cout<<"Cuantos vendedores desea registrar?"<<endl;
   cin>>n;
   registrar(n);
   mostrar(n);
   cout<<"Ingrese el numero de vendedor del que desea los datos: ";   cin>>v;
   m_determinado(v-1);
   cout<<"Ingrese numero de vendedor del que desea conocer sus productos: "; cin>>w;
   prodVendedor(w-1);
   cout<<"Ingrese numero de vendedor a eliminar: ";   cin>>el_v;
   e_vendedor(el_v-1,n);
   cout<<"Ingrese dni del vendedor a buscar: ";   cin>>dni;
   buscar(dni);
   return 0;
      
   }
   
   
   

5  Programación / Programación C/C++ / Re: Proyecto-Registros en: 1 Septiembre 2014, 22:19 pm
Exacto el tema es ficheros :S
6  Programación / Programación C/C++ / Proyecto-Registros en: 1 Septiembre 2014, 04:06 am
EL PROYECTO ES EL SIGUIENTE:
En una tienda se quiere registrar vendedores (dni, nombres, apellidos, dirección(calle, numero, urbanización) ) con sus respectivos productos vendidos (producto, cantidad, precioventa). Implementa el sistema usando registros y funciones. El sistema debe permitir:
Registrar “N” vendedores con sus respectivos productos
Mostrar todos los vendedores con todos sus datos y sus respectivos productos
Mostrar los datos de un vendedor específico (ingresando su número de orden)
Mostrar los productos vendidos de un vendedor específico (ingresando su número de orden): producto, cantidad, precioventa, Subtotal. y finalmente el Total Subtotal=cantidad * precioventa Total = sumatoria de los subtotales
Eliminar un vendedor específico (ingresando su número de orden)
Búsqueda por dni: ingresa el dni de un vendedor y que muestre su dirección


El codigo hasta ahora  es el siguiente:
#include<iostream>
#include<string>
using namespace std;

struct vendedor{
   int dni;
   char nombres[20];
   char apellidos[25];
   struct direccion{
      char calle[20];
      int numero;
      char urbanizacion[14];
   } dir;
   struct producto{
      char producto[10];
      int cantidad;
      float precioventa;
   }prod[20];
   
}vendedores[120];

int registrar(int n){
   int i,j,m;   
   int vector[n];
   for(i=0;i<0;i++){
      cout<<"Ingrese DNI del vendedor "<<i+1<<": ";   fflush(stdin);   cin>>vendedores.dni;
      cout<<"Ingrese nombres del vendedor "<<i+1<<" :";   
      fflush(stdin);   gets(vendedores.nombres);
      cout<<"Ingrese apellidos del vendedor "<<i+1<<": ";   
      fflush(stdin);      gets(vendedores.apellidos);
      cout<<"Ingrese direccion del vendedor"<<i+1<<" :"<<endl;
      cout<<"Calle: ";      fflush(stdin);      gets(vendedores.dir.calle); cout<<endl;   
      cout<<"Numero: ";      cin>>vendedores.dir.numero;      cout<<endl;
      cout<<"Urbanizacion: ";   fflush(stdin);      gets(vendedores.dir.urbanizacion); cout<<endl;
      cout<<"Cuantos productos desea ingresar?: ";   cin>>m;
      for(j=0;j<m;j++){
      cout<<"Ingrese producto "<<j+1<<" del vendedor"<<i+1<<" :"<<endl;
      cout<<"Producto: ";   fflush(stdin);      gets(vendedores.prod[j].producto);
      cout<<"Cantidad: ";   cin>>vendedores.prod[j].cantidad;
      cout<<"Precio de venta: "; cin>>vendedores.prod[j].precioventa;
      }
      cout<<endl<<"*********************************************************************************";
      }
   }

void mostrar(int n){
   
   int i;
   
   for(i=0;i<n;i++){
      cout<<"--------------------------------------------------------------------"<<endl;
      cout<<"Vendedor numero   "<<i+1<<"."<<endl;
      cout<<"DNI      :          "<<vendedores.dni<<endl;;
      cout<<"Nombres      :          "<<vendedores.nombres<<endl;;
      cout<<"Apellidos   :         "<<vendedores.apellidos<<endl;
      cout<<"-Direccion-             "<<endl;
      cout<<"Calle      :          "<<vendedores.dir.calle<<endl;
      cout<<"Numero      :         "<<vendedores.dir.numero<<endl;
      cout<<"Urbanizacion   :         "<<vendedores.dir.urbanizacion<<endl;
      cout<<"Producto   :         "<<vendedores.prod.producto<<endl;      //ACÁ ES DONDE ESTA EL PROBLEMA, COMO HAGO UN FOR QUE MUESTRE TODOS LOS PRODUCTOS, OSEA NECESITO LA VARIABLE EN QUE SE DETENGA PERO NO SE COMO BOTARLA DE LA FUNCION ANTERIOR
      cout<<"--------------------------------------------------------------------"<<endl;   
   }
}
void m_determinado(int v){
   
   cout<<"--------------------------------------------------------------------"<<endl;
   cout<<"Vendedor numero   "<<v+1<<"."<<endl;
   cout<<"DNI      :          "<<vendedores[v].dni<<endl;;
   cout<<"Nombres      :          "<<vendedores[v].nombres<<endl;;
   cout<<"Apellidos   :         "<<vendedores[v].apellidos<<endl;
   cout<<"-Direccion-             "<<endl;
   cout<<"Calle      :          "<<vendedores[v].dir.calle<<endl;
   cout<<"Numero      :         "<<vendedores[v].dir.numero<<endl;
   cout<<"Urbanizacion   :         "<<vendedores[v].dir.urbanizacion<<endl;
   cout<<"--------------------------------------------------------------------"<<endl;
}

void v_producto(int v){
   cout<<"--------------------------------------------------------------------"<<endl;
   cout<<"Producto   :         "<<vendedores[v].prod.producto<<endl;
   cout<<"Cantidad   :         "<<vendedores[v].prod.cantidad<<endl;
   cout<<"Precio de Venta   :   "<<vendedores[v].prod.cantidad<<endl;
}

int main(){
   int n,i,v;
   cout<<"Cuantos vendedores desea registrar?"<<endl;
   cin>>n;
   registrar(n);
   mostrar(n);
   cout<<"Ingrese el numero de vendedor del que desea los datos: ";   cin>>v;
   m_determinado(v-1);
   
   return 0;   
   }


Gracias de antemano.
7  Programación / Programación C/C++ / Una ayuda con registros porfavor en: 1 Septiembre 2014, 00:06 am
Hola, me dejaron este ejercicio de registros y se que es solo el comienzo pero quiero que porfavor me ayuden a encontrar la forma de que el programa lea los espacios en blanco, algo asi como lo que hace gets(), pero al intentar con ese comando no funciona, tambien probe con cin.getline y de igual manera, falló.
Aca abajo les dejo el código:


//En una tienda se quiere registrar vendedores (dni, nombres, apellidos, dirección(calle, numero, urbanización) )
//Registrar “N” vendedores con sus respectivos productos
//Mostrar todos los vendedores con todos sus datos y sus respectivos productos
//Mostrar los datos de un vendedor específico (ingresando su número de orden)
//Mostrar los productos vendidos de un vendedor específico (ingresando su número de orden): producto, cantidad, precioventa, Subtotal. y finalmente el Total Subtotal=cantidad * precioventa Total = sumatoria de los subtotales
//Eliminar un vendedor específico (ingresando su número de orden)
//Búsqueda por dni: ingresa el dni de un vendedor y que muestre su dirección
#include<iostream>
#include<string>
using namespace std;

struct vendedor{
   int dni;
   struct nombres;
   char apellidos[25];
   struct direccion{
      char calle[20];
      int numero;
      char urbanizacion[14];
   } dir;
   
};
//EL PROBLEMA ES HACER QUE LEA LOS ESPACIOS EN BLANCO AL REGISTRAR LOS NOMBRES O LOS APELLIDOS, ya que estos son 2.
int main(){
   int n,i;
   cout<<"Cuantos vendedores desea registrar?"<<endl;
   cin>>n;
   vendedor vendedores[n];
   for(i=0;i<n;i++){
      cout<<"Ingrese DNI: "<<endl;   cin>>vendedores.dni;
      cout<<"Ingrese nombres del vendedor "<<i+1<<" :"<<endl;   
      cin>>vendedores.nombres;
      cout<<"Ingrese apellidos del vendedor "<<i+1<<": "<<endl;   
      cin>>vendedores.apellidos;
      cout<<"Ingrese direccion del vendedor"<<i+1<<" :"<<endl;
      cout<<"Calle: ";         cin>>vendedores.dir.calle,20; cout<<endl;   
      cout<<"Numero: ";      cin>>vendedores.dir.numero;      cout<<endl;
      cout<<"Urbanizacion: ";   cin>>vendedores.dir.urbanizacion;
   }
   return 0;
}


PD: Lo hice con "cin" por ahora pero necesito que de todas maneras lea los espacios, espero que me ayuden. Saludos :D
8  Programación / Programación C/C++ / FUNCION PARA VALIDAR EDAD en: 9 Julio 2014, 05:12 am
Necesito una función que valide una edad entre 8 a 11 años, y que rechace numeros decimales, negativos, etc.
Alguien tendra el codigo? Porque cada vez que lo intento no compila como debe ser, aca les dejo lo que yo hice

Código
  1. int validare(int e)
  2. {
  3. int rpt;
  4. if(e-int(e)==0)
  5. {
  6. if(e<8||e>11)
  7. {
  8. cout<<"Este software no es adecuado para tu edad, para solucionar tu problema ingresa a http://www.spammmmmm.com";
  9. return 1;
  10. }
  11. else
  12. return 0;
  13. }
  14. else
  15. {
  16. cout<<"Tu edad no puede ser un numero decimal, intentalo denuevo";
  17. return 1;
  18. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines