Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Feynmann

#11
Bueno, he estado trasteando y a parte de modificarlo todo creo que me he liado más, os comento:

El objetivo del programa es leer columnas con muchisimos datos de un Datos.txt, (luego los modificare) y a continuación los meto en un salida.txt

Como primera meta me he planteado el siguiente programa donde uso el fwrite para escribir lo que leo con el getline...

El problema que me da errores y no me compila, que me está fallando?

Código (cpp) [Seleccionar]

#include <iostream>
#include <fstream>
#include <cstdio>
#include <string>

using namespace std;

int main(){

FILE *fichero;
FILE *fichero2;

   char nombre[11] = "datos.txt";
   char nombre2[11]= "salida.txt";

   fichero = fopen( nombre, "r+" );  // Fichero datos.txt desde el que leo los datos.
   fichero2= fopen( nombre2, "w+");  // Fichero salida.txt donde escribire los datos.

   // Pijada para ver si me lo está abriendo o no
   printf( "Fichero: %s -> ", nombre );
if( fichero )
printf( "creado (ABIERTO)\n" );
else
{
printf( "Error (NO ABIERTO)\n" );
return 1;
}
// Final pijada

cin.getline (*fichero, 256 , '\n'); //Con esto leo del datos.txt, hasta que se encuentra un salto de linea
    fwrite( fichero, sizeof(unsigned int), 10, fichero2 );

   printf( "\nLeyendo los datos del fichero \"%s\":\n", nombre );
   if( !fclose(fichero) )
      printf( "\nFichero cerrado\n" );
   else
   {
      printf( "\nError: fichero NO CERRADO\n" );
      return 1;
   }
getchar();
return 0;

}
#12
amchacon, me viene de perlas que me pre-avises!

Te comento para que lo necesito y me aconsejas, para empezar no soy estudiante, estoy trabajando y trabajo con archivos de txt llenos de columnas de datos, te hablo de columnas que van de 32K a 200K datos.

Lo que quiero hacer es extraerlos, aplicarles ciertas formullillas y meterlos en otro .txt

Me aconsejas entonces que lo haga en binario? Aunque has de saber que:
El .txt inicial esta en ASCII y el final tambien lo debe de estar...

Es decir, ASCII->Binario- modifico en binario -> ASCII es lo que me aconsejas?
#13
Perfecto, muchas gracias.

Efectivamente, se necesita el encabezado.
por otro lado, probare la funcion getline, y os digo si sigo teniendo problemas!

Un saludo!
#14
Gracias de nuevo por el aporte!

Que va, estoy aprendiendo por mi cuenta para poder implementarlo a cosillas del curro que necesito... ya me gustaria estar estudiando! jajaja
#15
Buenas tardes,
Presentare mi codigo y a continuación las dudas , (He buscado en google y en este foro, lo he intentado pero no me acabo de aclarar)


Lo primero de todo, estoy intentado hacer un programa que recoja datos de un fichero (hago modificaciones oportunas) y me los escribe en otro, para ello he empezado por algo facilito para entenderlo.
Código (cpp) [Seleccionar]


#include <iostream>
#include <fstream>
#include <cstdio>

using namespace std;

int main(){

/*Leo fichero datos*/
ifstream fin("datos.txt"); // Situando un cursor al inicio del fichero
string nombre;
int numero;
fin >> nombre >> numero; // los datos se obtienen del fichero txt

/*Escribo fichero salida.txt*/

ofstream fout("salida.txt");
fout << nombre << " " << numero*2;

getchar();
return 0;
}


Preguntas:
1) No me reconoce el string, y me obliga a crear una variable tal que char nombre[10] por ejemplo. ¿Que le falta a mi codigo?

2) He conseguido hacer que me lea una linea del fichero .txt que es de la siguiente forma:

Felipe 14

Como puedo conseguir que me lea con saltos de linea, es decir que me lea un fichero de este tipo

felipe 14
Marcos 15
Duna 0129

He estado mirando y no se que funcion o que usar! :(

3)
Igual que la pregunta 2, pero para escribirlo en el fichero.

A ver si me podeis decir por donde van los tiros y lo sigo intentando. Gracias!! :)
#16

Me ha molado mucho ver esas dos ultimas formas de hacerlo, sobre todo la que propone leosansan, deduzco que
Código (cpp) [Seleccionar]
variable = variable + algo. /* Es lo mismo que*/ variable += algo
Lo de las librerias tengo que tener cuidado por lo que veo.


Gracias un saludo!!
 
#17
Perfecto, todo entendido.
Muchas gracias!  :D
#18
Me ha quedado clarísimo lo del getchar();, Genial.

Respecto a tu pregunta, la expresion que te da el numero Pi por aproximación es la siguiente:

Pi/4= 1-(1/3)+(1/5)-(1/7)+(1/9)- ... = Sumatorio (de 0 a n)[(-1)^n/(2n+1)]

Gracias dato000 ;)

#19
Dato000, es un pequeño programa para calcular por aproximación el número pi.

Veo que al final del programa has usado

getchar();


He buscado , pero no acabo de entender para que sirve, por que lo pones?
"La función getchar retorna el carácter siguiente desde el stream de entrada apuntado por stream. Si el stream está en el final de fichero, el indicador del final de fichero para el stream es activado y getchar retorna EOF. Si ocurre un error de lectura, el indicador de error para el stream es activado y getchar retorna EOF."
#20
Ostras,
Estoy acostumbrado a usar programas de lenguaje simbolico como mathematica y de ahi el ^.
Por otro lado tiene bastante logica todo lo que comentas yoel. Muchas gracias a los dos.

Ultima pregunta: Para aprender me estoy haciendo los ejercicios de problemas resueltos de C++, y ojeandome poco a poco mis dudas por internet. No voy a la universidad y no puedo pagarme clases y no sé si es el mejor metodo para aprender, me aconsejais alguna otra cosa?


Un saludo.