elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  duda Arreglo de matriz en Archivos en desplegarlo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: duda Arreglo de matriz en Archivos en desplegarlo  (Leído 1,842 veces)
davideliab

Desconectado Desconectado

Mensajes: 1


Ver Perfil
duda Arreglo de matriz en Archivos en desplegarlo
« en: 5 Mayo 2021, 00:00 am »

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
  1. #include <iostream>
  2. #include <fstream> //Libreria de Archivos o Ficheros
  3. using namespace std;
  4.  
  5. int menu(){
  6.  
  7. int x;
  8. cout<<"-----Bienvenido-----"<<endl<<endl;
  9. cout<<"1.-Agregar Personas"<<endl;
  10. cout<<"2.-Ver Personas"<<endl;
  11. cout<<"3. Buscar Personas"<<endl;
  12. cout<<"4.-Salir"<<endl;
  13. cout<<"Elige una opcion:"<<endl;
  14. cin>>x;
  15.  
  16. return x;
  17. }
  18. int x=0,y=0;
  19.  
  20. void agregar(ofstream & Esc){
  21.  
  22. system("cls");
  23.  
  24.  
  25.                  //Crea archivo | agrega elementos al archivo existente
  26. Esc.open("Personas.txt",ios::out);//Crea archivo
  27.  
  28.  
  29. cout<<"elige las columnas de tu arreglo"<<endl;
  30. cin>>x;
  31. cout<<"elige los renglones de tu arreglo"<<endl;
  32. cin>>y;
  33.  
  34. string arr[x][y];
  35. string a;
  36.  
  37.  
  38. cout<<"elige el caracter de tu arreglo"<<endl;
  39. cin>>a;
  40.  
  41. for(int i=0;i<x;i++){
  42. for(int j=0;j<y;j++){
  43.  
  44. arr[i][j]=a;
  45. }
  46. }
  47.  
  48. for(int i=0;i<x;i++){
  49.  
  50. for(int j=0;j<y;j++){
  51.  
  52. Esc<<arr[i][j];
  53. }
  54. //Esc<<"\n";
  55. }
  56.  
  57.  
  58. Esc.close();//Cerra el Archivo
  59.  
  60. }
  61.  
  62. void Ver(ifstream & Lec){
  63.  
  64. system("cls");
  65.  
  66. string arr[x][y];
  67. int i,j;
  68.  
  69. Lec.open("Personas.txt",ios::in);//Abre el archivo y extrae los datos
  70. cout<<"Personas Registrada"<<endl<<endl;
  71.  
  72. while(!Lec.eof())//busca hasta el final del archivo  End of File()
  73.       {
  74.       while(!Lec.eof())//busca hasta el final del archivo  End of File()
  75.       {
  76. Lec>>arr[i][j];
  77. j++;
  78. }
  79. i++;
  80. }
  81.  
  82. // cout<<arr[0][0]<<endl;
  83. // cout<<arr[0][1]<<endl;
  84. // cout<<arr[0][2]<<endl;
  85. for(int i=0;i<x;i++){
  86.  
  87. for(int j=0;j<y;j++){
  88.  
  89. cout<<arr[i][j];
  90.  
  91. }
  92. cout<<endl;
  93. }
  94. // }
  95. Lec.close();
  96. system("pause");
  97. }
  98.  
  99.  
  100.  
  101. void Buscar(ifstream & Lec){
  102.  
  103. system("cls");
  104. // variables para guardar los datos del archivo
  105. string nom;
  106. string ape;
  107. string mat;
  108. //------------------
  109. string auxmat; //Guarda el valor de el dato que quiero que busque
  110.  
  111. Lec.open("Personas.txt",ios::in);//Abre el archivo y extrae los datos
  112.  
  113. bool encontrado=false;
  114.  
  115. cout<<"Digite la matricula: "<<endl;
  116. cin>>auxmat;
  117.  
  118. Lec>>nom;
  119.  
  120. while(!Lec.eof() && !encontrado)
  121. {
  122.  
  123. Lec>>ape;
  124. Lec>>mat;
  125.  
  126. if(mat==auxmat)
  127. {
  128.  
  129. cout<<"Nombre--------:"<<nom<<endl;
  130. cout<<"Apellido------:"<<ape<<endl;
  131. cout<<"Matricula-----:"<<mat<<endl;
  132. cout<<"_______________"<<endl;
  133.  
  134. encontrado=true;
  135. }
  136. }
  137. Lec.close();
  138.  
  139. if(!encontrado)
  140. cout<<"Dato no encontrado"<<endl;
  141.  
  142.  
  143. system("pause");
  144.  
  145. }
  146.  
  147. int main(){
  148.  
  149. ofstream Esc; //Se usa para archivo de salida
  150. ifstream Lec; //Se usa para archivo de entrada
  151.  
  152. int op;
  153.  
  154. do{
  155.  
  156.    system("cls");
  157. op=menu();
  158.  
  159. switch(op)
  160. {
  161.  
  162. case 1:
  163.   agregar(Esc);
  164.   break;
  165.  
  166. case 2:
  167. Ver(Lec);
  168. break;
  169.  
  170. case 3:
  171. Buscar(Lec);
  172. break;
  173.  
  174.  
  175. }
  176.  
  177. }while(op!=4);
  178.  
  179. }

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


« Última modificación: 5 Mayo 2021, 19:08 pm por K-YreX » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.696


🏴 Libertad!!!!!


Ver Perfil WWW
Re: duda Arreglo de matriz en Archivos en desplegarlo
« Respuesta #1 en: 18 Junio 2021, 01:29 am »

Lo que estas haciendo no tiene ningun sentido cada funcion tiene su propioa matriz

Código
  1. string arr[x][y];

Esto es una variable local y solo es generada y utilizada en el momento que se llama a la funcion, otras funciones no tienen acceso a esa matriz.



En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda - Buscar si existe una matriz dentro de otra matriz
Programación Visual Basic
EddyW 2 5,783 Último mensaje 14 Agosto 2010, 06:18 am
por EddyW
Ayuda con imprimir una matriz en arreglo bidimensional
Programación C/C++
conker93 1 8,011 Último mensaje 6 Octubre 2012, 04:13 am
por shellb_c0de
duda con arreglo de caracteres
Programación C/C++
m@o_614 6 2,902 Último mensaje 2 Abril 2014, 19:22 pm
por rir3760
Consulta con archivos en C y un arreglo
Programación C/C++
palacio29 4 2,816 Último mensaje 21 Mayo 2020, 09:02 am
por palacio29
Duda con arreglo
Programación C/C++
Jay 4 2,790 Último mensaje 23 Octubre 2020, 05:37 am
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines