elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Problemas para consultar datos en una estructura en: 11 Junio 2017, 02:32 am
Tengo el siguiente programa que ingresa datos en una estructura pero al momento de querer consultar la información según el código que ingreso me muestra dicha información pero seguido del mensaje "Código no encontrado...!!!" que solo debería mostrarse cuando no encontrase dicho código. Gracias de antemano. La función donde tengo el error
 //Función para consultar por codigo
void consultacodigo(struct datos agenda[5])

Programa:
Código
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<conio.h>
  4. #include<iostream.h>
  5.  
  6. struct datos{
  7. int codigo;
  8.   char nombre[30];
  9.   char ciudad[20];
  10. };
  11.  
  12. //Funcion que realiza el menu
  13. void menu(){
  14. gotoxy(35,2); cout<<"AGENDA TELEFONICA";
  15.   gotoxy(35,3); cout<<"*****************";
  16.   gotoxy(35,4); cout<<"1. Ingresar";
  17.   gotoxy(35,5); cout<<"2. Consultar";
  18. gotoxy(35,6); cout<<"3. Fin";
  19.   gotoxy(35,9); cout<<"Opci"<<(char)162<<"n [ ]";
  20. }
  21.  
  22. //Funcion para ingresar datos en la estructura
  23. void ingresar(struct datos agenda[5]){
  24.   int cr=90, j, codigo;
  25. system("cls");
  26.   cout<<"Ingreso de Datos en la Agenda";
  27.   for(int i=0;i<5;i++){
  28.   cout<<"\nIngreso #"<<(i+1)<<endl;
  29.      do{
  30.     cout<<"\nIngrese el C"<<char(162)<<"digo: "; cin>>codigo; cout<<endl;
  31.     for(j=0;j<5;j++){
  32.   if(codigo==agenda[j].codigo){
  33.     cout<<"No se aceptan codigos repetidos... "<<endl;
  34.     cr=codigo;
  35.         getch();
  36.      }
  37. }
  38.  
  39. }while(codigo==cr);
  40.   agenda[i].codigo=codigo;
  41. cout<<"Ingrese los Nombres: ";  gets(agenda[i].nombre); cout<<endl;
  42.   flushall();
  43.   cout<<"Ingrese la Ciudad: ";  gets(agenda[i].ciudad);  cout<<endl; cout<<endl;
  44.   flushall();
  45.      system("cls");
  46. }
  47. }
  48. //Funcion de menu de consultar
  49. void menu2(){
  50. gotoxy(35,2); cout<<"CONSULTAR";
  51.   gotoxy(35,3); cout<<"*********";
  52.   gotoxy(35,4); cout<<"1. General";
  53.   gotoxy(35,5); cout<<"2. Individual";
  54. gotoxy(35,6); cout<<"3. Regresar";
  55.   gotoxy(35,10); cout<<"Opci"<<(char)162<<"n [ ]";
  56. }
  57.  
  58. //Funcion para consultar los resultados
  59. void consultageneral(struct datos agenda[5]){
  60.   int l=0;
  61.   system ("cls");
  62.   cout<<"DATOS ALMACENADOS"<<endl;
  63. cout<<"Codigo \t Nombre \t Ciudad"<<endl;
  64.   cout<<"================================================================================"<<endl;
  65. if(agenda[l].codigo==NULL){
  66.   cout<<"Sin datos...!!!";
  67.      getch();
  68.   }
  69.  
  70.   else{
  71.   for (int i=0; i<5; i++){
  72.   cout<<endl<<agenda[i].codigo<<"\t"<<agenda[i].nombre<<"\t"<<agenda[i].ciudad;
  73. }
  74.      getch();
  75. }
  76.  
  77. }
  78.  
  79. //Funcion para consultar por codigo (En esta función esta el problema)
  80. void consultacodigo(struct datos agenda[5]){
  81.   system ("cls");
  82.   int l=0, codigo, j=0;
  83. system("cls");
  84.  
  85.   if(agenda[l].codigo==NULL){
  86.   cout<<"Sin datos...!!!";
  87.      getch();
  88.   }
  89.   else{
  90.   cout<<"Ingrese el codigo a consultar: "; cin>>codigo;
  91.      clrscr();
  92.      for(j=0;j<5;j++){
  93.   if(agenda[j].codigo==codigo){
  94.         cout<<endl<<"DATOS ALMACENADOS DE CODIGO "<<agenda[j].codigo<<endl;
  95.   cout<<"Codigo \t Nombre \t Ciudad"<<endl;
  96.   cout<<"================================================================================"<<endl;
  97. cout<<endl<<agenda[j].codigo<<"\t"<<agenda[j].nombre<<"\t"<<agenda[j].ciudad;
  98.       getch();
  99.         }}
  100.  
  101.   if (agenda[j].codigo!=codigo)
  102.         cout<<"C"<<char(163)<<"digo no encontrado...!!!";
  103.  
  104.  
  105.  
  106.   }
  107.   getch();
  108. }
  109.  
  110. //Funcion para consultas del struct
  111. void consultas(struct datos agenda[5]){
  112. char opc2;
  113.   bool salir=false;
  114.   do{
  115.      system("cls");
  116.      menu2();
  117.      gotoxy(43,10); opc2=getche();
  118.      switch(opc2){
  119.       case '1':
  120.         system("cls");
  121.                  consultageneral(agenda);
  122. break;
  123.         case '2':
  124.         system("cls");
  125.                  consultacodigo(agenda);
  126.         break;
  127.         case '3':
  128.                   salir=true;
  129.                   break;
  130.         default:
  131.         gotoxy(26,11); cout<<"AVISO: Opci"<<(char)162<<"n incorrecta...!!!";
  132.         break;
  133.      }
  134.  
  135.   }while(!salir);
  136. }
  137.  
  138.  
  139.  
  140.  
  141. main(){
  142. struct datos agenda[5]={NULL};
  143.   char opc;
  144.   bool salir=false;
  145.   do{
  146.   system("cls");
  147.      menu();
  148.      gotoxy(43,9); opc=getche();
  149.      switch(opc){
  150.       case '1':
  151.         ingresar(agenda);
  152.  
  153.           break;
  154.         case '2':
  155.         consultas(agenda);
  156.           break;
  157.         case '3':
  158.                   salir=true;
  159.          break;
  160.         default:
  161.         gotoxy(26,10); cout<<"AVISO: Opci"<<(char)162<<"n incorrecta...!!!";
  162.         break;
  163.      }
  164.  
  165.         system("pause>NUL");
  166. }while(!salir);
  167. }
2  Programación / Programación C/C++ / Separar el programa en funciones en: 11 Marzo 2017, 20:46 pm
Hola amigos, necesito ayuda, tengo que separar el siguiente codigo en funciones que tengan por nombre: ingreso, proceso e impresion, la impresion de resultados se tiene que hacer desde el main
Código
  1. #include<conio.h>
  2. #include<iostream>
  3. using namespace std;
  4. main(){
  5. int i, vector[10];
  6. int Pos, Comp, aux;
  7. //Ingreso
  8. for(i=0; i<10; i++){
  9. cout<<"Ingresa el numero "<<i<<": "; cin>>vector[i];
  10. }
  11. //Proceso
  12. for(Pos=0;Pos<9;Pos++)
  13. for (Comp=Pos+1 ; Comp < 10 ; Comp++)
  14. if (vector[Pos] > vector[Comp]) {
  15. aux = vector[Pos];
  16. vector[Pos] = vector[Comp];
  17. vector[Comp] = aux;
  18. }
  19. //Impresion de resultados
  20. cout<<"\nLos numeros ordenados son:\n";
  21. for(i = 0; i < 10; i++)
  22. cout<<vector[i]<<"\t";
  23. cout<<endl;
  24. getch();
  25. return 0;
  26. }


· Los códigos deben ir en etiquetas GeSHi
>aquí las reglas del foro
-Engel Lex
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines