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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / Ayuda con Numero de Registros en C++ en: 7 Noviembre 2016, 23:17 pm
Hola! Estoy haciendo un programa donde manejo archivos de texto donde el usuario ingresa:
- Nombre de Empleado
- Salario
- Puesto
- Direccion
- Telefono

Toda va muy bien pero cada registro debe contener un ID automatico, 1,2,3 etc.. Utilize un metodo donde utilizo enteros, pero no salen en el archivo, el maestro nos dijo que deberia ser tipo char para que apareciera en el archivo de texto...

Alguien que me pueda echar la mano con este paso por favor!!
2  Programación / Programación C/C++ / Ayuda con una pedida de datos en: 14 Octubre 2016, 00:46 am
Estoy haciendo un programa que maneje los datos de un album de musica, pido nombre del album, del artista canciones del album y genero, pero al pedir el genero quiero hacer que el usuario solo ingrese las opciones que le pongo. Por ejemplo al momento de que el usuario llegue al campo de ingresar genero solo ponga:
-Rock
-Jazz
-Rap
-Pop

que ingrese una de esas opciones y que al momento de poner otra cosa que no sea las opciones de arriba le diga que ingrese solo los generos mostrados arriba.

Alguien que me pueda ayudar en este paso
3  Programación / Programación C/C++ / Ayuda para generar un ID automatico en: 11 Octubre 2016, 00:58 am
Estoy haciendo un programa que maneja archivos de texto con estructuras pidiendo los registros con algunos campos de informacion sobre musica:
Nombre de Artista
Nombre del Album
Genero
Y ID

toda va bien con el programa, pero el id el profesor quiere que se introduzca automáticamente sin necesidad de que el usuario tenga que escribirlo.
Y la verdad no se como puedo hacer esta funcion... alguien que me pueda echar la mano en esto?
4  Programación / Programación C/C++ / Arboles Binarios en C++ en: 3 Octubre 2016, 05:10 am
Hola!

Necesito desarrollar un programa en la que se haga uso de un árbol binario para almacenar la información que se requiere de acuerdo a una aplicación de la vida diaria.

Un ejemplo seria un arbol genealógico de alguna familia donde el abuelo o la abuela vendrian siendo la raiz y dependiendo de los hijos que tuvieron serian hijos izq o der.

Algun ejemplo que pueda utilizar para hacer algo asi?
No se si me explique bien...
5  Programación / Programación C/C++ / Ayuda para metodo de buscar y modifcar en un .txt en: 27 Septiembre 2016, 02:38 am
Hola!
Estoy manejando un programa en Dev C++ donde tengo que crear un archivo de texto con las funciones fwrite,fread y fseek (creo que esta sirve para el metodo de buscar) usando estrucuras y con el uso de un menu que lleve:
1- Ingresar Registro
2- Mostrar Registros
3- Buscar Registro
4- Modificar Registro
5- Salir

Ayuda con el de buscar y modificar...
Tengo una parte del codigo de buscar pero no me salio..

Aqui esta mi codigo:


//Menu Manejo de Archivos C++
#include<cstdlib>
#include<iostream>
#include<string.h>
#include<conio.h>
#include<stdio.h>
#include<ctype.h>
#include<windows.h> //Para utilizar la funcion Sleep
using namespace std;

struct musica
{
    char id[5];
   char nombre_album[50];
   char nombre_artista[30];
   char genero[15];
   char tracks[2];
   char año[5];
   char salto='\n';
};

musica cargar_datos ();  // Cargar struct con los datos ingresados
musica album;

bool repite=true;
bool encontrado=false;
int i=0, band=0,fin=0;
void menu();
void crear();
void mostrar();
void salir();



int main()
{
   menu();              //Llamamos al metodo menu
    return 1;
}

void menu() //Metodo para el Menu
{
   int opcion=0;
    do
   {
       cout<<endl<<endl;
       system("Color F1");
        cout<<"\t       Menu de Manejo de Archivos en C++"<<endl<<endl;
        cout<<"\t\t[1]- Crear e Ingresar registros al Archivo"<<endl;
        cout<<"\t\t[2]- Mostrar Registros"<<endl;
        cout<<"\t\t[3]- Buscar Registros"<<endl;
        cout<<"\t\t[4]- Modificar un Registro"<<endl;
        cout<<"\t\t[5]- Salir"<<endl;
        cout<<"\t\t-------------------------------"<<endl;
        cout<<"\t\tOpcion: ";
        cin>>opcion;
        switch(opcion)
      {
            case 1:
                crear();
                system("pause>null");
                system("cls");
            break;
            case 2:
               mostrar();
                system("pause>null");
                system("cls");
            break;
            case 3:
         /*buscar();
                system("pause>null");
                system("cls");*/
            break;
            case 4:
                /*modificar();
                system("pause>null");
                system("cls");*/
            break;
            case 5:
                salir();
            break;
            default:
               cout<<endl;
               system("Color FC");
                cout<<"\t\tOpcion Incorrecta!"<<endl;
                Sleep(2000);
                system("Color F1");
                system("cls");
        }
    }while(opcion!=6);
    
}//Metodo menu

void crear() //Metodo para el crear el archivo
{
   FILE* CD=fopen("musica.txt", "w");

    string consulta = "s";
    memset(&album,0,sizeof(&album));

    musica registro;

    while(consulta!="n")
   {
        registro = cargar_datos();
        fwrite(&registro, sizeof(musica), 1, CD );
        cout<<endl;
        cout<<"\t\tDesea cargar mas registros [ s/n ]: ";
        getline(cin,consulta );
    }

    cout<<endl;
    cout<<"\t\t¡Registro Agregado Correctamente!"<<endl;
    fclose(CD);
}

musica cargar_datos()  //Funcion para ingresar los registros dentro del archivo
{
    
    string nombre="\0",apellido="\0",telefono="\0",direccion="\0",email="\0";
    //memset(&cliente,0,sizeof(&cliente));
    cout<<"\tIngrese los datos que se le piden a continuacion"<<endl<<endl;

    fflush(stdin);
    cout<<"\t\tID: ";
    gets(album.id);
    fflush(stdin);
    
    fflush(stdin);
    cout<<"\t\tNombre del Album: ";
    gets(album.nombre_album);
    //strcpy(album.nombre_album, nombre_album.c_str(); // función strcpy( destino, origen ) y método c_str() de la clase string
    fflush(stdin);

    fflush(stdin);
    cout<<"\t\tNombre del Artista: ";
    gets(album.nombre_artista);
    fflush(stdin);
    
    do
   {   
     fflush(stdin);
      cout<<"\t\tGenero: ";
      gets(album.genero);
      fflush(stdin);
      fin=strlen(album.genero);
     band=0;
      
      for(i=0;i<fin;i++)
     {
       if(((album.genero>='A')&&(album.genero<='Z'))||((album.genero>='a')&&(album.genero<='z'))||(album.genero==' '))
       {
         band=0;
       }
       else
       {
         i=fin;
         band=1;
         system("Color FC");
         cout<<"\tCaracteres invalidos... Intentelo de nuevo..."<<endl;
         Sleep(2000);
         system("Color F1");   
       }
      }
      
    }while(band==1);
    fflush(stdin);
    cout<<"\t\tNumero de Tracks: ";
    gets(album.tracks);
    fflush(stdin);
    
    fflush(stdin);
    cout<<"\t\tAnyo: ";
    gets(album.año);
    fflush(stdin);
    
    album.salto;
    
    return album;
}

void mostrar() //Metodo para leer el archivo
{
   FILE* CD = fopen("musica.txt", "r");

    musica registro;

    cout<<endl;
   cout<<"\t\tRegistros Ingresados en el Archivo"<<endl;
    cout<<"\t\t________________________________"<<endl;

    fread(&registro, sizeof(musica), 1, CD);
    //read <t_cliente> ( arch_cliente ); // ASI LO INVOCO SI USO EL TEMPLATE

    while(feof(CD) ==0)
   {    // TAMBIEN PODRIA PONER COMO CONDICIÓN feof( arch_cliente ) == 0
        cout<<"\t\tID: " <<registro.id<<endl;
        cout<<"\t\tNombre del Album: "<<registro.nombre_album<< endl;
        cout<<"\t\tNombre del Artista: "<<registro.nombre_artista<<endl;
        cout<<"\t\tGenero: "<<registro.genero<<endl;
        cout<<"\t\tNumero de Trakcs: "<<registro.tracks<<endl;
        cout<<"\t\tAnio: "<<registro.año<<endl;
        cout<<"\t\t________________________________"<<endl;

        fread(&registro, sizeof(musica), 1, CD);
        
   }

    cout<<endl;
    cout<<"\t\tSe completo la lectura del archivo..."<<endl;
    fclose(CD);
}

void salir() //Metodo para finalizar el programa
{
   cout<<endl;
    cout<<"\t\tPrograma Finalizado!! Hasta Pronto ^_^/"<<endl;
}

void buscar()
{
   
}

void modificar()
{

}

6  Programación / Programación C/C++ / Ayuda con las Funciones de fstream en C++ en: 15 Septiembre 2016, 02:54 am
Hola!
Estoy realizando un menú con manejo de archivos para pedir datos de un empleado...
Con las funciones ifstream y ofstream!

Todo va muy bien en el programa pero eh detectado que a la hora de ingresar el nombre por ejemplo, si ingreso:

Brian Alberto

Al momento de mostrar en pantalla los datos y ver la informacion en el archivo, solo me muestra el Brian y al parecer solo lee los caracteres antes del espacio...

Alguien que me diga si se puede solucionar esto por favor!
7  Programación / Programación C/C++ / Ayuda con Manejo de archivos! en: 9 Septiembre 2016, 02:29 am
Estoy haciendo un menu donde tenga las opciones de crear,mostrar,busrcar,eliminar y modificar archivo...

Ya tengo casi todo solo me hace falta el de eliminar y modificar.
Pero ahorita tengo bastantes problemas con el de modificar ya que al momento de pedrile que ingrese el numero de registro para modificaar no entra al ciclo... Quizas por el tiempo que eh estado en esto no veo el error. alguien que me pueda ayudar con esto o que me explique otro metodo para modificar.

este es mi codigo:

#include <Iostream>
#include<ctype.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
using namespace std;

FILE *empleados;
int n=1; /*Número del empleado*/
int i=0,band=0,fin=0,e=0,o=0;
int respu=0;
int r1=0, r2=0, r3=0, r4=0;

struct sRegistro
{
    char nombre[80];
    char apellido[80];
    char telefono[80];
    char direccion[80];
    char correo[80];
    char resp[5];
    char Cedula[11];
    char k, nom[80];
    double salario;
    int Eliminado;
} registro;


void Menu()
{
   printf("\t\t Menu Registros  \n");
    printf("\n1.- Crear Registro");
   printf("\n2.- Ingresar datos");
   printf("\n3.- Modificar Registro");
   printf("\n4.- Eliminar Registro");
   printf("\n5.- Mostrar Registros");
   printf("\n6.- Buscar Registro");
   printf("\n7.- Salir \n");
}

void creararchivo()
{
       empleados=fopen("empleados.txt", "r");
 
    if(!empleados)
    {
       empleados=fopen("empleados.txt", "w");
       printf("\nArchivo creado!");
    }
    else
    {
       printf("\nEl Archivo ya existe!");
    }
 
    fclose (empleados);
 
    return;
}

