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

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ficheros C++ en: 3 Febrero 2011, 19:11 pm
Hola, posteo poque ya no se que hacer...me he puesto a hacer este problema como indica en el codigo pero no me lee el fichero y nose porque puede ser, si algun alma caritativa le podria echar un vistazo al codigo se lo agradeceria ;)

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. /* - Se quiere informatizar la gestión de una fábrica. En dicha fábrica se construyen n tipos
  7. de componentes electrónicos que se venden a m empresas de montaje de ordenadores. La
  8. información de cada producto fabricado es su código (tipo int), precio (tipo double) y
  9. nombre (tipo string), dicha información se encuentra en un fichero llamado productos.txt.
  10. Para cada empresa compradora se almacena su nombre, dirección (ambas tipo string) y teléfono
  11. (tipo int), dicha información se encuentra en el fichero clientes.txt. Por otro lado se tiene
  12. almacenada la información sobre las ventas, el número de productos de cada tipo que le compran
  13. las diferentes empresas, fichero cantidades.txt. */
  14.  
  15. struct Producto {
  16. int codigo;
  17. double precio;
  18. string nombre;
  19. };
  20.  
  21. struct Cliente {
  22. string nombre;
  23. string direccion;
  24. int telefono;
  25. };
  26.  
  27. const int MAX=100;
  28.  
  29. /* - Módulo que lea desde el fichero productos.txt los datos de los productos
  30. y los devuelva en un array, que lea desde el fichero compradores.txt los datos
  31. de las empresas compradoras y los devuelva en un array y que lea desde el fichero
  32. cantidades.txt la cantidad de cada tipo de producto comprado por cada empresa y
  33. devuelva dicha información en una matriz de mxn donde cada fila representa una
  34. de las empresas compradoras y cada columna un tipo de producto. Las dimensiones m
  35. y n, se conocerán tras leer los primeros ficheros. El módulo debe también devolver
  36. un valor de tipo lógico indicando si las lecturas se han realizado con éxito o no. */
  37.  
  38.  
  39. bool leeFicheros (Producto v_prod[],int& m,Cliente v_compr[],int& n,int matrix[][MAX]){
  40.  
  41. ifstream entradaProductos ("productos.txt");
  42. ifstream entradaCompradores ("compradores.txt");
  43. ifstream entradaCantidades ("cantidades.txt");
  44.  
  45. if (!entradaProductos || !entradaCompradores || !entradaCantidades)
  46. return false;
  47. else {
  48.  
  49. m=0;
  50.  
  51. while (entradaProductos >> v_prod[m].codigo){
  52. entradaProductos >> v_prod[m].precio;
  53. getline(entradaProductos >> ws, v_prod[m].nombre);
  54. m++;
  55. }
  56.  
  57. n=0;
  58.  
  59. while (getline(entradaCompradores >>ws, v_compr[n].nombre)){
  60. getline(entradaCompradores >> ws, v_compr[n].direccion);
  61. entradaCompradores >> v_compr[n].telefono;
  62. n++;
  63. }
  64.  
  65. for (int i=0; i<m; i++)
  66. for (int j=0; j<n; j++)
  67. entradaCantidades >> matrix[i][j];
  68.  
  69. }return true;
  70. }
  71.  
  72.  
  73.  
  74.  
  75. int main(){
  76.  
  77. Producto v_prod[MAX];
  78. Cliente v_compr[MAX];
  79. int matrix[MAX][MAX];
  80. int m,n;
  81.  
  82. if (leeFicheros (v_prod,m,v_compr,n,matrix)){
  83. for (int i=0; i<0; i++)
  84. cout << "Registros leidos (productos.txt):\n"<< "Codigo: " << v_prod[i].codigo <<endl << "Precio: " << v_prod[i].precio << endl << "Nombre: "<< v_prod[i].nombre<<endl;
  85. }
  86.  
  87. else cout << "Error al abrir los archivos "<<endl;
  88.  
  89. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines