//Función para consultar por codigo
void consultacodigo(struct datos agenda[5])
Programa:
Código
#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); }