Dev - C++ - Pilas a Ficheros... ¡AYUDA PORFAVOR!

 
Vista:

Pilas a Ficheros... ¡AYUDA PORFAVOR!

Publicado por Tomas (1 intervención) el 01/06/2022 08:08:26
Hola, estoy tratando de guardar en un fichero los datos de la pila, a lo cual, me crea el archivo de texto pero no me guarda nada, es decir está vacío, alguien podría indicarme donde está el error? Muchas gracias!

#include <iostream>
#include <stdlib.h>
#include <queue>
#include <fstream>

using namespace std;

struct nodo {
int num;
struct nodo *sgte;
};

typedef nodo *punteroPila;

void push (punteroPila &p, int val) {
punteroPila aux;
aux = new (struct nodo);
aux -> num = val;
aux -> sgte = p;
p = aux;
}

int pop (punteroPila &p){
int num;
punteroPila aux;
aux = p;
num = aux ->num;
p = aux -> sgte;
delete (aux);
return num;
}

void MostrarPila(punteroPila p){
punteroPila aux;
aux = p;

while (aux!= NULL){
cout << " \t " << aux->num;
aux = aux = aux -> sgte;
}

}

void menu() {
cout << " \n ****** Menu General *******\n";
cout << " \n 1. Ingresar datos a la pila";
cout << " \n 2. Extraer datos de la pila";
cout << " \n 3. Mostrar datos de la pila";
cout << " \n 0. Salir \n";
cout << " \n Ingrese su opcion: ";
}

int main() {

string nombreArchivo = "Datos.txt";
ofstream archivo;

archivo.open(nombreArchivo.c_str(), fstream::out);

punteroPila p = NULL;
int datos;
int opc;
int numx;

do{
menu();
cin >> opc;

switch(opc) {

case 1:
for (int j=0; j < 4; j++){
cout << "\n Ingrese el dato: ";
cin >> datos;
push (p,datos);
cout << "\n Agregado con exito \n";
}
break;

case 2:
numx = pop(p);
cout << "\n Eliminado con exito n";
break;

case 3: {
cout << "\n ***** Datos de la Pila *****\n";
cout << " \n ";
if (p!=NULL)
MostrarPila(p);
else
cout << "\n En estos momentos no hay elementos \n";
break;
}
case 0: {
cout<<"\n\n\n Programa Finalizado \n";
exit(1);
break;
}
}
cout << "\n ";
system("pause");

archivo.close();
}
while (opc!=4);
return 0;
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alfil
Val: 4.344
Oro
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Pilas a Ficheros... ¡AYUDA PORFAVOR!

Publicado por Alfil (1444 intervenciones) el 01/06/2022 08:37:02
Declaras la variable archivo de tipo ofstream (escritura), abres el archivo pero luego no le pasas ningún tipo de información a ese archivo. Por ejemplo, si esa declaración la hicieras en la función push, una vez introducido el dato harias:

1
archivo << val << " ";
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar