#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <windows.h>
#include <time.h>
//Angel Jonathan Renteria Hernandez.
struct paciente{char nombre_p[20],app_p[10],apm_p[10],gen_p[15],ed_p[5],tel_p[15],tipos_p[10];
int idp;}p[5];
struct doctor{char nombre_c[50],app_d[10],apm_d[10],gen_d[15],ed_d[5],tel_d[15];}d[5];
int i=0,x,b,c=0,opc1,opc2,opc3,opc,opc10,opc11,paca;
char nombre_c[20],app_d[10],apm_d[10],gen_d[15],ed_d[5],tel_d[15],nombre_p[20],app_p[10],apm_p[10],gen_p[15],ed_p[5],tel_p[15],tipos_p[10];
void error(){
tiempo();
gotoxy(10.10);printf("\aError dato no valido.\n");
getch();
}
void hopc1(){
tiempo();
FILE * doctor=fopen("Doctores.txt","w+");
if(doctor==NULL){
printf("Error al crear el archivo.");}
else{
for (i=0;i<5;i++){
memset(&p[i],5,sizeof(struct paciente));
printf("\t\t\tCaptura del doctor %d.\n\n",i+1);fflush(stdin);printf("\t\t\tNombre completo: ");gets(d[i].nombre_c);fflush(stdin);printf("\t\t\tGenero: ");gets(d[i].gen_d);fflush(stdin);printf("\t\t\tEdad: ");gets(d[i].ed_d);fflush(stdin);printf("\t\t\tTelefono: "); gets(d[i].tel_d); fflush(stdin);printf("\n\t\t\tCaptura terminada\n\n");
system("cls");
fwrite((char*)&d[i],sizeof(d[i]),sizeof(d[i]),doctor);}
fclose(doctor);
}}
void hospital(){
tiempo();
printf("\t\t\t\tHOSPITAL.\n\n\t\t\tIngresar codigo. 1)\n\t\t\tSalir al menu principal. 2)\n\n\t\t\t\tOPCION: ");
opc1=getch();
system("CLS");
switch(opc1){
case '1': hopc1();
break;
}}
int p1(){
tiempo();
FILE * paciente=fopen("Paciente.txt","w+");
if(paciente==NULL){
printf("Error al crear el archivo.");}
else
for (i=0; i<5; i++){
gotoxy(25,1);printf("***********************************************");
gotoxy(25,2);printf("**\t\t\t\t\t **");
gotoxy(25,3);printf("**\t\t\t\t\t **");
gotoxy(25,4);printf("**\t\t\t\t\t **");
gotoxy(25,5);printf("**\t\t\t\t\t **");
gotoxy(25,6);printf("**\t\t\t\t\t **");
gotoxy(25,7);printf("**\t\t\t\t\t **");
gotoxy(25,8);printf("**\t\t\t\t\t **");
gotoxy(25,9);printf("**\t\t\t\t\t **");
gotoxy(25,10);printf("**\t\t\t\t\t **");
gotoxy(25,11);printf("**\t\t\t\t\t **");
gotoxy(25,12);printf("**\t\t\t\t\t **");
gotoxy(25,13);printf("**\t\t\t\t\t **");
gotoxy(25,14);printf("**\t\t\t\t\t **");
gotoxy(25,15);printf("**\t\t\t\t\t **");
gotoxy(25,16);printf("**\t\t\t\t\t **");
gotoxy(25,17);printf("***********************************************");
gotoxy(35,3);printf("Captura del paciente %d.",i+1);fflush(stdin);
gotoxy(35,5);printf("Nombre: ");fgets(p[i].nombre_p,20,stdin);
gotoxy(35,6);printf("apellido paterno: ");fgets(p[i].app_p,10,stdin);
gotoxy(35,7);printf("apellido materno: ");fgets(p[i].apm_p,10,stdin);
gotoxy(35,8);printf("Genero: ");fgets(p[i].gen_p,15,stdin);
gotoxy(35,9);printf("Edad: ");fgets(p[i].ed_p,5,stdin);
gotoxy(35,10);printf("Telefono: ");fgets(p[i].tel_p,15,stdin);
gotoxy(35,11);printf("Tipo Sangre: ");fgets(p[i].tipos_p,10,stdin);
gotoxy(38,13);printf("Captura terminada\n\n");
gotoxy(30,15);printf("Deseas agregar otro Paciente(S/N): ");
char sn=getch();
if(sn=='s' || sn=='S'){
fwrite((char*)&p[i],sizeof(p[i]),sizeof(p[i]),paciente);
system("cls");
continue;
fclose(paciente);}
if(sn=='n' || sn=='N'){
fwrite((char*)&p[i],sizeof(p[i]),sizeof(p[i]),paciente);
fclose(paciente);
return 0;}
else{
system("cls");
error();
fwrite((char*)&p[i],sizeof(p[i]),sizeof(p[i]),paciente);
fclose(paciente);
return 0;}}}
void mopc(){
int j;
for (j=0; j<=i; j++){
tiempo();
gotoxy(40,2);printf("Mostrar Pacientes.");
gotoxy(42,4);printf("Paciente %d.\n",j+1);
gotoxy(38,6);printf("Nombre: %s",p[j].nombre_p);
gotoxy(38,7);printf("Apellido paterno: %s",p[j].app_p);
gotoxy(38,8);printf("Apellido materno: %s",p[j].apm_p);
gotoxy(38,9);printf("Genero: %s",p[j].gen_p);
gotoxy(38,10);printf("Edad: %s",p[j].ed_p);
gotoxy(38,11);printf("Telefono: %s",p[j].tel_p);
gotoxy(38,12);printf("Tipo de sangre: %s",p[j].tipos_p);
getch();
system("cls");}
system("cls");
}
int paciente_a(){
colorpaciente_a();
system("CLS");
tiempo();
gotoxy(0,0);printf("\t ****\n\t * *\n\t * *\n ***** *****\n *\t\t *\n ***** *****\n\t * *\n\t * *\n\t ****");
gotoxy(80,0); printf("\t ****");gotoxy(80,1); printf("\t * *");gotoxy(80,2); printf("\t * *");gotoxy(79,3); printf("\t ***** *****");gotoxy(79,4); printf("\t * *");gotoxy(79,5); printf("\t ***** *****");gotoxy(80,6); printf("\t * *");gotoxy(80,7); printf("\t * *");gotoxy(80,8); printf("\t ****");
gotoxy(25,7);printf("¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
gotoxy(26,8);printf("************************************************");
gotoxy(25,8);printf("¯**\t\t\t\t\t\t**¯");
gotoxy(25,9);printf("¯**\t\t\t\t\t\t**¯");
gotoxy(25,10);printf("¯**\t\t\t\t\t\t**¯");
gotoxy(25,11);printf("¯**\t\t\t\t\t\t**¯");
gotoxy(25,12);printf("¯**\t\t\t\t\t\t**¯");
gotoxy(25,13);printf("¯************************************************¯");
gotoxy(25,14);printf("¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯");
gotoxy(50,9);printf("\n\t\t\t\t\tAlta de pacientes 1)\n\t\t\t\t Regresar al menu paciente. 2)\n\n");
paca=getch();
system("CLS");
switch (paca)
{
case '1': p1();
break;
case '2': paciente();
break;
default: error();
}
}
int buscarp(){
int j;
char n[20];
printf("Buscador de Pacientes.");
/*FILE*paciente;
paciente=fopen("Paciente.txt","a+");
if(paciente==NULL)
{
printf("\n\n Error al abrir el archivo! ! !\n");
return 0;
}
*/
printf("\t\t\nDigite el Nombre: ");
gets(n);
for(j=0; j<=i; j++){
if(p[j].nombre_p!=n){
printf("\t\t\nPACIENTE ENCONTRADO.\n\n");
printf("\nNombre del paciente: %s\n",p[i].nombre_p);
printf("Apelido paterno del paciente: %s\n",p[i].app_p);
printf("Apellido materno del paciente: %s\n",p[i].apm_p);
printf("Genero del paciente: %s\n",p[i].gen_p);
printf("Edad del paciente: %s\n",p[i].ed_p);
printf("Telefono del paciente %s\n",p[i].tel_p);
printf("Tipo de sangre del paciente: %s\n",p[i].tipos_p);
break;
}
else{
printf("No encontrado.");
break;
}
}}
cruz1(){
gotoxy(0,0);printf("\t ****\n\t * *\n\t * *\n ***** *****\n *\t\t *\n ***** *****\n\t * *\n\t * *\n\t ****");
}
cruz2(){
gotoxy(0,0);printf("\t ****\n\t * *\n\t * *\n ***** *****\n *\t\t *\n ***** *****\n\t * *\n\t * *\n\t ****");
gotoxy(80,0); printf("\t ****");
gotoxy(80,1); printf("\t * *");
gotoxy(80,2); printf("\t * *");
gotoxy(79,3); printf("\t ***** *****");
gotoxy(79,4); printf("\t * *");
gotoxy(79,5); printf("\t ***** *****");
gotoxy(80,6); printf("\t * *");
gotoxy(80,7); printf("\t * *");
gotoxy(80,8); printf("\t ****");
}
void colorpaciente(){
system("color FC");
}
void colorpaciente_a(){
system("color F8");
}
void colormenu(){
system("color Fc");
}
void colordoctor(){
system("color FC");
}
void colordoctor_a(){
system("color FC");
}
void colorerror(){
system("color CF");
}
void colorsalir(){
system("color F3");
}
int paciente(){
system("CLS");
colorpaciente();
cruz1();
tiempo();
gotoxy(43,1);printf("*****************");gotoxy(43,2);printf("**\t\t **");gotoxy(43,3);printf("*****************");
gotoxy(45,2);printf("MENU PACIENTE");
gotoxy(40,5);printf("Captura de paciente(s). 1");
gotoxy(40,6);printf("Mostrar paciente(s). 2");
gotoxy(40,7);printf("Buscar paciente(s). 3");
gotoxy(40,8);printf("Salir al menu principal. 4");
opc2=getch();
system("CLS");
switch(opc2)
{
case '1': do{
paciente_a();
}while(paca!='2');
break;
case '2': mopc();
break;
case '3': buscarp();
system("pause");
break;
case '4':
break;
default: error();
}
}
void salir(){
colorsalir();
gotoxy(39,8);printf("\t\t\\|||/", 150);
gotoxy(39,9);printf("\t\t(o o)", 150);
gotoxy(39,10);printf("------ooO-(_)-Ooo------");
gotoxy(39,11);printf(" Saliendo del Programa.");
tiempo();
getch();
}
void gotoxy(int x, int y){
HANDLE hCon;
hCon = GetStdHandle(STD_OUTPUT_HANDLE);
COORD dwPos;
dwPos.X = x;
dwPos.Y = y;
SetConsoleCursorPosition(hCon,dwPos);
}
int tiempo(){
time_t tiempo = time(0);
struct tm *tlocal = localtime(&tiempo);
char output[128];
strftime(output, 128, "Fecha: %d/%m/%y Hora: %H:%M:%S", tlocal);
gotoxy(69,27);printf("%s\n",output);
}
void sonido(){
}
void figura(){
system("color 03");
tiempo();
gotoxy(1,10);printf("######## #### ######## ## ## ## ## ######## ## ## #### ######## ####### ######");
gotoxy(1,11);printf("## ## ## ## ### ## ## ## ## ### ## ## ## ## ## ## ## ##");
gotoxy(1,12);printf("## ## ## ## #### ## ## ## ## #### ## ## ## ## ## ## ##");
gotoxy(1,13);printf("######## ## ###### ## ## ## ## ## ###### ## ## ## ## ## ## ## ## ######");
gotoxy(1,14);printf("## ## ## ## ## #### ## ## ## ## #### ## ## ## ## ## ##");
gotoxy(1,15);printf("## ## ## ## ## ### ## ## ## ## ### ## ## ## ## ## ## ##");
gotoxy(1,16);printf("######## #### ######## ## ## ### ######## ## ## #### ######## ####### ######.....\n");
}
void menu(){
system("CLS");
colormenu();
tiempo();
cruz2();
gotoxy(40,1);printf("*******************\n\t\t\t\t\t** MENU PRINCIPAL**\n\t\t\t\t\t*******************");
gotoxy(37,5);printf("Hospital Puerta del cielo.\n\n\t\t\t\t\t DOCTORES. 1)\n\t\t\t\t\t PACIENTE. 2)\n\t\t\t\t\t SALIR. 3)\n\n\t\t\t\t\t");
opc=getch();
system("CLS");
switch (opc)
{
case '1':do{
hospital();
}while(opc1!='2');
break;
case '2': do{
paciente();
}while(opc2!='4');
break;
case '3': salir();
break;
default: error();
}
}
int main()
{
SetConsoleTitle("Proyecto HOSPITAL");
figura();
getch();
do{
menu();
}while(opc!='3');
}