#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<iostream.h>
struct datos{
int codigo;
char nombre[30];
char ciudad[20];
};
//Funcion que realiza el menu
void menu(){
gotoxy(35,2); cout<<"AGENDA TELEFONICA";
gotoxy(35,3); cout<<"*****************";
gotoxy(35,4); cout<<"1. Ingresar";
gotoxy(35,5); cout<<"2. Consultar";
gotoxy(35,6); cout<<"3. Fin";
gotoxy(35,9); cout<<"Opci"<<(char)162<<"n [ ]";
}
//Funcion para ingresar datos en la estructura
void ingresar(struct datos agenda[5]){
int cr=90, j, codigo;
system("cls");
cout<<"Ingreso de Datos en la Agenda";
for(int i=0;i<5;i++){
cout<<"\nIngreso #"<<(i+1)<<endl;
do{
cout<<"\nIngrese el C"<<char(162)<<"digo: "; cin>>codigo; cout<<endl;
for(j=0;j<5;j++){
if(codigo==agenda[j].codigo){
cout<<"No se aceptan codigos repetidos... "<<endl;
cr=codigo;
getch();
}
}
}while(codigo==cr);
agenda[i].codigo=codigo;
cout<<"Ingrese los Nombres: "; gets(agenda[i].nombre); cout<<endl;
flushall();
cout<<"Ingrese la Ciudad: "; gets(agenda[i].ciudad); cout<<endl; cout<<endl;
flushall();
system("cls");
}
}
//Funcion de menu de consultar
void menu2(){
gotoxy(35,2); cout<<"CONSULTAR";
gotoxy(35,3); cout<<"*********";
gotoxy(35,4); cout<<"1. General";
gotoxy(35,5); cout<<"2. Individual";
gotoxy(35,6); cout<<"3. Regresar";
gotoxy(35,10); cout<<"Opci"<<(char)162<<"n [ ]";
}
//Funcion para consultar los resultados
void consultageneral(struct datos agenda[5]){
int l=0;
system ("cls");
cout<<"DATOS ALMACENADOS"<<endl;
cout<<"Codigo \t Nombre \t Ciudad"<<endl;
cout<<"================================================================================"<<endl;
if(agenda[l].codigo==NULL){
cout<<"Sin datos...!!!";
getch();
}
else{
for (int i=0; i<5; i++){
cout<<endl<<agenda[i].codigo<<"\t"<<agenda[i].nombre<<"\t"<<agenda[i].ciudad;
}
getch();
}
}
//Funcion para consultar por codigo (En esta función esta el problema)
void consultacodigo(struct datos agenda[5]){
system ("cls");
int l=0, codigo, j=0;
system("cls");
if(agenda[l].codigo==NULL){
cout<<"Sin datos...!!!";
getch();
}
else{
cout<<"Ingrese el codigo a consultar: "; cin>>codigo;
clrscr();
for(j=0;j<5;j++){
if(agenda[j].codigo==codigo){
cout<<endl<<"DATOS ALMACENADOS DE CODIGO "<<agenda[j].codigo<<endl;
cout<<"Codigo \t Nombre \t Ciudad"<<endl;
cout<<"================================================================================"<<endl;
cout<<endl<<agenda[j].codigo<<"\t"<<agenda[j].nombre<<"\t"<<agenda[j].ciudad;
getch();
}}
if (agenda[j].codigo!=codigo)
cout<<"C"<<char(163)<<"digo no encontrado...!!!";
}
getch();
}
//Funcion para consultas del struct
void consultas(struct datos agenda[5]){
char opc2;
bool salir=false;
do{
system("cls");
menu2();
gotoxy(43,10); opc2=getche();
switch(opc2){
case '1':
system("cls");
consultageneral(agenda);
break;
case '2':
system("cls");
consultacodigo(agenda);
break;
case '3':
salir=true;
break;
default:
gotoxy(26,11); cout<<"AVISO: Opci"<<(char)162<<"n incorrecta...!!!";
break;
}
}while(!salir);
}
main(){
struct datos agenda[5]={NULL};
char opc;
bool salir=false;
do{
system("cls");
menu();
gotoxy(43,9); opc=getche();
switch(opc){
case '1':
ingresar(agenda);
break;
case '2':
consultas(agenda);
break;
case '3':
salir=true;
break;
default:
gotoxy(26,10); cout<<"AVISO: Opci"<<(char)162<<"n incorrecta...!!!";
break;
}
system("pause>NUL");
}while(!salir);
}