En cuanto al resto, pueden leer y analizar el código a continuación.
El programa solicita nombres y apellidos de una persona, los guarda en un archivo de texto y posteriormente los imprime tras leerlos desde el archivo.
Sin más preámbulo.
#include <iostream>
#include <fstream>
#include <cstdlib>
#include "split_class.h"
using namespace std;
string* datos=NULL;
struct Persona
{
string Nombre;
Persona * cargar_personas(int &n, Persona lista_personas[])
{
}
/*void imprimir(Persona * plista_personas, int n)
{
cout<<lista_personas[i].Nombre<<" "<<lista_personas[i].Apellido<<" "<<lista_personas[i].Cedula<<endl;
}
}
*/
void guardar(Persona lista_personas[], int n, char nombre_archivo[])
{
fstream archivo(nombre_archivo, ios::in |
archivo.close();
void leer_archivo(char nombre_archivo[], int n)
{
fstream archivo(nombre_archivo, ios::in |
char letra=NULL;
int main()
{
int n=0;
lista_personas= new Persona[n];
char nombre_archivo[50];
string Apellido;
int Cedula;
}
;
cout<<"||Bienvenido||"<<endl;
cout<<"Por favor ingrese los datos de la Persona n"<<endl;
for(int i=0;
i<n;
i++)
{
cout<<"Nombre: "<<endl;
cin>>lista_personas[i].Nombre;
cout<<"Apellido: "<<endl;
cin>>lista_personas[i].Apellido;
cout<<"Cedula: "<<endl;
cin>>lista_personas[i].Cedula;
}
Persona * p_lista_personas=lista_personas;
return p_lista_personas;
cout <<"pos"<<* plista_personas[0].Nombre;
Persona * lista_personas=NULL;
lista_personas=new Persona[n];
lista_personas= plista_personas;
cout<<"Imprimo "<< n <<endl;
for (int i=0;
i<n;
i++)
{
ios::out | ios::trunc);
for(int i=0;
i<n;
i++)
{
archivo << lista_personas[i].Cedula <<"||"<<lista_personas[i].Nombre<<"||"<<lista_personas[i].Apellido<<"n"<<flush;
}
}
ios::out);
string linea="";
datos= new string[n];
//string datos[n];
archivo.seekg(0L, ios::end);
//int longitud = archivo.tellg();
int j=0;
for(int i=0L;
i<n;
i++)
{
linea="";
while(letra!='n')
{
//cout << letra;
archivo.seekg(j,ios::beg);
archivo.get(letra);
//cout << letra;
linea=linea+letra;
j++;
}
letra=NULL;
datos[i]=linea;
cout<<datos[i]<<endl;
}
string * p_datos=datos;
cout<<"imprimiendo antes de enviar"<<endl;
/*for(int i=0;
i<n;
i++)
{
cout<<datos[i]<<endl;
}
*/
}
Persona * lista_personas=NULL;
cout<<"Este programa solicita los datos de dos personas y luego los muestra en pantallar"<<endl;
cout<<"Cuantas personas desea registrar: "<<endl;
cin>>n;
Persona * p_lista_persona=cargar_personas(n, lista_personas);
lista_personas=p_lista_persona;
cout <<"Ingrese el nombre del archivo: ";
cin >> nombre_archivo;
guardar(lista_personas, n, nombre_archivo);
leer_archivo(nombre_archivo, n);
cout<<"---------------------------------"<<endl;
cout<<"Imprimiendo la salida del archivo"<<endl;
for(int i=0;
i<n;
i++)
{
//cout <<"se pego el for";
splitstring cadena(datos[i]);
vector<string> campos=cadena.split('|',1);
lista_personas=NULL;
lista_personas=new Persona[n];
/*
cout<<"Depuracion"<<endl;
for (int k = 0;
k < campos.size();
k++)
cout << k << " => " << campos[k] << endl;
cout<<"Fin_Depuracion"<<endl;
*/
for(int j=0;
j<campos.size();
j++)
{
if(j==0)
{
// caso de cedula
lista_personas[i].Cedula=atoi(campos[j].c_str());
}
else if(j==2)
{
// caso de nombre
const char* nombre_char = campos[j].c_str();
lista_personas[i].Nombre= nombre_char;
}
else if(j==4)
{
// caso de apellido
lista_personas[i].Apellido=campos[j].c_str();
}
}
cout<<i<<")"<<lista_personas[i].Cedula<<";
"<<lista_personas[i].Nombre<<";
"<<lista_personas[i].Apellido<<endl;
}
//imprimir(lista_personas,n);
cout<<""<<endl;
}
No hay comentarios:
Publicar un comentario