Proyecto Tif
Proyecto Tif
Proyecto Tif
2019
PLATEAMIENTO DEL PROBLEMA
En la actualidad se observa la problemática con el tema de sacar medicas; ya que al
momento de realizar tal acción se presenta ciertas complicaciones que te presentan los
diversos establecimientos de salud; ya sea con el horario estipulado para la atención o con
el personal que uno quiere ser atendido: con el siguiente programa el cual llamamos
“MEDICAL QOUTES” trataremos de dar una solución a la problemática que genera los
diversos establecimientos de salud y así hacer más eficiente esto de sacar citas médicas en
los hospitales de Perú.
#include <iostream>
#include <fstream>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <clocale>
struct informacion{
int opc_menu,opc_esp,opc_med,opc_salir;
char dni[8];
int longi;
string nombre;
string apellido;
int edad;
string dia;
string hora;
string fila;
size_t found;
string especialidad;
string medico;
};
void menu();
void salir();
void Especialidad();
void medico(int opc);
void imprimir_ticket();
void ingresarnuevo();
void Consultar();
void reporte();
void imprimir_consulta(string B_dni);
int main(){
setlocale(LC_CTYPE,"Spanish");
informacion datos;
menu();
cin>>datos.opc_menu;
while(datos.opc_menu !=3 && datos.opc_menu !=2 &&
datos.opc_menu !=1){
cout<<"\a";
menu();
cin>>datos.opc_menu;
}
switch(datos.opc_menu){
case 1:
ingresarnuevo();
break;
case 2:
Consultar();
cin>>datos.dni;
datos.longi = strlen(datos.dni);
while(datos.longi!=8){
Consultar();
cin>>datos.dni;
}
imprimir_consulta(datos.dni);
break;
case 3:
reporte();
break;
}
return 0;
}
void menu(){
system("cls");
cout<<"SELECCIONAR OPCION"<<endl;
cout<<"opc. 1 ingresar nuevo paciente"<<endl;
cout<<"opc. 2 Consultar Cita"<<endl;
cout<<"opc. 3 Reporte de citas"<<endl;
cout<<"Ingrese Su Opccion : ";
}
void Especialidad(){
system("cls");
cout<<"SELECIONE UNA ESPECIALIDAD"<<endl;
cout<<"opc. 1 Cardiologia"<<endl;
cout<<"opc. 2 Odontologia"<<endl;
cout<<"opc. 3 Pediatria"<<endl;
cout<<"opc. 4 Medicina General"<<endl;
}
void medico(int opc){
switch(opc){
case 1:
system("cls");
cout<<"SELECIONE EL MEDICO"<<endl;
cout<<"opc. 1 Jose Perez"<<endl;
cout<<"opc. 2 Alejandro garcia"<<endl;
break;
case 2:
system("cls");
cout<<"SELECIONE EL MEDICO"<<endl;
cout<<"opc. 1 Maria del Pilar"<<endl;
cout<<"opc. 2 Fernando Cisneros"<<endl;
break;
case 3:
system("cls");
cout<<"SELECIONE EL MEDICO"<<endl;
cout<<"opc. 1 Dunker callo"<<endl;
cout<<"opc. 2 Juan Peralta"<<endl;
break;
case 4:
system("cls");
cout<<"SELECIONE EL MEDICO"<<endl;
cout<<"opc. 1 Mario Quispe"<<endl;
cout<<"opc. 2 Rosario Mamani"<<endl;
break;
}
}
void imprimir_ticket(string dato1,string dato2,string dato3,int dato4, string
dato5,string dato6,string dato7,string dato8){
cout<<"DNI : \t\t"<<dato1<<endl;
cout<<"NOMBRE : \t"<<dato2<<endl;
cout<<"APELLIDO : \t"<<dato3<<endl;
cout<<"EDAD : \t\t"<<dato4<<" años"<<endl;
cout<<"DIA : \t\t"<<dato5<<endl;
cout<<"HORA : \t\t"<<dato6<<endl;
cout<<"ESPECIALIDAD : \t"<<dato7<<endl;
cout<<"MEDICO : \t"<<dato8<<endl;
system("Pause");
salir();
}
void ingresarnuevo(){
informacion persona;
ofstream fichero;
fichero.open("fichero.csv",ios::app);
system("cls");
cout<<"Ingrese DNI: \n";
cin>>persona.dni;
persona.longi = strlen(persona.dni);
while(persona.longi!=8){
system("cls");
cout<<"Ingrese DNI: \n";
cin>>persona.dni;
}
cin.ignore();
cout<<"Ingrese NOMBRE: \n";
getline(cin,persona.nombre);
cout<<"Ingrese APELLIDO: \n";
getline(cin,persona.apellido);
cout<<"Ingrese EDAD: \n";
cin>>persona.edad;
cin.ignore();
cout<<"Ingrese DIA/MES : \n";
getline(cin,persona.dia);
cout<<"Ingrese HORA: \n";
getline(cin,persona.hora);
Especialidad();//imprimir menu de especialidad
cin>>persona.opc_esp;
while(persona.opc_esp !=4 && persona.opc_esp !=3 &&
persona.opc_esp !=2 && persona.opc_esp !=1){
Especialidad();
cin>>persona.opc_esp;
}
switch(persona.opc_esp){
case 1:
persona.especialidad="Cardiologia";
medico(persona.opc_esp);//imprimir
medicos segun especialidad
cin>>persona.opc_med;
while(persona.opc_med !=2 &&
persona.opc_med !=1){
medico(persona.opc_esp);
cin>>persona.opc_med;
}
switch(persona.opc_med){
case 1:
persona.medico="Jose_Perez";
break;
case 2:
persona.medico="Alejandro_garcia";
break;
}
break;
case 2:
persona.especialidad="Odontologia";
medico(persona.opc_esp);
cin>>persona.opc_med;
while(persona.opc_med !=2 &&
persona.opc_med !=1){
medico(persona.opc_esp);
cin>>persona.opc_med;
}
switch(persona.opc_med){
case 1:
persona.medico="Maria_del_Pilar";
break;
case 2:
persona.medico="Fernando_Cisneros";
break;
}
break;
case 3:
persona.especialidad="Pediatria";
medico(persona.opc_esp);
cin>>persona.opc_med;
while(persona.opc_med !=2 && persona.opc_med !=1){
medico(persona.opc_esp);
cin>>persona.opc_med;
}
switch(persona.opc_med){
case 1:
persona.medico="Dunker_callo";
break;
case 2:
persona.medico="Juan_Peralta";
break;
}
break;
case 4:
persona.especialidad="Medicina";
medico(persona.opc_esp);
cin>>persona.opc_med;
while(persona.opc_med !=2 &&
persona.opc_med !=1){
medico(persona.opc_esp);
cin>>persona.opc_med;
}
switch(persona.opc_med){
case 1:
persona.medico="Mario_Quispe";
break;
case 2:
persona.medico="Rosario_Mamani";
break;
}
break;
}
fichero<<persona.dni<<","<<persona.nombre<<","<<persona.apellido<<","<<
persona.edad<<"_años,"<<persona.dia<<","<<persona.hora<<","<<persona.es
pecialidad<<","<<persona.medico<<"\n";
fichero.close();
imprimir_ticket(persona.dni, persona.nombre, persona.apellido,
persona.edad, persona.dia,
persona.hora,persona.especialidad,persona.medico);
salir();
}
void Consultar(){
system("cls");
cout<<"Ingrese el DNI del Paciente : ";
}
void reporte(){
system("cls");
informacion persona;
int cont=1;
ifstream lectura;
lectura.open("fichero.csv",ios::in);
while (lectura.good())
{
lectura>>persona.fila;
char cadena[200];
strcpy(cadena,persona.fila.c_str());
char delimitador[] = ",";
char *token = strtok(cadena, delimitador);
if(token != NULL){
for(int i=1;i<=8;i++){
cout<<token<<" \t";
token = strtok(NULL, delimitador);
if(i==4){
cout<<"\t";
}
cont++;
}
cout<<"\n";
}
}
lectura.close();
system("Pause");
salir();
}
void imprimir_consulta(string B_dni){
string cadena2;
string buscar ="\""+B_dni+"\"";
informacion persona;
ifstream lectura;
lectura.open("fichero.csv",ios::in);
string s2 = B_dni;
while (!lectura.eof())
{
lectura>>persona.fila;
cadena2=persona.fila;
persona.found=cadena2.find("70290278",0);
if(persona.found>=0 && persona.found<=9){
char cadena[200];
strcpy(cadena,persona.fila.c_str());
char delimitador[] = ",";
char *token = strtok(cadena, delimitador);
if(token != NULL){
for(int i=1;i<=8;i++){
cout<<token<<" \t";
token = strtok(NULL, delimitador);
}
cout<<"\n";
}
}
}
lectura.close();
system("Pause");
salir();
}
void salir(){
informacion salir;
cout<<"SELECIONE UNA OPCION"<<endl;
cout<<"opc. 1 realizar otra operacion"<<endl;
cout<<"opc. 2 salir"<<endl;
cin>>salir.opc_salir;
while(salir.opc_salir !=2 && salir.opc_salir !=1){
system("cls");
cout<<"SELECIONE UNA OPCION"<<endl;
cout<<"opc. 1 realizar otra operacion"<<endl;
cout<<"opc. 2 salir"<<endl;
cin>>salir.opc_salir;
}
switch(salir.opc_salir){
case 1:
main();
break;
case 2:
exit(1);
break;
}
}
CONCLUSIONES
El lenguaje C++ es versátil para el desarrollo de este tipo de actividades
Este proyecto mejora el sistema de citas médicas, optimizando los tiempos en los que
realizan y mejorando la comunicación hombre –máquina.
RECOMENDACIONES
Recomendamos usar estas líneas de código con una base datos de ESSALUD para mejorar
el sistema de solicitud de citas médicas en el Perú.
BIBLIOGRAFIA
http://jorgesaavedra.wordpress.com/2006/12/09/breve-historia-de-c-c-c/
http://bigthink.com/users/bjarnestroustrup DEITEL, Harvey M. C++ Cómo Programar. 6ta
Edición. México: Pearson Educación, 2009. 1112 p. ISBN: 978 – 970 – 26 – 1273 – 5.
PEÑALOZA ROMERO, Ernesto. Fundamentos de Programación C/C++. 4ta Edición.
México: Alfaomega, 2004. 549 p. ISBN: 970 – 15 – 0905 – 6. DAVIS, Stephen Randy. C+
+ For Dummies. 5ta Edición. Canada: Wiley Publishing, Inc, 2004. 549 p. ISBN: 0 – 7645
– 6852 – 3.