C/Visual C - Un desafío .. una ayudita please!

 
Vista:

Un desafío .. una ayudita please!

Publicado por Romina Ignacia Cardemil (1 intervención) el 01/06/2001 05:47:44
Hola soy Romina!, porfa ayudenme con este problemita...

Tengo que hacer un programa en base a archivos que cumpla la funcion de agenda telefónica. Se le deben poner nombres con telefonos verificando que la persona no exista con ese numero. Debe permitir modificar ya sea el nombre o el telefono, pero no eliminarlo, con el fin de guardar un historial.
Cada persona tiene un numero de telefono, si se quiere ingresar una persona con dos numeros telefonicos, se ingresara dos veces la persona con sus respectivos numeros.

Por favor se los pido, muchísimas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Un desafío .. una ayudita please!

Publicado por Daniel (1 intervención) el 01/06/2001 14:30:39
Si lo que quieres es saber la estructura de datos que debes usar, puedes definirte una estructura con una cadena para el nombre y otra cadena para el numero de telefono.
Seria asi, por ejemplo:
typedef struct contacto {
string nombre;
string telefono;

}

y luego definirias la agenda como un vector de contactos, es decir

typedef vector<contacto> agenda_telefonos;
Te puedes definir la variable agenda, que sera del tipo vector
agenda_telefonos agenda;

Asi, usando un vector tienes muchas funciones implementadas, como insertar un elemento, borrarlo, coger el primer elemento, el ultimo. Y con la ayuda de los iteradores puedes ir recorriendo el vector y comprobar si esa persona ya existe. Si el telefono es igual, muestras un mensaje de que ya existe y si no, lo insertas y esa persona ya existiría con 2 teléfonos.
Para los iteradores, los puedes definir asi:

agenda_telefonos::iterator primero =
(agenda_telefonos::iterator) agenda.begin();

agenda_telefonos::iterator ultimo =
(agenda_telefonos::iterator) agenda.end();

ASi ya puedes ir recorriendo el vector, seria mas o menos asi
la variable encontrado es para que cuando encuentres el nombre o numero que quieras , pares. Inicialmente estara a false.
string telef;
while (primero != ultimo && !encontrado ) {
if (primero->nombre == nombre_buscado) {
telef = primero->telefono; // por ejemplo
encontrado = true;
}
primero++; // para pasar al siguiente elemento del vect
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Un desafío .. una ayudita please!

Publicado por joshua ramirez (43 intervenciones) el 01/06/2001 17:50:24
Lo que tienes que hacer es utilizar una estucrura de datos como sigue

struct registro
{
char nombre[35];
char direccion[35];
char telefono[15];
int edad;
}reg;

luego dependiendo del numero de registros que quieras, tendras que inicializarlos en blanco y escribirlos en el archivo con fwrite();

no recuerdo muy bien, pero si te interesa tengo un pequeño ejemplo que podria servirte, escribeme y te lo mando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar