[C con Clase] Guardar datos

Juan Antonio jalr43 en hotmail.com
Sab Ene 13 19:11:30 CET 2007


Hola Alejandro,

puedes usar ficheros donde guardes la información que desees y luego cuando vuelvas a abrir tu programa de nuevo puedes recuperar esos datos, borrar algunos, añadir más, etc. Consulta el siguiente link:

http://c.conclase.net/curso/index.php?cap=039

Un saludo,
Juan Antonio.
  ----- Original Message ----- 
  From: Alejandro Vilar López 
  To: cconclase en listas.conclase.net 
  Sent: Saturday, January 13, 2007 6:19 PM
  Subject: [C con Clase] Guardar datos


  Hola, me llamo Alejandro y soy español.
  Tengo 13 años y me gusta la informática. Antes había hecho páginas web con HTML pero ahora me he metido a la programación
  Me gustaría saber si se pueden guardar los datos que introduzcas en un programa y que al cerrar el programa no los pierdas. Os pregunto esto para el problema 1 de la parte de estructuras en el que hay que crear una agenda telefónica y para el que yo he usado este código:

  //Escribir un programa que almacene en un array los nombres y números de teléfono de 10 personas.

  //El programa debe leer los datos introducidos por el usuario y guardarlos en memoria. 

  //Después debe ser capaz de buscar el nombre correspondiente a un número de teléfono y el teléfono 

  //correspondiente a una persona. Ambas opciones deben se accesibles a través de un menú, así como la 

  //opción de salir del programa. El menú debe tener esta forma, más o menos: 

  //a) Buscar por nombre

  //b) Buscar por número de teléfono

  //c) Salir

  //Pulsa una opción:

  //4/1/2007 Alejandro Vilar López

  #include<iostream>//Librería para usar cout

  using namespace std;

  struct Datos//Estructura donde guardaré los datos

  {

  char nombre[15];//Variable de caracteres donde guardaré el nombre

  int telefono;//Variable entera para guardar el teléfono

  }Persona[100];//Array donde se guerdan las personas

  int main()//Función principal

  {

  char opcion[2];//Variable de caracteres donde guardaré la respuesta

  char respuesta1[2];//Variable de caracteres donde guardaré otra respuesta

  char respuesta2[2];//Variable de caracteres donde guardaré otra respuesta

  char respuesta3[2];//Variable de caracteres donde guardaré otra respuesta

  char cnombre[15];//Variable para comprobar el nombre

  int ctelefono;//Variable par comprobar el teléfono

  int k;//Variable entera que usaré de contador en los bucles

  int n;//Variable que usaré como contador en los bucles


  Start://Etiqueta para goto

  cout << endl << "Que deseas hacer? (a/b/c/d)" << endl << "a) Introducir datos" << endl

  <<"b) Buscar por nombre" << endl << "c) Buscar por telefono" << endl << "d) Salir" << endl;//Muestra esto

  cin >> opcion;//Te deja responder


  if(opcion[0] == 'a' || opcion[0] == 'A')//Si respondes a

  {

  for(k = 0; k <= 99; k ++)//Bucle for para meter el nombra

  {

  cout << endl << "Introduce el nombre (maximo 15 letras y sin" 

  " espacios): " << endl;//Muestra esto

  cin >> Persona[k].nombre;//Te deja meter el nombre

  cout << "Introduce el telefono: " << endl;//Muestra esto

  cin >> Persona[k].telefono;//Te deja meter el teléfono

  cout << "Introducir mas personas? (s/n)" << endl;//Muestra esto

  cin >> respuesta1;//Te deja contestar

  if(respuesta1[0] == 'n' || respuesta1[0] == 'N')goto Start;//Si se cumple, hace esto

  }

  }


  if(opcion[0] == 'b' || opcion[0] == 'B')//Si respondes b hace lo siguiente

  {

  for(n = 0; n <= 99; n ++)

  {

  cout << endl << "Introduce el nombre a buscar:" << endl;//Muestra esto

  cin >> cnombre;//Te deja meter el nombre

  for(k = 0; k <=99; k ++)//Bucle para buscar el telefono

  {

  if(cnombre[0] == Persona[k].nombre[0] 

  && cnombre[1] == Persona[k].nombre[1])//Si se cumple, hace esto

  {

  cout << "Telefono de " << Persona[k].nombre << ": " 

  << Persona[k].telefono << endl;//Muestra esto

  }

  }

  cout << "Buscar otro telefono? (s/n)" << endl;//Muestra esto

  cin >> respuesta2;//Te deja contestar

  if(respuesta2[0] == 'n' || respuesta2[0] == 'N')goto Start;//Si se cumple, vuelves a empezar

  }

  }


  if(opcion[0] == 'c' || opcion[0] == 'C')//Si respondes c

  {

  for(n = 0; n <= 99; n ++)

  {

  cout << endl << "Introduce el telefono:" << endl;//Muestra esto

  cin >> ctelefono;//Te deja meter el nombre

  for(k = 0; k <=99; k ++)//Bucle para buscar el telefono

  {

  if(ctelefono == Persona[k].telefono)//Si se cumple, hace esto

  {

  cout << "El telefono es de" << ": " 

  << Persona[k].nombre << endl;//Muestra esto

  break;//Corta el bucle

  }

  }

  cout << "Buscar otro? (s/n)" << endl;//Muestra esto

  cin >> respuesta3;//Te deja contestar

  if(respuesta3[0] == 'n' || respuesta3[0] == 'N')goto Start;//Si se cumple, vuelves a empezar

  }

  }


  cin.get();//Mantiene abierto el programa

  return 0;

  }


  Gracias por adelantado y un saludo.


------------------------------------------------------------------------------

  LLama Gratis a cualquier PC del Mundo.
  Llamadas a fijos y móviles desde 1 céntimo por minuto.
  http://es.voice.yahoo.com


------------------------------------------------------------------------------


  _______________________________________________
  Cconclase mailing list
  Cconclase en listas.conclase.net
  http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070113/fdd4befd/attachment.html>


Más información sobre la lista de distribución Cconclase