depsues de mucho intentos tuve que modificar y empezar de nuevo el codigo para tenerlo mas claro, pero ahora el problema es que no se guardan los contactos, solo guarda el ultimo y en la opción dos de modificar en el listado de numeros guardados solo aparece el ultimo ingresado no los demás
Código (c) [Seleccionar]
include<stdio.h>
#include<conio.h>
struct contacto
{
int Numero_registrado, activo;
long int tel;
char nom[10],AP[10],AM[10],correo[20], empresa[30],puesto[15],sito_web[30],notas[30];
}contact[30];
int no_reg=0;
int main()
{
}
menu()
{
int opc;
printf("Elija una opcion.\n");
printf("1. Crear Contacto\n");
printf("2. Actualizar Contacto\n");
printf("3. Eliminar Contacto\n");
printf("4. Salir\n");
scanf("%d", &opc);
while(opc<1||opc>4)
{
printf("\a\n\t\tERROR\n");
system("pause");
system("cls");
printf("Elija una opcion.\n");
printf("1. Crear Contacto\n");
printf("2. Actualizar Contacto\n");
printf("3. Eliminar Contacto\n");
printf("4. Salir\n");
scanf("%d", &opc);
fflush(stdin);
}
system("cls");
switch(opc)
{
case 1:
CrearContacto();
break;
case 2:
ActualizarContacto();
break;
case 3:
EliminarContacto();
break;
case 4:
return 0;
break;
}
}
CrearContacto()
{
int crear;
printf("AGREGAR CLIENTE\n\n");
contact[no_reg].activo=1;
contact[no_reg].Numero_registrado= no_reg+1;
printf("Ingrese el telefono (a 8 digitos): ");
scanf("%ld",&contact[no_reg].tel);
fflush(stdin);
printf("\n\t\t*EL NUMERO DE TELEFONO HA SIDO REGISTRADO CORRECTAMENTE*\n");
printf("\nIngrese el apellido paterno: ");
gets(contact[no_reg].AP);
fflush(stdin);
strupr(contact[no_reg].AP);
printf("Ingrese el appelido materno: ");
gets(contact[no_reg].AM);
fflush(stdin);
strupr(contact[no_reg].AM);
printf("Ingrese el nombre: ");
gets(contact[no_reg].nom);
fflush(stdin);
strupr(contact[no_reg].nom);
printf("Ingrese el E-mail: ");
gets(contact[no_reg].correo);
fflush(stdin);
strupr(contact[no_reg].correo);
printf("Ingrese su sitio web: ");
gets(contact[no_reg].sito_web);
fflush(stdin);
strupr(contact[no_reg].sito_web);
printf("Ingrese su puesto: ");
gets(contact[no_reg].puesto);
fflush(stdin);
strupr(contact[no_reg].puesto);
printf("Ingrese el nombre de la empresa: ");
gets(contact[no_reg].empresa);
fflush(stdin);
strupr(contact[no_reg].empresa);
printf("Ingrese alguna nota: ");
gets(contact[no_reg].notas);
fflush(stdin);
strupr(contact[no_reg].notas);
system("cls");
printf("Los Datos Registrados son: \n");
printf("\n\nTelefono: ");
printf("%ld",contact[no_reg].tel);
printf("\nNumero de registo del cliente: %d\n",contact[no_reg].Numero_registrado);
printf("Apellido paterno:");
puts(contact[no_reg].AP);
printf("Apellido materno:");
puts(contact[no_reg].AM);
printf("Nombre del cliente:");
puts(contact[no_reg].nom);
printf("E-mail:");
puts(contact[no_reg].correo);
printf("Sitio web:");
puts(contact[no_reg].sito_web);
printf("Nota:");
puts(contact[no_reg].notas);
printf("Empresa:");
puts(contact[no_reg].empresa);
printf("Puesto:");
puts(contact[no_reg].puesto);
printf("\n\n¿Desea agregar otro contacto?: ");
printf("2)Si.");
printf("1)No.\n");
scanf("%d",&crear);
system("cls");
while(crear<1||crear>2)
{
printf("\a\t\tERROR\n");
system("pause");
system("cls");
printf("\nEL telefono: ");
printf("%ld",contact[no_reg].tel);
printf("El El numero de registro del cliente es: %d\n",contact[no_reg].Numero_registrado);
printf("El apellido paterno es:\n");
puts(contact[no_reg].AP);
printf("El apellido materno es:\n");
puts(contact[no_reg].AM);
printf("El nombre del cliente es:\n");
puts(contact[no_reg].nom);
printf("El correo es:\n");
puts(contact[no_reg].correo);
printf("El sitio web es:\n");
puts(contact[no_reg].sito_web);
printf("Nota:\n");
puts(contact[no_reg].notas);
printf("La empresa es:\n");
puts(contact[no_reg].empresa);
printf("El puesto es:\n");
puts(contact[no_reg].puesto);
printf("\n\n¿Desea agregar otro contacto?: ");
printf("2)Si.");
printf(" 1)No.\n");
scanf("%d",&crear);
system("cls");
}
if(crear==1)
{
printf("\nLOS DATOS HAN SIDO REGISTRADOS CORRECTAMENTE");
no_reg++;
printf("\n");
menu();
}
else
{
CrearContacto();
}
}
ActualizarContacto()
{
int m,i;
long int telefono;
printf("\nACTUALIZAR CONTACTO\n");
printf("\n\n\t\t\tCONTACTOS EXISTENTES\n\t");
printf("\tTELEFONO\t\tNOMBRE\n\t\t");
for(i=0;i<50;i++)
{
if(contact[i].activo==1)
{
printf("%lld",contact[i].tel);
printf("\t\t%s",contact[i].nom);
}
}
printf("\n\nIngrese el telefono del contacto a actualizar\n");
scanf("%lld",&telefono);
fflush(stdin);
system("cls");
for(i=0;i<50;i++)
{
m=0;
if(telefono==contact[i].tel)
{
printf("\n\n\t\t\tCONTACTO ENCONTRADO\n\n\n\n\n\n\n");
system("pause");
system("cls");
printf("\nEL telefono: ");
printf("%lld",contact[i].tel);
printf("\n\nEl Id del cliente es: %d\n",contact[no_reg].Numero_registrado);
printf("\n\nEl apellido paterno es:\n");
puts(contact[i].AP);
printf("\n\nEl apellido materno es:\n");
puts(contact[i].AM);
printf("\n\nEl nombre del cliente es:\n");
puts(contact[i].nom);
printf("\n\nEl correo es:\n");
puts(contact[i].correo);
printf("\n\nEl sitio web es:\n");
puts(contact[i].sito_web);
printf("\n\nNota:\n");
puts(contact[i].notas);
printf("\n\nLa empresa es:\n");
puts(contact[i].empresa);
printf("\n\nEl puesto es:\n");
puts(contact[i].puesto);
system("pause");
system("cls");
ActualizarC(i);
break;
}
else
{
m=1;
}
}
if(m==1)
{
printf("\n\n\t\t\tTELEFONO NO ENCONTRADO\n\n\n\n\n\n\n");
system("pause");
system("cls");
menu();
}
}
ActualizarC(int i)
{
int x,y;
printf("\n\n\t\t\tACTUALIZAR CLIENTE\n\n\n\n\n\n\n");
system("pause");
system("cls");
fflush(stdin);
printf("Ingrese el telefono (celular de 10 digitos o local + lada): ");
scanf("%lld",&contact[i].tel);
fflush(stdin);
printf("\t\t\t\n\n\n\nCONTACTO REGISTRADO\n\n\n");
//apellido paterno
printf("Ingrese el apellido paterno: ");
gets(contact[i].AP);
fflush(stdin);
strupr(contact[i].AP);
//apellido materno
printf("Ingrese el appelido materno: ");
gets(contact[i].AM);
fflush(stdin);
strupr(contact[i].AM);
//nombre
printf("Ingrese el nombre: ");
gets(contact[i].nom);
fflush(stdin);
strupr(contact[i].nom);
//correo
printf("Ingrese el correo: ");
gets(contact[i].correo);
fflush(stdin);
strupr(contact[i].correo);
//sitio web
printf("Ingrese su sitio web: ");
gets(contact[i].sito_web);
fflush(stdin);
strupr(contact[i].sito_web);
//puesto
printf("Ingrese su puesto: ");
gets(contact[i].puesto);
fflush(stdin);
strupr(contact[i].puesto);
//empresa
printf("Ingrese el nombre de la empresa: ");
gets(contact[i].empresa);
fflush(stdin);
strupr(contact[i].empresa);
//notas
printf("Ingrese alguna nota: ");
gets(contact[i].notas);
fflush(stdin);
strupr(contact[no_reg].notas);
//Imprimir datos
system("cls");
printf("\nEL telefono: ");
printf("%lld",contact[i].tel);
printf("\n\nEl Id del cliente es: %d\n",contact[i].Numero_registrado);
printf("\n\nEl apellido paterno es:\n");
puts(contact[i].AP);
printf("\n\nEl apellido materno es:\n");
puts(contact[i].AM);
printf("\n\nEl nombre del cliente es:\n");
puts(contact[i].nom);
printf("\n\nEl correo es:\n");
puts(contact[i].correo);
printf("\n\nEl sitio web es:\n");
puts(contact[i].sito_web);
printf("\n\nNota:\n");
puts(contact[i].notas);
printf("\n\nLa empresa es:\n");
puts(contact[i].empresa);
printf("\n\nEl puesto es:\n");
puts(contact[i].puesto);
//verificar datos
printf("\n\n\t\tIngrese:\n\n\t1)Si los datos son correctos.\n\t2)Si los datos son incorrectos.");
scanf("%d",&x);
system("cls");
while(x<1||x>2)
{
printf("\n\t\t\tERROR\n\n");
system("pause");
system("cls");
printf("\n\nEL telefono:\n");
printf("%lld",contact[i].tel);
printf("\n\nEl Id del cliente es: %d\n",contact[i].Numero_registrado);
printf("\n\nEl apellido paterno es:\n");
puts(contact[i].AP);
printf("\n\nEl apellido materno es:\n");
puts(contact[i].AM);
printf("\n\nEl nombre del cliente es:\n");
puts(contact[i].nom);
printf("\n\nEl correo es:\n");
puts(contact[i].correo);
printf("\n\nEl sitio web es:\n");
puts(contact[i].sito_web);
printf("\n\nNota:\n");
puts(contact[i].notas);
printf("\n\nLa empresa es:\n");
puts(contact[i].empresa);
printf("\n\nEl puesto es:\n");
puts(contact[i].puesto);
//verificar datos
printf("\n\n\t\tIngrese:\n\n\t1)Si los datos son correctos.\n\t2)Si los datos son incorrectos.");
scanf("%d",&x);
system("cls");
}
if(x==1)
{
system("cls");
printf("\n\t\t\tCONTACTO ACTUALIZADO");
menu();
}
else
{
ActualizarC(i);
}
}
EliminarContacto()
{
int x,i,m,y;
long long int telefono;
printf("\n\n\t\t\tELIMINAR CONTACTO\n\n\n\n\n\n\n");
system("pause");
system("cls");
printf("\n\n\t\t\tCONTACTOS EXISTENTES\n\t");
printf("\tTELEFONO\t\tNOMBRE\n\t\t");
for(i=0;i<50;i++)
{
if(contact[i].activo==1)
{
printf("%lld",contact[i].tel);
printf("\t\t%s",contact[i].nom);
}
}
printf("\t\nINGRESE EL TELEFONO DEL CONTACTO A ELIMINAR\n\n");
scanf("%lld",&telefono);
fflush(stdin);
system("cls");
for(i=0;i<50;i++)
{
m=0;
if(telefono==contact[i].tel)
{
printf("\n\n\t\t\tCONTACTO ENCONTRADO\n\n\n\n\n\n\n");
system("pause");
system("cls");
printf("\n\nEL telefono:\n");
printf("%lld",contact[i].tel);
printf("\n\nEl Id del cliente es: %d\n",contact[i].Numero_registrado);
printf("\n\nEl apellido paterno es:\n");
puts(contact[i].AP);
printf("\n\nEl apellido materno es:\n");
puts(contact[i].AM);
printf("\n\nEl nombre del cliente es:\n");
puts(contact[i].nom);
printf("\n\nEl correo es:\n");
puts(contact[i].correo);
printf("\n\nEl sitio web es:\n");
puts(contact[i].sito_web);
printf("\n\nNota:\n");
puts(contact[i].notas);
printf("\n\nLa empresa es:\n");
puts(contact[i].empresa);
printf("\n\nEl puesto es:\n");
puts(contact[i].puesto);
system("pause");
system("cls");
printf("\nSeguro que desea eliminar este contacto?\n1)Seguro.\n2)No estoy seguro\n");
scanf("%d",&y);
if(y=1)
{
BorrarC(i);
break;
}
else
{
menu();
}
}
else
{
m=1;
}
}
if(m==1)
{
printf("\n\n\t\t\tTELEFONO NO ENCONTRADO\n\n\n\n\n\n\n");
system("pause");
system("cls");
menu();
}
}
BorrarC(int i)
{
printf("\n\n\t\t\tELIMINAR CLIENTE\n\n\n\n\n\n\n");
system("pause");
system("cls");
contact[i].activo=0;
printf("\n\n\t\t\tCLIENTE ELIMINADO\n\n\n\n\n\n\n");
system("pause");
system("cls");
menu();
}