void insertararchivo()
{
   
   empleados=fopen("empleados.txt","a+");
 
   if(empleados == NULL)
   {
      printf("El archivo no existe! \nPor favor debe crearlo");
      return;
   } 
         
             printf("Introduzca el numero del empleado: ");
            scanf("%s",&registro.Cedula);     
             do
            {
               //system ("cls");                   
               fflush(stdin);
               printf("Introduzca el Nombre: ");
               scanf("%s", &registro.nombre);
               //while (nom[fin]!='\0')fin++;
               fin=strlen(registro.nombre);
               band=0;
               for(i=0;i<fin;i++)
               {
                  if(((registro.nombre>='A')&&(registro.nombre<='Z'))||((registro.nombre>='a')&&(registro.nombre<='z'))||(registro.nombre==' '))
                  {
                     band=0;
                  }
                  else //if(((nom>='A')&&(nom<='Z'))||((nom>='a')&&(nom[i<='z'])))
                  {
                     i=fin;
                     band=1;
                     printf("Caracteres invalidos... Intentelo de nuevo... \n");
                     system("pause>null");
                  }
               }
            }while(band==1);
            fflush(stdin);
            do
            {
               //system ("cls");
               fflush(stdin);
               printf("Introduzca el Apellido: ");
               scanf("%s",&registro.apellido);
               fin=strlen(registro.apellido);
               band=0;
               for(i=0;i<fin;i++)
               {
                  if(((registro.apellido>='A')&&(registro.apellido<='Z'))||((registro.apellido>='a')&&(registro.apellido<='z'))||(registro.apellido==' '))
                  {
                        band=0;
                  }
                  else
                  {
                     i=fin;
                     band=1;
                     printf("Caracteres invalidos... Intentelo de nuevo... \n");
                     system("pause>null");
                  }
               }
            }while(band==1);
            fflush(stdin);
            do
            {
               do
               {
                  //system ("cls");
                  fflush(stdin);
                  printf("Introduzca el Telefono: ");
                  scanf("%s",&registro.telefono);
                  fin=strlen(registro.telefono);
                  if(fin!=10)
                  {
                     printf("Ingrese un telefono de 10 digitos\n");
                     system("pause>null");
                  }
               }while(fin!=10);
                  band=0;
               for(i=0;i<fin;i++)
               {
                  if(((registro.telefono>='0')&&(registro.telefono<='9')))
                  {
                     band=0;
                  }
                  else
                  {
                     i=fin;
                     band=1;
                     printf("Caracteres invalidos... Intentelo de nuevo... \n");
                     system("PAUSE");
                  }
               }
            }while(band==1);
            fflush(stdin);
            do
            {
               //system ("cls");
               fflush(stdin);
               printf("Introduzca la Direccion: ");
               scanf("%s",&registro.direccion);
               //scanf("%s",direc);
               fin=strlen(registro.direccion);
               band=0;
               e=0;
               for(i=0;i<fin;i++)
               {
                  if(registro.direccion=='#')
                  {
                     e++;
                  }
                  if(((registro.direccion>='A')&&(registro.direccion<='Z')) || ((registro.direccion>='a')&&(registro.direccion<='z')) ||
                  ((registro.direccion>='0')&&(registro.direccion<='9')) || ((registro.direccion=='#')||(registro.direccion==':') ||
                  (registro.direccion==' ') || (registro.direccion=='.') || (registro.direccion=='-')))
                  {
                     band=0;
                  }
                  else
                  {
                     i=fin;
                     band=1;
                     printf("Solo se aceptan letras, numeros y los simbolos # y :\n");
                     system("pause>null");
                  }
                  if(e==2)
                  {
                     printf("Solo puede utilizar solo una vez el simbolo # \n");
                     i=fin;
                     band=1;
                     system("pause>null");
                  }
               }
            }while(band==1);
            fflush(stdin);
            do
            {
               //system ("cls");
               fflush(stdin);
               printf("Introduzca su correo electronico: ");
               scanf("%s",&registro.correo);
               fin=strlen(registro.correo);
               band=0;
               e=0;
               o=0;
               for(i=0;i<fin;i++)
               {
                  if(((registro.correo>='A')&&(registro.correo<='Z'))||
                  ((registro.correo>='a')&&(registro.correo<='z'))||
                  ((registro.correo>='0')&&(registro.correo<='9'))||
                  ((registro.correo=='#')||(registro.correo==':')||(registro.correo=='_')||(registro.correo=='-')||(registro.correo=='@')||(registro.correo=='.')))
                  {
                     if(registro.correo=='@')
                     {
                        o++;
                     }
                     if(registro.correo=='.')
                     {
                        e++;
                     }
                     band=0;
                  }
                  else
                  {
                     i=fin;
                     band=1;
                     printf("Solo se aceptan letras, numeros y los simbolos # : _ - y @ \n\n");
                     system("pause>null");
                  }
                  if(i==fin-1)
                  {
                     if(o!=1)
                     {
                        printf("Caracter invalido... Porfavor intentelo de nuevo... @\n\n");
                        i=fin;
                        band=1;
                        system("pause>null");
                     }
                  }
                  if(e>1)
                  {
                     printf("Caracter invalido... Porfavor intentelo de nuevo... \n");
                     i=fin;
                     band=1;
                     system("pause>null");
                  }
                  else if(registro.correo[fin-1]!='m')
                  {
                     printf("Caracter invalido... Porfavor intentelo de nuevo... \n");
                     i=fin;
                     band=1;
                     system("pause>null");
                  }
                  else if(registro.correo[fin-2]!='o')
                  {
                     printf("Caracter invalido... Porfavor intentelo de nuevo... \n");
                     i=fin;
                     band=1;
                     system("pause>null");
                  }
                  else if(registro.correo[fin-3]!='c')
                  {
                     printf("Caracter invalido... Porfavor intentelo de nuevo... \n");
                     i=fin;
                     band=1;
                     system("pause>null");
                  }
                  else if(registro.correo[fin-4]!='.')
                  {
                     printf("Caracter invalido... Porfavor intentelo de nuevo... \n");
                     i=fin;
                     band=1;
                     system("pause>null");
                  }
                  
               }
            }while(band==1);
            printf("\n");
            fprintf(empleados,"%s %s %s %s %s %s\n",registro.Cedula,registro.nombre,registro.apellido,registro.telefono,registro.direccion,registro.correo);
                  
     fclose(empleados);             
   
}

