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ú

Temas - davideliab

#1
Estoy intentado recuperar la matriz y del archivo guardarla en la matriz pero solo me lo guarda los 100 elementos en la primera posición del arreglo y quiero que me guarde cada elemento en sus coordenadas.
Código (cpp) [Seleccionar]

#include <iostream>
#include <fstream> //Libreria de Archivos o Ficheros
using namespace std;

int menu(){

int x;
cout<<"-----Bienvenido-----"<<endl<<endl;
cout<<"1.-Agregar Personas"<<endl;
cout<<"2.-Ver Personas"<<endl;
cout<<"3. Buscar Personas"<<endl;
cout<<"4.-Salir"<<endl;
cout<<"Elige una opcion:"<<endl;
cin>>x;

return x;
}
int x=0,y=0;

void agregar(ofstream & Esc){

system("cls");


                 //Crea archivo | agrega elementos al archivo existente
Esc.open("Personas.txt",ios::out);//Crea archivo


cout<<"elige las columnas de tu arreglo"<<endl;
cin>>x;
cout<<"elige los renglones de tu arreglo"<<endl;
cin>>y;

string arr[x][y];
string a;


cout<<"elige el caracter de tu arreglo"<<endl;
cin>>a;

for(int i=0;i<x;i++){
for(int j=0;j<y;j++){

arr[i][j]=a;
}
}

for(int i=0;i<x;i++){

for(int j=0;j<y;j++){

Esc<<arr[i][j];
}
//Esc<<"\n";
}


Esc.close();//Cerra el Archivo

}

void Ver(ifstream & Lec){

system("cls");

string arr[x][y];
int i,j;

Lec.open("Personas.txt",ios::in);//Abre el archivo y extrae los datos
cout<<"Personas Registrada"<<endl<<endl;

while(!Lec.eof())//busca hasta el final del archivo  End of File()
      {
      while(!Lec.eof())//busca hasta el final del archivo  End of File()
      {
Lec>>arr[i][j];
j++;
}
i++;
}

// cout<<arr[0][0]<<endl;
// cout<<arr[0][1]<<endl;
// cout<<arr[0][2]<<endl;
for(int i=0;i<x;i++){

for(int j=0;j<y;j++){

cout<<arr[i][j];

}
cout<<endl;
}
// }
Lec.close();
system("pause");
}



void Buscar(ifstream & Lec){

system("cls");
// variables para guardar los datos del archivo
string nom;
string ape;
string mat;
//------------------
string auxmat; //Guarda el valor de el dato que quiero que busque

Lec.open("Personas.txt",ios::in);//Abre el archivo y extrae los datos

bool encontrado=false;

cout<<"Digite la matricula: "<<endl;
cin>>auxmat;

Lec>>nom;

while(!Lec.eof() && !encontrado)
{

Lec>>ape;
Lec>>mat;

if(mat==auxmat)
{

cout<<"Nombre--------:"<<nom<<endl;
cout<<"Apellido------:"<<ape<<endl;
cout<<"Matricula-----:"<<mat<<endl;
cout<<"_______________"<<endl;

encontrado=true;
}
}
Lec.close();

if(!encontrado)
cout<<"Dato no encontrado"<<endl;


system("pause");

}

int main(){

ofstream Esc; //Se usa para archivo de salida
ifstream Lec; //Se usa para archivo de entrada

int op;

do{

   system("cls");
op=menu();

switch(op)
{

case 1:
  agregar(Esc);
  break;

case 2:
Ver(Lec);
break;

case 3:
Buscar(Lec);
break;

 
}

}while(op!=4);

}



MOD: El código debe estar entre etiquetas de Código GeSHi