[C con Clase] Guardar datos

Alejandro Vilar López alepelexo en yahoo.es
Sab Ene 13 18:19:22 CET 2007


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
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20070113/cda0436d/attachment.html>


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