void Buscar()
{
   int num, f;
   char texto[2000];
   char k;
   printf("Numero de registro que desea buscar: ");
   scanf("%d",&num);
   num=num-1;
   empleados=fopen("empleados.txt","r");
   if(empleados!=NULL)
   {
      fgets(texto,2000,empleados);
      while(!feof(empleados))
      {
         if(f==num)
         {
            fprintf(empleados,"%d %s %s %s %s %s\n",n,registro.nombre,registro.apellido,registro.telefono,registro.direccion,registro.correo);
            puts(texto);
         }
         fgets(texto,2000,empleados);
         f++;         
      }
      
      
      fclose(empleados);
   }
   else
   {
      printf("Error en la apertura");
   }
}

void Modificar()
{
   char Cedula[11];
   unsigned int Tam;
   empleados=fopen("empleados.txt","rb+");
   
   if(empleados==NULL)
   {
      printf("Error en la apertura");
      return;
   }
   
   printf("Ingrese el numero de empleado a Modificar: ");
   scanf("%s",Cedula);
   
   if((empleados=fopen("empleados.txt","ab"))!=NULL)
   {
     fseek(empleados,0,2);
      Tam=ftell(empleados)/sizeof(registro);
      fclose(empleados);
   }
   
   if((empleados=fopen("empleados.txt", "rb+"))!=NULL)
   {
      for(int h=0; h<Tam ; h++)
      {//Inicia for
         fread(&registro, sizeof(struct sRegistro), 1, empleados);
            if(strcmp(Cedula,registro.Cedula)==0 and registro.Eliminado==0){
            printf("Desea cambiar la direccion? [ Si = 1 / No = 2 ]");
            scanf("%d",r1);
            fflush(stdin);
            while(r1==1)
            {
               printf("Ingrese nueva Direccion: ");
               scanf("%s", &registro.direccion);
               fflush(stdin);
               break;
            }
            
            printf("Desea cambiar el telefono? [ Si = 1 / No = 2 ]");
            scanf("%d",r2);
            fflush(stdin);
            while(r2==1)
            {
               printf("Ingrese nuevo telefono: ");
               scanf("%s",&registro.telefono);
               fflush(stdin);
               break;
            }
            
            printf("Desea cambiar el Email? [ Si = 1 / No = 2 ]");
            scanf("%d",r3);
            fflush(stdin);
            while(r3==1)
            {
               printf("Ingrese nuevo Email: ");
               scanf("%s",&registro.correo);
               fflush(stdin);
               break;
            }
            
       registro.Eliminado=0; // Aqui dejo constancia que el registro no esta eliminado        
         fseek(empleados,sizeof(registro)*h,SEEK_SET);
        fwrite(&registro, sizeof(struct sRegistro), 1, empleados);
   
         fclose(empleados);
        return;    

         }
      } //Cierra for
   }
   
   printf("El numero de empleado no existe...");         
    return;
   
}

