Jump to content
  • Buscar en
    • Más opciones...
    Encontrar resultados que contengan...
    Encontrar resultados en...

Hinoishi314

vida restante: 100%
  • Contenido

    230
  • Ingreso

  • Última visita

Reputación comunidad

67 Excellent

Acerca de Hinoishi314

  • Rango
    Antediluvian
  1. Gracias amigo, pero si tengo declarados como públicos los miembros de la clase...
  2. Buenas noches, ni si quiera sé si estoy en el subforo correcto porque no suelo pasarme muy a menudo... pero bueno por intentarlo no pierdo nada        no me lo cerréis por diosito.     Tengo un problema muy absurdo con un código muy sencillo, básicamente tengo que leer datos de un fichero de texto (son 100 o 150 filas, con 3 columnas cada una) para luego operar y jugar con ellos. Como cada fila representa información de una unidad igual a la anterior (por ejemplo medidas de 100 tornillos), he creado una clase en la que defino esas 3 magnitudes que hay en cada columna, y luego voy leyendo el fichero almacenando cada clase como una unidad en un vector de clases.    Si le pido al programa que me muestre el vector número X, efectivamente me muestra los tres valores que hay en la fila X del archivo, pero cuando quiero que me muestre solo una de las columnas del vector número X me dice que la clase no contiene un miembro con ese nombre.   Estoy muy frustrado, llevo ya 2 horas con esto y no consigo ver qué pasa, seguro que es una chorrada y eso me hace sentir aún más idiota.       Os copypasteo el código y el error que me sale, si alguien puede ayudarme lo agradezco infinito.     #include <iostream> #include <vector> #include<fstream> #include <cstdlib> #include<cmath> #include <time.h>   using namespace std;   class Tornillo {     int Nserie;     double diametro;     double longitud;   public:     Tornillo(int serie=0,double diam=0,double longi=0)     {         Nserie=serie;         diametro=diam;         longitud=longi;     }       friend void leeFichero(vector<Tornillo> &v);     friend ostream& operator<<(ostream &out,Tornillo &v);     friend void minimo_y_maximo (double &maximo,double &minimo,vector<Tornillo> &v);     friend void media_y_mediana (double &media,double &mediana,vector<Tornillo> &v); };   void leeFichero(vector<Tornillo> &v) {     Tornillo S;     ifstream fichero("tornillos.txt");     if(!fichero)     {           cout<<"El fichero no puede abrirse\n";         exit(EXIT_FAILURE);     }       while(fichero)     {         fichero>>S.Nserie;         fichero >>S.diametro;         fichero>>S.longitud;         if(!fichero.fail())             v.push_back(S);     }       fichero.close(); }   ostream& operator<<(ostream &out,Tornillo &v) {     out<<v.Nserie<<" "<<v.diametro<<" "<<v.longitud<<endl;     return out; }   int main() {       vector<Tornillo> S;     leeFichero(S);     leeTolerancias;     for (int i=0; i=1; ++i)     cout<<S.diametro<<endl;     return 0; }   PD: también he probado haciendo S.diametro[3], y nada, siempre es el mismo error. Que la clase Tornillo no tiene un miembro llamado diámetro... ¿puede ser por haber sobrecargado "<<" y aunque me de problemas para imprimir por pantalla, no me vaya a dar problemas para utilizar la columna de Diametros para operar más adelante? Se me acaba de ocurrir mientras escribía, pero no creo que sea eso porque me dice directamente que no existe Diametro, os enseño el mensaje:   error: 'class std::vector<Tornillo>' has no member named "diametro"   PD2: me pasa exactamente igual si llamo a S.diam     Gracias por adelantado
  3. Hinoishi314

    Historia real

    Que intriga, ¿podrán resucitar a Spiderman y los demás?   Espero con ganas la segunda parte y me llevo una pole de gratis.
  4. Porque antes debían encontrar y destruir los horrocruxes
  5. Solo podía ser en Meristation
  6. ¿¿ Nombre de la muchacha ??   Es para declarar como testigo en la denuncia eh
  • Crear nuevo...