[ Foro de C++ ]

agenda en c++ me da error en la mayoria de menu

19-Jun-2020 14:14
Invitado (angel)
1 Respuestas

#include <stdlib.h>
#include <iostream>
#include <fstream>
#include <string.h>
using namespace std;

//Prototipo de funciones.
void Anadir();
void Eliminar();
void Editar();
void Ver();
void VerTodo();

//Definicion de estructura.
struct informacion
{
  string codigo ;
   string cedula ;
   string nombre;
   string apellido;
   string nacimiento;
   string direccion;
   string telefono;
   string celular;
  string gmail;

  }
persona[25];

//Declaracion de variables.
int opcion;
int registro = 0;
char sn[10];


int main()
{

  cout << "1. Anadir un contacto." << endl << endl;
  cout << "2. Eliminar un contacto." << endl << endl;
  cout << "3. Editar un contacto." << endl << endl;
  cout << "4. Ver informacion de un contacto." << endl << endl;
  cout << "5. Ver todos los contactos." << endl << endl;
  cout << "6. Ver registro en Agenda.txt" << endl << endl;
cout << "7. Salir." << endl << endl;
  cout << "Numero de operacion a realizar: ";
  cin >> opcion;
  switch (opcion)
  {
     case 1:
     Anadir();
     break;

     case 2:
     Eliminar();
     break;

     case 3:
     Editar();
     break;

     case 4:
     Ver();
     break;

     case 5:
     VerTodo();
     break;

     case 6:
     system("Agenda.txt");
     main();
     break;

     case 7:
     exit(0);
     break;

     default:
     cout << "Operacion incorrecta. Escriba nuevamente la operacion a realizar";
     main();
     break;
  }
return 0;
}
//Fin main.

//Definicion de funciones.
void Anadir()
{
  cout << "Escriba la siguiente informacion del contacto.";
 
  cout << "1. codigo: ";
  cin >> persona[registro].codigo;
 
  cout << "2. Cedula: ";
  cin >> persona[registro].cedula;
  cout << "3. Nombre: ";
  cin >> persona[registro].nombre;
  cout << "4. Apellido: ";
  cin >> persona[registro].apellido;
   cout << "5. gmail: ";
  cin >> persona[registro].gmail;
  cout << "6. Fecha nacimiento: ";
  cin >> persona[registro].nacimiento;
  cout << "7. Direccion: ";
  cin >> persona[registro].direccion;
  cout << "8. Telefono: ";
  cin >> persona[registro].telefono;
  cout << "9. Celular: ";
  cin >> persona[registro].celular;
  {
////// Entrada/Salida a archivo de texto "Agenda.txt"
  ofstream archivo;
  archivo.open("Agenda.txt", ios::app);
   archivo << "codigo: " << persona[registro].codigo << endl;
  archivo << "Cedula: " << persona[registro].cedula << endl;
  archivo << "Nombre: " << persona[registro].nombre << endl;
  archivo << "Apellido: " << persona[registro].apellido << endl;
   archivo << "gmail: " << persona[registro].gmail << endl;
  archivo << "Fecha nacimiento: " << persona[registro].nacimiento << endl;
  archivo << "Direccion: " << persona[registro].direccion << endl;
  archivo << "Telefono: " << persona[registro].telefono << endl;
  archivo << "Celular: " << persona[registro].celular << endl;
  archivo.close();
  ////// Fin de Entrada/Salida a archivo de texto "Agenda.txt"
  registro++;
  cout << endl << "Contacto anadido." << endl;
  }
}

void Eliminar()
{
  int opcionEliminar;
  cout << "Numero de cedula a eliminar: ";
  cin >> opcionEliminar;
  opcionEliminar--;
if (opcionEliminar < registro)
  {
  cout << "1. codigo: ";
  cout << persona[opcionEliminar].codigo;
  cout << "2. Cedula: ";
  cout << persona[opcionEliminar].cedula;
  cout << "3. Nombre: ";
  cout << persona[opcionEliminar].nombre;
  cout << "4. Apellido: ";
  cout << persona[opcionEliminar].apellido;
  cout << "5. gmail: ";
  cout << persona[opcionEliminar].gmail;
  cout << "6. Fecha nacimiento: ";
  cout << persona[opcionEliminar].nacimiento;
  cout << "7. Direccion: ";
  cout << persona[opcionEliminar].direccion;
  cout << "8. Telefono: ";
  cout << persona[opcionEliminar].telefono;
  cout << "9. Celular: ";
  cout << persona[opcionEliminar].celular;
  do{
  cout << "Eliminar contacto de la agenda? [S/N]: ";
  cin >> sn;
  if((strcmp(sn,"s")==0)||(strcmp(sn,"S")==0))
  {
  persona[opcionEliminar]=persona[registro];
  cout << endl << "Contacto eliminado." << endl;
  main();
  }
  if((strcmp(sn,"n")==0)||(strcmp(sn,"N")==0))
  {
  cout << "Contacto no eliminado.";
  main();
  }
  }while ((sn!="S")||(sn!="s")||(sn!="N")||(sn!="n"));
  }

  else
  {
  cout << "Numero de registro no existente.";
  main();
  }
}