void Mostrar()
{
   empleados=fopen("empleados.txt","r");
   char c;
   cout<<"\t\t Registros Ingresados: "<<endl;
   while(!feof(empleados))
   {
      c=fgetc(empleados);
      putchar(c);
   }
   fclose(empleados);
   
}


int main()
{
   int exit=0;
   int opcion;
    FILE *empleados;
    
    while(!exit)
    {//Inicia while
       
        Menu();
        printf("Opcion: ");
        scanf("%d",&opcion);
       
        switch(opcion)
        {
           case 1: creararchivo();
           system("pause>nuell");
           system("cls");
           break;
           
           case 2: insertararchivo();
           system("pause>null");
           system("cls");
           break;
           
           case 3:Modificar();
           system("pause>null");
           system("cls");
           break;
           
           case 4:
           break;
           
           case 5: Mostrar();
           system("pause>null");
           system("cls");
           break;
           
           case 6: Buscar();
           system("pause>null");
           system("cls");
           break;
           
           case 7:
              exit=1;
           break;
       }

       
   }//Termina while
   
}
8  Programación / Programación C/C++ / Ayuda para utilizar las teclas F1 F2 F3 etc. Dev C++ en: 3 Septiembre 2016, 04:28 am
Estoy haciendo un menu donde el usuario eliga el nombre del archivo y pueda ingresar datos en el... El problema que me surgio es que tengo que utilizar las teclas de funcion para elegir las opciones:

F1 - Crear archivo
F2 - Ingresar datos
ESC - Salir

Ya tengo todo lo demas lo unico que ocupo es saber como utilizar esas teclas. Tengo entendido que con switch no se puede que es con puros if... O si se puede con switch?

Este es el codigo:

#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <windows.h>
using namespace std;

FILE *archivoF;
char nombre[50];
char texto=' ';

void crear()
{
   cout<<"Ingrese el nombre del archivo: ";
    cin>>nombre;   
    strcat(nombre,".txt");                   /*Utilize la funcion strcat para concatenar el nombre que el usuario
                                              quiera darle al archivo con la extensión .txt porque en C
                                        no existe el operador concatenación (+) */     
    system("pause>null");

}

void escribir()
{
   archivoF=fopen(nombre,"w");
   if(archivoF==NULL)
   {
      
      cout<<"Error en la apertura";
      
   }
   
   cout<<"Ingrese el texto: (presione enter para finalizar): "<<endl;
   
   do
   {
      texto=getche();
      fputc(texto,archivoF);
      
   }while(texto!=13);
   
   fclose(archivoF);
}

void mostrar()
{
   
}

int main()
{
   int x;
   
      cout<<endl<<endl<<"\t\t\t Menu"<<endl<<endl;
           cout<<"\t[F1].-  Crear archivo. "<<endl;
           cout<<"\t[F2].-  Ingresar datos "<<endl;
           cout<<"\t[F3].-  Mostrar archivo "<<endl;
           cout<<"\t ESC.-  Salir "<<endl;
           cout<<"\tOpcion: ";
           cout<<endl;
           x=getch();
      
}


Si me pudieran ayudar se los agradeceria muchooo!
9  Programación / Programación C/C++ / Programa estructura cola con lista simple enlazada en C++ en: 4 Mayo 2016, 02:35 am
hola, debo realizar un programa implementando una lista simplemente enlazada con la estructura cola en c++.
El programa es simple solo debe de dar de alta, consultar y eliminar los elementos conforme al orden de la estructura cola.
Se como implementar la estructura cola lo que no tengo idea de como hacerlo es usando la lista simple. Alguien que me pueda ayudar en esto. Es para terminar mi semestre es el unico programa que me falta
10  Programación / Programación C/C++ / Ayuda proyecto de un hospital en Dev c++ en: 27 Abril 2016, 22:41 pm

