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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema (duda) al guardar un espacio en archivos c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema (duda) al guardar un espacio en archivos c++  (Leído 1,988 veces)
Pancho_Ibarra

Desconectado Desconectado

Mensajes: 1


Ver Perfil
problema (duda) al guardar un espacio en archivos c++
« en: 6 Diciembre 2017, 04:46 am »

hola que tal, tengo un problema con mi programa bueno mas que problema es una duda sobre como hacer que al registrar un nuevo usuario y poner el nombre pueda poner un espacio y al momento de guardar el usuario en el archivo me guarde también el espacio por que lo que pasa es que al guardar un usuario con espacio me crea un nuevo usuario
 

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

struct contacto
{
   char numero[10];
   char nombre[30];
   char correo[30];

}lista[100];

int opcion;
int opc, i, w = 0;
ifstream archivo;
void capturar();
void mostrar();
void guardar();
void lectura();
void borrar();
void editar();
void email();
void manual();

void main()
{
   lectura();
   do
   {
      system("cls");
      cout << "Menu de opciones \n";
      cout << "1-Agregar contacto \n";
      cout << "2-Mostrar contactos \n";
      cout << "3-Guardar \n";
      cout << "4-Manual de usuario \n";
      cout << "5-Salir \n";
      cout << "Opcion: ";
      cin >> opc;

      switch (opc)
      {
      case 1:
      {
         capturar();
         i++;
         break;
      }
      case 2:
      {
         mostrar();
         break;

      }
      case 3:
      {
         guardar();
         break;
      }
      case 4:
      {
         manual();
         break;
      }
      }
   }

   while (opc != 5);

   system("pause");
}

void capturar()
{
   int lon_tel = 0;
   system("cls");

   do
   {
      cout << "Ingresa numero telefonico: ";
      cin.getline(lista->numero, 20, '\n');
      lon_tel = strlen(lista->numero);

      if (lon_tel < 8 || lon_tel > 11)
         cout << "El telefono debe tener 8 numeros como minimo." << endl;

   } while (lon_tel < 8 || lon_tel > 11);




   
   cout << "Escribe tu nombre: "; cin.ignore();
   cin.getline(lista.nombre, 30);
   cout << "Escribe tu correo electronico: ";
   cin >> lista.correo;
   email();
}

void mostrar()
{
   int p;
   system("cls");
   for (w = 0; w < i; w++)
   {
      cout << "Contacto numero: " << w + 1 << endl;
      cout << "Telefono: " << lista[w].numero << endl;
      cout << "Nombre: " << lista[w].nombre << endl;
      cout << "Correo electronico:" << lista[w].correo << endl << endl;
   }

   cout << "1-Borrar contacto \n2-Editar contacto \nPara salir presiona cualquier otro numero \n";
   cin >> p;
   if (p == 1)
      borrar();

   if (p == 2)
      editar();

   system("pause");
}

void guardar()
{
   ofstream archivo;

   archivo.open("Archivo.txt", ios::out);

   for (w = 0; w < i; w++)
   {
      archivo << lista[w].numero << endl;
      archivo << lista[w].nombre << endl;
      archivo << lista[w].correo << endl;
   }

   if (archivo.fail())
   {
      cout << "No se pudo abrir el archivo";
      system("pause");
      exit(1);
   }

   else
   {
      system("cls");
      cout << "El archivo se ha guardado correctamente \n";
      system("pause");
   }

   archivo.close();
}

void lectura()
{
   ifstream archivo;
   string texto;

   archivo.open("Archivo.txt", ios::in);

   if (archivo.fail())
   {
      cout << "No se pudo abrir el archivo" << endl;
      system("pause");
   }
   else
   {
      archivo >> lista[w].numero;
      while (!archivo.eof())
      {
         archivo >> lista[w].nombre;
         archivo >> lista[w].correo;
         w++;
         i++;
         archivo >> lista[w].numero;
      }

      archivo.close();

   }

}

void borrar()
{
   int b;
   cout << "Contacto a borrar: ";
   cin >> b;

   for (w = 0; w < b; w++)
   {
      if (w + 1 == b)
      {
         archivo >> lista[w].numero;
         archivo >> lista[w].nombre;
         archivo >> lista[w].correo;
      }
   }
}

void editar()
{
   int c;
   cout << "Contacto a editar (numero): ";
   cin >> c;

   for (w = 0; w < c; w++)
   {
      if (w + 1 == c)
      {
         system("cls");
         cout << "Escribe tu numero telefonico: ";
         cin >> lista[w].numero;
         cout << "Escribe tu nombre: ";
         cin >> lista[w].nombre;
         cout << "Escribe tu correo electronico: ";
         cin >> lista[w].correo;
      }
   }
}

void email()
{
   int contadora = 0;

   for (int k = 0; k < 30; k++)
      if (lista.correo[k] == '@')
      {
         contadora++;
         break;
      }
   if (contadora > 0)
      cout << "Tiene @\n";

   if (!contadora > 0)
   {
      cout << "Tu correo no tiene @, intenta de nuevo\n";
      system("pause");
      capturar();
   }
   system("pause");

}

void manual()
{
   system("cls");
   cout << "Bienvenido al manual de usuario, a continuacion te mostraremos \ncomo usar esta agenda. \n \n";
   cout << "Inicialmente tenemos un menu en donde puedes elegir una opcion. \n";
   cout << "Para seleccionar alguna opcion solo hay que escribir el numero\ndel lado izquierdo. \n";
   cout << "En la opcion 'Agregar contacto' podras intrucir datos como por\nejemplo, el numero telefonico, nombre y correo. \n";
   cout << "En la opcion 'Mostrar contactos' podras visualizar todos los\ncontactos que has guardado. \n";
   cout << "Dentro de esta opcion, podras borrar o editar algun contacto. \n";
   cout << "En la opcion 'Guardar' podras asegurarte de guardar todos los\ncontactos que hayas introducido. \n";
   cout << "Y por ultimo, la opcion 'Salir' te permitira cerrar la agenda. \n";
   cout << "Estas son todas las funcionalidades que tiene este programa. \n";
   system("pause");
}


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda problema para guardar archivo
Programación Visual Basic
musicaward 2 1,545 Último mensaje 19 Enero 2009, 01:50 am
por byway
La NSA no tiene problemas de espacio: puede guardar todas las llamadas de un ...
Noticias
wolfbcn 0 1,462 Último mensaje 18 Marzo 2014, 17:51 pm
por wolfbcn
ffmpeg archivos con espacio
.NET (C#, VB.NET, ASP)
rigorvzla 3 3,651 Último mensaje 8 Abril 2018, 23:07 pm
por Eleкtro
Guardar una linea de enteros separados por un espacio en C « 1 2 »
Programación C/C++
FERNIIIIN 10 5,647 Último mensaje 9 Noviembre 2018, 21:06 pm
por FERNIIIIN
Cómo conseguir espacio gratis en Box para guardar archivos
Noticias
El_Andaluz 0 1,141 Último mensaje 18 Abril 2020, 01:10 am
por El_Andaluz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines