How this program would be improved? #include #include #include #include #include #include #include using namespace std; class Nodo { char Nombre[128]; Nodo * siguiente; public: Nodo(char *N='\0',Nodo * S=NULL) { strcpy(Nombre, N); siguiente=S; } friendclass Lista; }; class Lista { Nodo * inicio; public: Lista() { inicio=NULL; } void Insertar(char*); void Guardar(); void Recuperar(); void Recorrer(); }; void Lista::Insertar(char * N) { Nodo *nuevo=inicio; nuevo=new Nodo(N,inicio); inicio=nuevo; } void Lista::Guardar() { Nodo *aux=inicio; char Nombre_archivo[128]; cout<Nombre<siguiente; } cout<<"archivo guardado..."<siguiente; delete aux; } while(!archivo_entrada.eof()) { archivo_entrada.getline(dato, sizeof(dato)); Insertar(dato); } aux=inicio; inicio=inicio->siguiente; delete aux; cout<Nombre<siguiente; } system("pause"); } int main() { char dato[128]; Lista Nombres; char opcion; do{ system("cls"); cout<<"a) Insertar"<

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question

How this program would be improved?

#include<string.h>
#include<stdio.h>
#include <fstream>
#include<ctype.h>
#include<conio.h>
#include<iostream>
#include<stdlib.h>
using namespace std;
class Nodo
{
char Nombre[128];
Nodo * siguiente;
public:
Nodo(char *N='\0',Nodo * S=NULL)
{
strcpy(Nombre, N);
siguiente=S;
}
friendclass Lista;
};
class Lista
{
Nodo * inicio;
public:
Lista()
{
inicio=NULL;
}
void Insertar(char*);
void Guardar();
void Recuperar();
void Recorrer();
};
void Lista::Insertar(char * N)
{
Nodo *nuevo=inicio;
nuevo=new Nodo(N,inicio);
inicio=nuevo;
}
void Lista::Guardar()
{
Nodo *aux=inicio;
char Nombre_archivo[128];
cout<<endl<<"nombre del archivo a guardar: ";
gets(Nombre_archivo);
ofstream archivo_salida(Nombre_archivo);
if(archivo_salida.fail()){
cout << "Error al abrir el archivo..." << endl;
system("pause");
return;
}
while(aux)
{
archivo_salida<<aux->Nombre<<endl;
aux=aux->siguiente;
}
cout<<"archivo guardado..."<<endl;
system("pause");
archivo_salida.close();
}
void Lista::Recuperar()
{
Nodo* aux;
char Nombre_archivo[128];
char dato[128];
cout<<endl<<"nombre del archivo a recuperar: ";
gets(Nombre_archivo);
ifstream archivo_entrada(Nombre_archivo);
if(archivo_entrada.fail()){
cout << "Error al abrir el archivo... " << endl;
system("pause");
return;
}
while(inicio)
{
aux=inicio;
inicio=inicio->siguiente;
delete aux;
}
while(!archivo_entrada.eof())
{
archivo_entrada.getline(dato, sizeof(dato));
Insertar(dato);
}
aux=inicio;
inicio=inicio->siguiente;
delete aux;
cout<<endl<<"archivo recuperado...."<<endl;
system("pause");
archivo_entrada.close();
}
void Lista::Recorrer()
{
Nodo *aux=inicio;
while(aux)
{
cout<<"Nombre: "<<aux->Nombre<<endl;
aux=aux->siguiente;
}
system("pause");
}
int main()
{
char dato[128];
Lista Nombres;
char opcion;
do{
system("cls");
cout<<"a) Insertar"<<endl;
cout<<"b) Recorrer"<<endl;
cout<<"c) Guardar"<<endl;
cout<<"d) Recuperar"<<endl;
cout<<"e)Salir"<<endl;
cout<<"Que opcion desea? ";
opcion=getche();
opcion=tolower(opcion);
switch(opcion){
case'a':
cout<<endl<<"proporciona un nombre: ";
gets(dato);
Nombres.Insertar(dato);
break;
case'b':
system("cls");
cout<<"Nombres de la lista:"<<endl;
Nombres.Recorrer();
break;
case'c':
Nombres.Guardar();
break;
case'd':
Nombres.Recuperar();
break;
case'e':
return0;
default:
cout<<"opcion no valida"<<endl;
system("pause");
}
}while(1);
}





Expert Solution
steps

Step by step

Solved in 2 steps

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY