AGENDA CON FUNCIONES EN C
Publicado por kuku (1 intervención) el 16/04/2007 20:48:50
Hola, tengo q hacer una agenda de contactos con funciones en c, pero no se cmo aplicar las funciones. Tengo el codigo de la agenda sin las funciones y queria pediros si me podeis decir como seria la agenda hecha con funciones, os dejo mi codigo.
Lo q pide el ejercicio es en un menu:1.Agregar contactos,2.Listar todos,3.Buscar un contacto por nombre,4.Borrar un contacto,5.Quien cumple años,6.Salir.
#include <stdio.h>
#include <stdlib.h>
#include <conio.c>
#include <time.h>
struct fechas
{
int dia_semana;
int dia;
int mes;
int ano;
};
struct fechas ordenador;
struct agenda
{
char nombre[50];
char apellido1[50];
char apellido2[50];
int edad[3];
int telefono[9];
int movil[9];
char mail[30];
int fecha[10];
struct fechas ordenador;
};
struct agenda contactos[100];
int main(int argc, char *argv[])
{
int opcion,i=0,x=0;
int MAX=100,cont=0,pos=0;
char contactos2[50],contactos3[50];
time_t temp;
struct tm *fecha;
do{
printf ("1- Agregar un contacto\n");
printf (" 2- Listar todos los contactos\n");
printf ("3- Buscar un contacto por nombre\n");
printf ("4- Borrar un contacto\n");
printf ("5- Quien cumple los annos hoy\n");
printf ("6- Salir\n\n");
printf ("Selecciona una opcion: ");
fflush(stdin);
scanf("%d",&opcion);
switch(opcion)
{
case 1: //Agregar contacto
if(cont == MAX)
{
printf("Agenda llena.");
getch();
}
else
{
cont++;
system("cls");
printf("Introduzca un nombre: ");
fflush(stdin);
scanf("%s", contactos[cont].nombre);
printf("Introduzca el primer apellido: ");
fflush(stdin);
scanf("%s", contactos[cont].apellido1);
printf("Introduzca el segundo apellido: ");
fflush(stdin);
scanf("%s", contactos[cont].apellido2);
printf("Introduzca la edad: ");
fflush(stdin);
scanf("%s", contactos[cont].edad);
printf("Introduzca el numero de telefono: ");
fflush(stdin);
scanf("%s", contactos[cont].telefono);
printf("Introduzca el movil: ");
scanf("%s", contactos[cont].movil);
printf("Introduzca el e-mail: ");
fflush(stdin);
scanf("%s", contactos[cont].mail);
printf("Introducza la fecha de nacimiento: ");
fflush(stdin);
scanf("%s", contactos[cont].fecha);
}
printf("\n Pulse enter para volver al menu.");
getch();
system("cls");
break;
case 2: //Listar todo
system("cls");
for(i=1;i<=cont;i++)
{
printf("Nombre: %s\n", contactos[*i].nombre);
printf("Apellido primero: %s\n", contactos[*i].apellido1);
printf("Apellido segundo: %s\n", contactos[*i].apellido2);
printf("Edad: %s\n", contactos[*i].edad);
printf("Telefono: %s\n", contactos[*i].telefono);
printf("Movil: %s\n", contactos[*i].movil);
printf("E-mail: %s\n", contactos[*i].mail);
printf("Fecha de nacimiento: %s\n", contactos[*i].fecha);
}
getch();
system("cls");
break;
case 3: //Buscar por nombre
system("cls");
fflush(stdin);
printf("Introduzca el nombre del contacto que desea buscar: ");
gets(contactos2);
for(i=1;i<=MAX;i++)
{
if(strcmp(contactos2,contactos[*i].nombre)==0)
{
printf("Nombre: %s\n", contactos[*i].nombre);
printf("Apellido primero: %s\n", contactos[*i].apellido1);
printf("Apellido segundo: %s\n", contactos[*i].apellido2);
printf("Edad: %s\n", contactos[*i].edad);
printf("Telefono: %s\n", contactos[*i].telefono);
printf("Movil: %s\n", contactos[*i].movil);
printf("E-mail: %s\n", contactos[*i].mail);
printf("Fecha de nacimiento: %s\n", contactos[*i].fecha);
}
}
getch();
system("cls");
break;
case 4: //Borrar
system("cls");
fflush(stdin);
printf("Introduzca el nombre del contacto que desea borrar: ");
scanf("%s",contactos3);
for (i=0;i<MAX;i++)
{
if(strcmp(contactos3,contactos[i].nombre)==0)
{
contactos[i]=contactos[i+1];
for(x=i;x<cont;x++)
{
contactos[x]=contactos[x+1];
}
x--;
cont--;
}
}
system("cls");
break;
case 5: //¿Quien cumple años?
temp = time(NULL);
fecha = localtime(&temp);
ordenador.dia_semana=fecha->tm_wday;
ordenador.dia=fecha->tm_mday;
ordenador.mes=fecha->tm_mon;
ordenador.mes=ordenador.mes+1;
ordenador.ano=fecha->tm_year;
ordenador.ano=ordenador.ano+1900;
break;
break;
case 6: //Salir
break;
}
}while (opcion!<6);
system("PAUSE");
return 0;
}
Lo q pide el ejercicio es en un menu:1.Agregar contactos,2.Listar todos,3.Buscar un contacto por nombre,4.Borrar un contacto,5.Quien cumple años,6.Salir.
#include <stdio.h>
#include <stdlib.h>
#include <conio.c>
#include <time.h>
struct fechas
{
int dia_semana;
int dia;
int mes;
int ano;
};
struct fechas ordenador;
struct agenda
{
char nombre[50];
char apellido1[50];
char apellido2[50];
int edad[3];
int telefono[9];
int movil[9];
char mail[30];
int fecha[10];
struct fechas ordenador;
};
struct agenda contactos[100];
int main(int argc, char *argv[])
{
int opcion,i=0,x=0;
int MAX=100,cont=0,pos=0;
char contactos2[50],contactos3[50];
time_t temp;
struct tm *fecha;
do{
printf ("1- Agregar un contacto\n");
printf (" 2- Listar todos los contactos\n");
printf ("3- Buscar un contacto por nombre\n");
printf ("4- Borrar un contacto\n");
printf ("5- Quien cumple los annos hoy\n");
printf ("6- Salir\n\n");
printf ("Selecciona una opcion: ");
fflush(stdin);
scanf("%d",&opcion);
switch(opcion)
{
case 1: //Agregar contacto
if(cont == MAX)
{
printf("Agenda llena.");
getch();
}
else
{
cont++;
system("cls");
printf("Introduzca un nombre: ");
fflush(stdin);
scanf("%s", contactos[cont].nombre);
printf("Introduzca el primer apellido: ");
fflush(stdin);
scanf("%s", contactos[cont].apellido1);
printf("Introduzca el segundo apellido: ");
fflush(stdin);
scanf("%s", contactos[cont].apellido2);
printf("Introduzca la edad: ");
fflush(stdin);
scanf("%s", contactos[cont].edad);
printf("Introduzca el numero de telefono: ");
fflush(stdin);
scanf("%s", contactos[cont].telefono);
printf("Introduzca el movil: ");
scanf("%s", contactos[cont].movil);
printf("Introduzca el e-mail: ");
fflush(stdin);
scanf("%s", contactos[cont].mail);
printf("Introducza la fecha de nacimiento: ");
fflush(stdin);
scanf("%s", contactos[cont].fecha);
}
printf("\n Pulse enter para volver al menu.");
getch();
system("cls");
break;
case 2: //Listar todo
system("cls");
for(i=1;i<=cont;i++)
{
printf("Nombre: %s\n", contactos[*i].nombre);
printf("Apellido primero: %s\n", contactos[*i].apellido1);
printf("Apellido segundo: %s\n", contactos[*i].apellido2);
printf("Edad: %s\n", contactos[*i].edad);
printf("Telefono: %s\n", contactos[*i].telefono);
printf("Movil: %s\n", contactos[*i].movil);
printf("E-mail: %s\n", contactos[*i].mail);
printf("Fecha de nacimiento: %s\n", contactos[*i].fecha);
}
getch();
system("cls");
break;
case 3: //Buscar por nombre
system("cls");
fflush(stdin);
printf("Introduzca el nombre del contacto que desea buscar: ");
gets(contactos2);
for(i=1;i<=MAX;i++)
{
if(strcmp(contactos2,contactos[*i].nombre)==0)
{
printf("Nombre: %s\n", contactos[*i].nombre);
printf("Apellido primero: %s\n", contactos[*i].apellido1);
printf("Apellido segundo: %s\n", contactos[*i].apellido2);
printf("Edad: %s\n", contactos[*i].edad);
printf("Telefono: %s\n", contactos[*i].telefono);
printf("Movil: %s\n", contactos[*i].movil);
printf("E-mail: %s\n", contactos[*i].mail);
printf("Fecha de nacimiento: %s\n", contactos[*i].fecha);
}
}
getch();
system("cls");
break;
case 4: //Borrar
system("cls");
fflush(stdin);
printf("Introduzca el nombre del contacto que desea borrar: ");
scanf("%s",contactos3);
for (i=0;i<MAX;i++)
{
if(strcmp(contactos3,contactos[i].nombre)==0)
{
contactos[i]=contactos[i+1];
for(x=i;x<cont;x++)
{
contactos[x]=contactos[x+1];
}
x--;
cont--;
}
}
system("cls");
break;
case 5: //¿Quien cumple años?
temp = time(NULL);
fecha = localtime(&temp);
ordenador.dia_semana=fecha->tm_wday;
ordenador.dia=fecha->tm_mday;
ordenador.mes=fecha->tm_mon;
ordenador.mes=ordenador.mes+1;
ordenador.ano=fecha->tm_year;
ordenador.ano=ordenador.ano+1900;
break;
break;
case 6: //Salir
break;
}
}while (opcion!<6);
system("PAUSE");
return 0;
}
Valora esta pregunta


0