Tengo que hacer un menu donde simule un hospital y las ultimas 2 opciones son dar de alta pacientes y mostrar pacientes dados de alta.
Mi pregunta es como puedo hacer el metodo para dar de alta a los pacientes o que funcion puedo utilizar...
Les agradeceria mucho su ayuda
Este es lo que llevo de codigo:


Código
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4.  
  5. struct medico
  6. {
  7. string doctor, enfermedad;
  8. };
  9.  
  10. struct domicilio
  11. {
  12. string calle, colonia;
  13. int numero;
  14. };
  15.  
  16. struct paciente
  17. {
  18. string nombre, apep, apem, familiar;
  19. domicilio dom;
  20. medico med;
  21. };
  22.  
  23.  
  24. void borrar();
  25. int bme=0;
  26. int bde=0;
  27.  
  28. int main()
  29. {//Inicia main
  30. paciente pac[100];
  31. string buscar, buscardoc;
  32.  
  33. int n,p=0,j,i;
  34.  
  35. do
  36. {
  37. cout<<"Bienvenido, ingrese la opcion de su preferencia:"<<endl;
  38. cout<<"1.- Ingresar pacientes"<<endl;
  39. cout<<"2.- Mostrar pacientes"<<endl;
  40. cout<<"3.- Buscar paciente por su nombre"<<endl;
  41. cout<<"4.- Buscar pacientes de doctor especifico"<<endl;
  42. cout<<"5.- Dar de alta paciente"<<endl;
  43. cout<<"6.- Pacientes dados de alta"<<endl;
  44. cout<<"7.- Salir"<<endl;
  45. cin>>n;
  46.  
  47. system("cls");
  48. switch(n)
  49. {//Inicia switch
  50.  
  51.  case 1:
  52.   {
  53.   cout<<"Cuantos pacientes desea registrar?  ";
  54.   cin>>p;
  55.  
  56.   for (i=0; i<p; i++)
  57.   {//Inicia for pedir datos
  58.    cout<<"Ingrese los datos del paciente Numero "<<"["<<i+1<<"]: "<<endl;
  59.  
  60.    cout<<"Nombre(s): ";
  61.    fflush(stdin);
  62.    getline(cin,pac[i].nombre);
  63.  
  64.    cout<<"Apellido Paterno: ";
  65.    fflush(stdin);
  66.    getline(cin,pac[i].apep);
  67.  
  68.    cout<<"Apellido Materno: ";
  69.    fflush(stdin);
  70.    getline(cin,pac[i].apem);
  71.  
  72.    cout<<"Nombre del familiar responsable: ";
  73.    fflush(stdin);
  74.    getline(cin,pac[i].familiar);
  75.  
  76.    cout<<"Domicilio"<<endl;
  77.    cout<<"Calle: ";
  78.    getline(cin,pac[i].dom.calle);
  79.  
  80.    cout<<"Numero: ";
  81.    fflush(stdin);
  82.    cin>>pac[i].dom.numero;
  83.  
  84.    cout<<"Colonia: ";
  85.    fflush(stdin);
  86.    getline(cin,pac[i].dom.colonia);
  87.  
  88.    cout<<"Nombre del Doctor: ";
  89.    fflush(stdin);
  90.    getline(cin,pac[i].med.doctor);
  91.  
  92.    cout<<"Padecimiento: ";
  93.    fflush(stdin);
  94.    getline(cin,pac[i].med.enfermedad);
  95.    cout<<endl;
  96.    system("cls");
  97.  
  98. }//CIerra for para pedir datos
  99.  
  100. system("pause>null");
  101. system("cls");
  102. }//termina case 1
  103. break;
  104.  
  105. case 2:
  106. {
  107. cout<<"Los pacientes ingresados en el hospital son: "<<endl<<endl;
  108. if(p==0)
  109. {
  110. cout<<"Hospital vacio... No hay pacientes registrados"<<endl;
  111. system("pause>null");
  112. system("cls");
  113. }
  114. for(i=0; i<p; i++)
  115. {
  116.  
  117.  
  118. cout<<"----------------------------------------------"<<endl;
  119. cout<<"Paciente numero "<<"["<<i+1<<"]: "<<endl;
  120. cout<<"Nombre: "<<pac[i].nombre<<" "<<pac[i].apep<<" "<<pac[i].apem<<endl;
  121. cout<<"Familiar Responsable del paciente: "<<pac[i].familiar<<endl;
  122. cout<<"Domicilio: "<<pac[i].dom.calle<<" #"<<pac[i].dom.numero<<" "<<pac[i].dom.colonia<<endl;
  123. cout<<"Doctor encargado: "<<pac[i].med.doctor<<endl;
  124. cout<<"Padecimiento: "<<pac[i].med.enfermedad<<endl;
  125. cout<<"----------------------------------------------"<<endl;
  126. cout<<endl<<endl;
  127.  
  128. }
  129.  
  130.  
  131. system("pause>null");
  132. system("cls");
  133. }//Termina case 2
  134. break;
  135.  
  136. case 3:
  137. {
  138.           cout<<"Escriba el nombre del paciente que desea buscar (no apellidos): ";
  139.           fflush(stdin);
  140.           getline(cin,buscar);
  141.           cout<<"Informacion del paciente solicitado: "<<endl<<endl;
  142.  
  143.           for(i=0; i<p; i++)
  144.           {    
  145.                  if(pac[i].nombre==buscar)
  146.                {
  147. cout<<"----------------------------------------------"<<endl;
  148. cout<<"Paciente numero "<<"["<<i+1<<"]: "<<endl;
  149. cout<<"Nombre: "<<pac[i].nombre<<" "<<pac[i].apep<<" "<<pac[i].apem<<endl;
  150. cout<<"Familiar Responsable del paciente: "<<pac[i].familiar<<endl;
  151. cout<<"Domicilio: "<<pac[i].dom.calle<<" #"<<pac[i].dom.numero<<" "<<pac[i].dom.colonia<<endl;
  152. cout<<"Doctor encargado: "<<pac[i].med.doctor<<endl;
  153. cout<<"Padecimiento: "<<pac[i].med.enfermedad<<endl;
  154. cout<<"----------------------------------------------"<<endl;
  155. cout<<endl<<endl;
  156. bme=1;
  157.  
  158. }
  159. if(bme!=1)
  160.                  {
  161.                  cout<<"Paciente no registrado..."<<endl;
  162.    }
  163.                 }              
  164.  
  165.   system("pause>null");
  166.   system("cls");
  167. }
  168. break;
  169.  
  170. case 4:
  171. {
  172.           cout<<"Escriba el nombre del doctor para saber que pacientes atiende: ";
  173.           fflush(stdin);
  174.           getline(cin,buscardoc);
  175.           cout<<"El doctor atiende a los siguientes pacientes: "<<endl<<endl;
  176.  
  177.           for(i=0; i<p; i++)
  178.           {
  179.                 if (pac[i].med.doctor==buscardoc)
  180.                 {
  181.      cout<<"----------------------------------------------"<<endl;
  182. cout<<"Paciente numero "<<"["<<i+1<<"]: "<<endl;
  183. cout<<"Nombre: "<<pac[i].nombre<<" "<<pac[i].apep<<" "<<pac[i].apem<<endl;
  184. cout<<"Familiar Responsable del paciente: "<<pac[i].familiar<<endl;
  185. cout<<"Domicilio: "<<pac[i].dom.calle<<" "<<pac[i].dom.numero<<" "<<pac[i].dom.colonia<<endl;
  186. cout<<"Padecimiento: "<<pac[i].med.enfermedad<<endl;
  187. cout<<"----------------------------------------------"<<endl;
  188. cout<<endl<<endl;
  189. bde=1;
  190.    }
  191.   if(bde!=1)
  192.                    {
  193.                   cout<<"El doctor no tiene pacientes en este momento...";
  194.               }
  195.                }
  196.  
  197.  system("pause>null");
  198.  system("cls");
  199. }
  200. break;
  201.  
  202. case 5:
  203. {
  204.  
  205. }
  206. break;
  207.  
  208. case 6:
  209. break;
  210.  
  211. default:
  212.  exit (0);
  213. }//Cierra switch
  214.  
  215. }while(n!=7);
  216.  
  217.  
  218. }//Cierra main





Mod: Los códigos deben ir en etiquetas GeSHi
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines