Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Consultar datos en una estructura

Estas en el tema de Consultar datos en una estructura en el foro de C/C++ en Foros del Web. buenas amigos escribo pq tengo una duda, tengo varias estructuras en mi programa, y tengo la parte donde el usuario rellena los datos de la ...
  #1 (permalink)  
Antiguo 13/07/2010, 16:18
 
Fecha de Ingreso: junio-2010
Mensajes: 34
Antigüedad: 14 años, 4 meses
Puntos: 0
Pregunta Consultar datos en una estructura

buenas amigos escribo pq tengo una duda, tengo varias estructuras en mi programa, y tengo la parte donde el usuario rellena los datos de la estructura, pero luego tengo una parte de consulta en la que si se le da la opcion al usuario de consultar datos en la estructura, mi estructura tiene nombre apellido correo periodo cursado y otras cosas y en la consulta el cliente tiene la opcion de consultar por periodo, en el cual el pone un perido especidico, por ejemplo el periodo 4 y el programa le tiene q mostrar todos los nombres que esten en dicho periodo, les pongo el codigo que tengo ya que no se como hacer eso y he consultado mucho en internet, si me dicen que use tal funcion por favor ponganme un ejemplo de dicha funcion.

Código c++:
Ver original
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <string.h>
  4.  
  5. using namespace std;
  6. int i=0,conta=0, opc2=0;
  7.  
  8. struct datosestudiante {
  9.        int escuela;
  10.        int cedula;
  11.        char nombre[255];
  12.        char apellido[255];
  13.        char email[255];
  14.        char telefono[255];
  15.        char periodo;
  16. } persona[2500];
  17.  
  18. struct datoscarro {
  19.        char marca[255];
  20.        char modelo[255];
  21.        int anio;
  22.        char placa[255];
  23.        char color[255];
  24. } carro[2500];
  25.  
  26. struct datospago {
  27.        char banco[255];
  28.        int voucher;
  29.        int dia;
  30.        int mes;
  31.        int anio;
  32.        int monto;
  33. } pago[2500];
  34.  
  35. void menu(int &opc)
  36. {
  37.      menu:
  38.           cout<<"Registro de puesto de estacionamiento\n1 Registras Vehiculo\n2 Consultar vehiculo\n3 Salir\nSu Opcion: ";
  39.           cin>>opc;
  40.           cin.seekg(0, ios::end);
  41.           cin.clear();
  42.           }
  43.  
  44. void registro()
  45. {
  46.      
  47.      system("cls");
  48.      cout<<"Introduzca datos del Estudiante\n";
  49.      cout<<"Escuela: ";
  50.      cin>>persona[i].escuela;
  51.      cout<<"Cedula: ";
  52.      cin>>persona[i].cedula;
  53.      cout<<"Nombre: ";
  54.      cin>>persona[i].nombre;
  55.      cout<<"Apellido: ";
  56.      cin>>persona[i].apellido;
  57.      cout<<"Email: ";
  58.      cin>>persona[i].email;
  59.      cout<<"Telefono: ";
  60.      cin>>persona[i].telefono;
  61.      cout<<"Periodo: ";
  62.      cin>>persona[i].periodo;
  63.      system("cls");
  64.      cout<<"Introduzca datos de Vehiculo\n";
  65.      cout<<"Marca: ";
  66.      cin>>carro[i].marca;
  67.      cout<<"Modelo: ";
  68.      cin>>carro[i].modelo;
  69.      cout<<"A\244o";
  70.      cin>>carro[i].anio;
  71.      cout<<"Placa: ";
  72.      cin>>carro[i].placa;
  73.      cout<<"Color: ";
  74.      cin>>carro[i].color;
  75.      system("cls");
  76.      cout<<"Introduzca Datos de Pago\n";
  77.      cout<<"Banco: ";
  78.      cin>>pago[i].banco;
  79.      cout<<"Numero de voucher: ";
  80.      cin>>pago[i].voucher;
  81.      cout<<"Dia del deposito: ";
  82.      cin>>pago[i].dia;
  83.      cout<<"Mes del deposito: ";
  84.      cin>>pago[i].mes;
  85.      cout<<"A\244o del deposito: ";
  86.      cin>>pago[i].anio;
  87.      cout<<"Monto del deposito: ";
  88.      cin>>pago[i].monto;
  89.      i++;        
  90.      }
  91.      
  92. void consulta()
  93. {
  94.      system("cls");
  95.      cout<<"Indique consulta\n1 por periodo\n2 por codigo de escuela\n3 por cedula\n4 por placa\n5 Menu anterior\nSu Opcion: ";
  96.      cin>>opc2;
  97.      if(opc2==1){
  98.                  cout<<"Ingrese el periodo de la persona: ";
  99.                  
  100.                  }else
  101.      if(opc2==2){}else
  102.      if(opc2==3){}else
  103.      if(opc2==4){}else
  104.      if(opc2==5){}
  105.      }
  106.  
  107.  
  108. int main(int argc, char *argv[])
  109. {
  110.     int opc=0;
  111.     do{
  112.          system("cls");
  113.          menu(opc);
  114.          if(opc==1){registro();}else
  115.          if(opc==2) {consulta();}
  116.          if(opc<1||opc>5){cout<<"Opcion Invalida\n"; opc=0; cin.seekg(0, ios::end); cin.clear();  system("pause");}
  117.          
  118.  
  119. }while(opc!=3);
  120.     return EXIT_SUCCESS;
  121. }

Última edición por vibit; 13/07/2010 a las 16:38
  #2 (permalink)  
Antiguo 17/07/2010, 07:30
 
Fecha de Ingreso: junio-2010
Mensajes: 34
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Consultar datos en una estructura

nadie ayuda?
  #3 (permalink)  
Antiguo 17/07/2010, 08:57
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: Consultar datos en una estructura

Código C++:
Ver original
  1. int j,p;
  2. cout<<"Ingrese el periodo de la persona: ";
  3. cin>>p;   //ACA ALMACENO EL PERIODO A BUSCAR
  4. fot(j=0;j< i;j++)   // ESTE CICLO RECORRE TODAS LAS PERSONAS INGRESADOS
  5.     if (persona[j].periodo == p) {   // COMPARO CADA PERSONA CON EL PERIODO
  6.                     // SI COINCIDO IMPRIMO EL NOMBRE
  7.                    cout<<persona[i].nombre";
  8.  
  9.    }

Basicamente es algo asi. Ahora deberias mejorarlo para cada busqueda.
  #4 (permalink)  
Antiguo 22/07/2010, 05:47
 
Fecha de Ingreso: junio-2010
Mensajes: 34
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Consultar datos en una estructura

grtracias con eso q me diste puse hacerlo lo medio arregle y quedo bien muchas gracias

Etiquetas: consultar, estructura
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:03.