Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: eduardo1012 en 20 Noviembre 2016, 19:30 pm



Título: C++ Estructura dinamica.
Publicado por: eduardo1012 en 20 Noviembre 2016, 19:30 pm
Buenas estoy tratando de hacer un programa en c++ :
Código:
Desarrolla un programa en C++ que represente el control del inventario en una empresa que produce aparatos electrodomésticos.
Considera el producto terminado (modelos de por electrodoméstico).
El programa debe: permitir introducir n modelos, con nombre, descripción, precio a la compra, precio a la venta, línea de producción y cantidad,
actualizar datos, permitir la venta de productos manteniendo el registro del cliente y actualizando el inventario.
Validación de datos.
Interfaz GUI fácil de operar.
Imprimir recibos de ventas realizadas (mayoreo).
El problema tengo a la hora de hacer mi estructura (creo que el camino correcto es hacerlo por estructura, si estoy mal alguien corríjame) donde al reservar la memoria para la estructura no puedo.
Header Registro.hpp
Código
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Registro{
  5.  
  6. private: //Modificadores de Acceso
  7. typedef struct{
  8. int precio_compra,precio_venta,linea_produccion,cantidad;
  9. string nombre,descripcion;
  10. }Almacen;
  11.  
  12. int n_modelos;
  13. Almacen **_dato;
  14.  
  15.  
  16. public: //Modificadores de Acceso
  17. Registro();
  18. ~Registro();
  19.  
  20. void setN_modelos(int); // set Inicializa las Variables
  21. int getN_modelos(); // get Retorna las variables
  22. void setPrecio_compra(int);
  23. int getPrecio_venta();
  24. void setPrecio_venta(int);
  25. int setPrecio_venta();
  26. void setLinea_produccion(int);
  27. int setLinea_produccion();
  28. void setCantidad(int);
  29. int setCantidad();
  30. void setNombre(string);
  31. string setNombre();
  32. void setDescripcion(string);
  33. string setDescripcion();
  34.  
  35. };
Registro .cpp
Código
  1. #include "Registro.hpp"
  2.  
  3. Registro::Registro(){
  4. //cout<<endl<<"Alumno: ";
  5.  
  6.  
  7. _dato = new int*[n_modelos];
  8. for (int i=0;i<n_modelos;i++){
  9. *(_dato+i)= new  [2]; //*nombres[i]=new string[3]
  10. }
  11. setCalificaciones(n_modelos,_dato);
  12. }
  13.  
  14. Registro::~Registro(){
  15.  
  16. }
El error que me marca es : cannot convert 'int**' to 'Registro::Almacen**' in assignment, alguien podría ayudarme.


Título: Re: C++ Estructura dinamica.
Publicado por: ivancea96 en 20 Noviembre 2016, 21:05 pm
_dato es: Almacen **_dato;
Y le tratas de asignar un int**: _dato = new int*[n_modelos];

Querrías decir: _dato = new Almacen*[n_modelos];