/
Inicio :: Foros

 F.A.Q.F.A.Q.                  Conéctese para revisar sus mensajesConéctese para revisar sus mensajes   

[Consulta] Duda con generacion de txt y archivos

 
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Ver tema anterior :: Ver siguiente tema  
AutorMensaje
Razinger48



Registrado: 27 Mar 2014
Mensajes: 1

MensajePublicado: 27/03/2014 10:37 am
Título: [Consulta] Duda con generacion de txt y archivos

Hola buenos dias, tengo que realizar un programa y se me presento una duda

Tengo un programa con un .txt que contiene lo siguiente:

(seria Color - Tamaño - Perforaciones - Forma (C/R) )

ROJO GRAND2C
NEGRO CHICO1C
AMARI GRAND1R
BLANC CHICO4R
VIOLE CHICO1R
BLANC GRAND1C
ROJO GRAND4C
BLANC CHICO2C
VERDE GRAND1C
AZUL CHICO2C
NEGRO GRAND4C

Con el siguiente programa lo leo y lo muestro.

Código:
#include<iostream>
#include<fstream>
#include<cstdlib>
#include<cstring>
using namespace std;

//Generacion de un boton
struct boton
{
   string color;
   string tamanio;
   int perf;
   string forma;   //C/R
   
};
int main()
{
   string botonlinea;
   int n;
   boton botonstruct;
   ifstream archivoentrada("BOTON2.txt");

    getline(archivoentrada,botonlinea );
   while (!archivoentrada.eof())
   {
   //getline(archivoentrada,botonlinea ); 
   botonstruct.color=botonlinea.substr(0,5);
   botonstruct.tamanio=botonlinea.substr(5,5);
   botonstruct.perf=atoi((botonlinea.substr(10,1).c_str()));
   botonstruct.forma=botonlinea.substr(11,1);

   
   cout<<botonstruct.color<<endl; 
   cout<<botonstruct.tamanio<<endl;
   cout<<botonstruct.perf<<endl;
   cout<<botonstruct.forma<<endl;
   getline(archivoentrada,botonlinea);

    }




return 0;}



Mi consulta es: ¿Como armo un pequeño menu para que una persona vaya eligiendo Color - Tamaño - Perforaciones - Forma (C/R), el programa vaya a mi .txt, consulte los datos ingresados y luego lo guarde en otro?

Ejemplo:
Cita:

"Ingrese color" La persona elige rojo
"Ingrese tamaño" La persona elige grand
"Ingrese perforaciones" La persona elige 2
"Ingrese forma" La persona elige C

Entonces el programa genera un txt que se llame "caja.txt" y guarde uno que diga

ROJO GRAND2C

Y asi sucesivamente



Desde ya muchisimas gracias

Alexis[/quote]
Volver arriba
daltomi



Registrado: 28 Abr 2007
Mensajes: 335
Ubicación: Argentina

MensajePublicado: 03/04/2014 9:19 am
Título:

Buenas.
Cita:
el programa vaya a mi .txt, consulte los datos ingresados y luego lo guarde en otro?

¿Vaya a mi .txt se refiere a leer el archivo BOTON2.txt?, ¿que es consultar los datos?.

Debes tener en cuenta que el formato del archivo BOTON2.txt contiene mayúsculas, mi consejo es que utilices directamente minúsculas, asi
en caso de busqueda, por ejemplo, en base a datos ingresados por el usuario, sucederá que "rojo" no es igual a "ROJO".

Un ejemplo de como leer el archivo, aunque un poco estricto permite leer palabras completas de color y tamaño.

Código:

//std c++11
bool leer_archivo()
{
  ifstream archivoentrada("BOTON2.txt");

  if ( not archivoentrada.is_open() ) { return false; }

  for(string botonlinea; getline(archivoentrada, botonlinea) and not botonlinea.empty(); )
  {
      const int b = botonlinea.find(' ');
      const int e = botonlinea.size();
     
      /* - supone perf de 1 digito
       * - supone que final de línea no contiene caract. de espacio
       * - permite palabras completas: AMARILLO GRANDE
       * */
    std::cout << botonlinea.substr(0, b) << std::endl;
    std::cout << botonlinea.substr(b + 1, (e - 2 ) - (b  + 1) ) << std::endl;
    std::cout << atoi( (botonlinea.substr(e - 2, 1 ).c_str() ) ) << std::endl;
    std::cout << botonlinea.substr(e - 1, 1)  << std::endl;
      
  };

  return true;
}
Volver arriba
Dirección AIM
      Índice del Foro elrincondelc.com -> Principiantes C/C++
Página 1 de 1Todas las horas están en GMT - 8 Horas

 
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas

(c) ElRincondelC.com

Un proyecto de UrlanHeat.com