void Editar()
{
  int opcionEditar;
  int informacionEditar;
  cout << "Numero de registro a editar: ";
  cin >> opcionEditar;
  opcionEditar--;
  if (opcionEditar < registro)
  {
 
  cout << "1. codigo: ";
  cout << persona[opcionEditar].codigo;
  cout << "2. Cedula: ";
  cout << persona[opcionEditar].cedula;
  cout << "3. Nombre: ";
  cout << persona[opcionEditar].nombre;
  cout << "4. Apellido: ";
 
  cout << "5. gmail: ";
  cout << persona[opcionEditar].gmail;
 
  cout << persona[opcionEditar].apellido;
  cout << "6. Fecha nacimiento : ";
  cout << persona[opcionEditar].nacimiento;
  cout << "7. Direccion: ";
  cout << persona[opcionEditar].direccion;
  cout << "8. Telefono: ";
  cout << persona[opcionEditar].telefono;
  cout << "9. Celular: ";
  cout << persona[opcionEditar].celular;
  cout << "10. Todo. ";
  cout << "10. Nada. ";
  cout << "Informacion a editar: ";
  cin >> informacionEditar;
  switch (informacionEditar)
  {
 
  case 1:
  cout << "1. Codigo: ";
  cin >> persona[opcionEditar].codigo;
  break;
 
   case 2:
  cout << "1. Cedula: ";
  cin >> persona[opcionEditar].cedula;
  break;
  case 3:
  cout << "2. Nombre: ";
  cin >> persona[opcionEditar].nombre;
  break;
  case 4:
  cout << "3. Apellido: ";
  cin >> persona[opcionEditar].apellido;
 
   case 5:
  cout << "3. gmail: ";
  cin >> persona[opcionEditar].gmail;
 
 
  break;
  case 6:
  cout << "4. Fecha nacimiento: ";
  cin >> persona[opcionEditar].nacimiento;
  break;
  case 7:
  cout << "5. Direccion: ";
  cin >> persona[opcionEditar].direccion;
  break;
  case 8:
  cout << "6. Telefono: ";
  cin >> persona[opcionEditar].telefono;
  break;
  case 9:
  cout << "7. Celular: ";
  cin >> persona[opcionEditar].celular;
  break;
  case 10:
  cout << "1. Codigo: ";
  cin >> persona[opcionEditar].codigo;
   cout << "2. Cedula: ";
  cin >> persona[opcionEditar].cedula;
  cout << "3. Nombre: ";
  cin >> persona[opcionEditar].nombre;
  cout << "4. Apellido: ";
  cout << "5. gmail: ";
  cin >> persona[opcionEditar].gmail;
 
  cin >> persona[opcionEditar].apellido;
  cout << "6. Fecha nacimiento: ";
  cin >> persona[opcionEditar].nacimiento;
  cout << "7. Direccion: ";
  cin >> persona[opcionEditar].direccion;
  cout << "8. Telefono: ";
  cin >> persona[opcionEditar].telefono;
  cout << "9. Celular: ";
  cin >> persona[opcionEditar].celular;
  break;
  main();
  break;
  default:
  cout << "Operacion incorrecta. Escriba nuevamente la informacion a editar.";
  Editar();
  break;
  }
  main();
  }

  else
  {
  cout << "Numero de registro no existente.";
  main();
  }
}

void Ver()
{
  int ver;
  cout << "Numero de registro a ver: ";
  cin >> ver;
  ver--;
  if (ver < registro)
  {
 
  cout << "1. codigo: ";
  cout << persona[ver].codigo;
  cout << "2. Cedula: ";
  cout << persona[ver].cedula;
  cout << "3. Nombre: ";
  cout << persona[ver].nombre;
  cout << "4. Apellido: ";
  cout << "5. gmail: ";
  cout << persona[ver].gmail;
  cout << persona[ver].apellido;
  cout << "6. Fecha nacimiento: ";
  cout << persona[ver].nacimiento;
  cout << "7. Direccion: ";
  cout << persona[ver].direccion;
  cout << "8. Telefono: ";
  cout << persona[ver].telefono;
  cout << "9. Celular: ";
  cout << persona[ver].celular;
  main();
  }
  else
  {
  cout << "Numero de registro no existente.";
  main();
  }
}

void VerTodo()
{
  int verTodo;
  for (verTodo = 0; verTodo < registro; verTodo++)
  {
  cout << "1. Codigo: ";
  cout << persona[verTodo].codigo;
  cout << "2. Cedula: ";
  cout << persona[verTodo].cedula;
  cout << "3. Nombre: ";
  cout << persona[verTodo].nombre;
  cout << "4. Apellido: ";
  cout << persona[verTodo].apellido;
 
  cout << "5. gmail: ";
  cout << persona[verTodo].gmail;
 
  cout << "6. Fecha nacimiento: ";
  cout << persona[verTodo].nacimiento;
  cout << "7. Direccion: ";
  cout << persona[verTodo].direccion;
  cout << "8. Telefono: ";
  cout << persona[verTodo].telefono;
  cout << "8. Celular: ";
  cout << persona[verTodo].celular;
  system("pause > nul");
  }
  main();
}


19-Jun-2020 18:13
Nacho Cabanes (+64)

¿Qué quiere decir "me da error"?  Da más detalles. Yo no veo errores de compilación.

Por cierto, no deberías llamar a "main" desde las funciones auxiliares, volverás a "main" cuando cada una de ellas termine.






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)