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


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Varios errores de compilacion en este programa, por que?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Varios errores de compilacion en este programa, por que?  (Leído 1,463 veces)
DVD116

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Varios errores de compilacion en este programa, por que?
« en: 6 Octubre 2018, 10:10 am »

A traves de un fichero se pide imprimir por pantalla sus datos usando STL o contendores, he hecho este codigo pero da varios errores

MAIN

Código
  1. #include <iostream>
  2. #include <fstream>
  3. #include <vector>
  4. #include <ctime>
  5. #include "Sensor.h"
  6.  
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.    vector <Sensor> VecDatos;
  12.  
  13.    if(leeFichero(VecDatos))
  14.    {
  15.        cout << "Referencia" << "\t Lectura" << "\t Fecha y Hora" << endl << endl;
  16.        for(size_t i=0; i<VecDatos.size();i++)
  17.        {
  18.            cout << VecDatos[i];
  19.        }
  20.    }
  21. }

CLASE
Código
  1. #ifndef SENSOR_H
  2. #define SENSOR_H
  3.  
  4. #include <vector>
  5. #include <iostream>
  6.  
  7. enum CodigosError {SUCCESS, ERROR_OPENING_FILE, ERROR_DENOMINATOR_IS_ZERO};
  8.  
  9. class Sensor
  10. {
  11.    double lectura;
  12.    std::string referencia;
  13.    time_t tiempo;
  14.  
  15.    public:
  16.        friend void leeFichero(std::vector<Sensor> &v);
  17.        std::istream& operator>> (std::istream &in, Sensor &s):
  18.        std::ostream& operator<< (std::ostream &out, Sensor &s);
  19.  
  20. };
  21.  
  22. #endif // SENSOR_H

FUNCIONES

Código
  1. #include "Sensor.h"
  2. #include <fstream>>
  3.  
  4. void leeFichero(std::vector<Sensor> &v)
  5. {
  6.    Sensor s;
  7.    std::ifstream FichSensores("datos.txt");
  8.    if(!FichSensores)
  9.        throw ERROR_OPENING_FILE;
  10.    while(FichSensores)
  11.    {
  12.        FichSensores>>s.lectura;
  13.        FichSensores>>s.referencia;
  14.        FichSensores>>s.tiempo;
  15.  
  16.        if(!FichSensores.fail())
  17.        {
  18.            v.push_back(s);
  19.        }
  20.    }
  21.    FichSensores.close();
  22. }
  23.  
  24. std::istream& operator>> (std::istream &in, Sensor &s)
  25. {
  26.    in>> s.lectura;
  27.    in>>s.referencia;
  28.    in>>s.tiempo;
  29.    while(!lectura)
  30.    {
  31.        std::cout<<"La entrada no puede ser 0"<<std::endl;
  32.    }
  33.    return in;
  34. }
  35.  
  36. std::ostream& operator<< (std::ostream &out, Sensor &s)
  37. {
  38.    if(!s.lectura!=0)
  39.    {
  40.        out<<s.referencia<<"\t" <<s.lectura<<"\t"<<s.tiempo<<"\t";
  41.    }
  42.    return out;
  43. }
  44.  


« Última modificación: 10 Octubre 2018, 19:16 pm por DVD116 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines