void DadosPaciente() { static int PrimeiroPaciente=TRUE; int novopaciente=FALSE; char Resposta[2]; LimpaTela(); if (PrimeiroPaciente && !DadosPacienteOk) { novopaciente=TRUE; PrimeiroPaciente=FALSE; } else novopaciente=NovoPaciente(); AmbienteDados(); do { do { Leitura (58,10,Paciente.Nome,45); } while (*Paciente.Nome==NULL); LeituraN(154,23,Paciente.Prontuario,5,1,99999L); do { LeituraC(58,36,Paciente.Sexo,"MmFf"); } while (Paciente.Sexo[0]!='M' && Paciente.Sexo[0]!='F'); ApagaWord(66,36,8); if (Paciente.Sexo[0]=='M') gprintf(66,36,"asculino"); else gprintf(66,36,"eminino"); LeituraN(170,49,Paciente.Dia,2,1,31); if (atoi(Paciente.Dia)<10) if (*Paciente.Dia!='0') { *(Paciente.Dia+1)=*Paciente.Dia; *Paciente.Dia='0'; ApagaWord(170,49,2); gprintf(170,49,"%2s",Paciente.Dia); } LeituraN(194,49,Paciente.Mes,2,1,12); if (atoi(Paciente.Mes)<10) if (*Paciente.Mes!='0') { *(Paciente.Mes+1)=*Paciente.Mes; *Paciente.Mes='0'; ApagaWord(194,49,2); gprintf(194,49,"%2s",Paciente.Mes); } do { LeituraN(218,49,Paciente.Ano,2,1,99); if (atoi(Paciente.Ano)<10) if (*Paciente.Ano!='0') { *(Paciente.Ano+1)=*Paciente.Ano; *Paciente.Ano='0'; ApagaWord(218,49,2); gprintf(218,49,"%2s",Paciente.Ano); } CalculaIdade(); ApagaWord(356,49,2); gprintf(300,49,"IDADE: %2s anos",PacienteIdade); } while (atoi(PacienteIdade)<6 || atoi(PacienteIdade)>90); if (atoi(PacienteIdade)<16) *Paciente.Fase='C'; else if (atoi(PacienteIdade)>18) *Paciente.Fase='A'; else do { LeituraC(226,62,Paciente.Fase,"AaCc"); } while (Paciente.Fase[0]!='A' && Paciente.Fase[0]!='C'); ApagaWord(234,62,6); if (Paciente.Fase[0]=='A') gprintf(226,62,"Adulto"); else { setcolor(0); gprintf(226,62,"A"); setcolor(1); gprintf(226,62,"Crianca"); } if (Paciente.Fase[0]=='A') { LeituraN(114,75,Paciente.Altura,3,110,210); LeituraN(98,88,Paciente.Peso,3,20,150); } else { LeituraN(114,75,Paciente.Altura,3,110,210); if (atof(Paciente.Altura)>170) { *Paciente.Fase='A'; setcolor(0); gprintf(226,62,"Crianca"); setcolor(1); gprintf(226,62,"Adulto"); } LeituraN(98,88,Paciente.Peso,3,10,150); } CalculaSupCorporea(); ApagaWord(468,88,5); gprintf(300,88,"SUPERFICIE CORPORAL: %-5.2f",SupCorp); LeituraC(162,118,Paciente.Fumante,"SsNnEe"); ApagaLinha(131); ApagaLinha(144); ApagaLinha(157); if (strchr ( "Ss" , Paciente.Fumante[0] ) != NULL) { gprintf(40,131,"HA QUANTOS ANOS ? : %s",Paciente.tempfumo); gprintf(40,144,"No CIGARROS/DIA : %s",Paciente.cigardia); LeituraN(200,131,Paciente.tempfumo,2,1,99); LeituraN(200,144,Paciente.cigardia,2,1,99); } else if (strchr ( "Ee" , Paciente.Fumante[0] ) != NULL) { gprintf(40,131,"HA QUANTO TEMPO DEIXOU DE FUMAR ? :"" %2s ANOS %2s MESES",Paciente.deixfumoA,Paciente.deixfumoM); gprintf(40,144,"QUANTOS ANOS FUMOU ? : %2s",Paciente.tempfumo); gprintf(40,157,"No CIGARROS/DIA : %2s",Paciente.cigardia); LeituraN(328,131,Paciente.deixfumoA,2,1,99); LeituraN(400,131,Paciente.deixfumoM,2,1,12); LeituraN(224,144,Paciente.tempfumo,2,1,99); LeituraN(184,157,Paciente.cigardia,2,1,99); } Leitura(114,177,institu,52); LeituraC(346,190,IouA,"IiAa"); Leitura(234,203,justif,37); Leitura(178,216,medico,38); Leitura(186,229,servico,43); LeituraC(418,242,temdiag,"SsNn"); ApagaLinha(255); if (strchr ( "Ss" , temdiag[0] ) != NULL) { gprintf(40,255,"DIAGNOSTICO: %s",diagnost); Leitura(144,255,diagnost,30); } LeituraC(210,268,temcirur,"SsNn"); ApagaLinha(281); ApagaLinha(294); if (strchr ( "Ss" , temcirur[0] ) != NULL) { gprintf(40,281,"CIRURGIA: %s",cirurgia); gprintf(40,294,"DATA: %2s/%2s/%2s",cirurgiaD,cirurgiaM,cirurgiaA); Leitura(120,281,cirurgia,43); LeituraN(88,294,cirurgiaD,2,1,31); if (atoi(cirurgiaD)<10) if (*cirurgiaD!='0') { *(cirurgiaD+1)=*cirurgiaD; *cirurgiaD='0'; ApagaWord(88,294,2); gprintf(88,294,"%2s",cirurgiaD); } LeituraN(112,294,cirurgiaM,2,1,12); if (atoi(cirurgiaM)<10) if (*cirurgiaM!='0') { *(cirurgiaM+1)=*cirurgiaM; *cirurgiaM='0'; ApagaWord(112,294,2); gprintf(112,294,"%2s",cirurgiaM); } LeituraN(136,294,cirurgiaA,2,1,99); if (atoi(cirurgiaA)<10) if (*cirurgiaA!='0') { *(cirurgiaA+1)=*cirurgiaA; *cirurgiaA='0'; ApagaWord(136,294,2); gprintf(136,294,"%2s",cirurgiaA); } } Resposta[0] = 'S'; Resposta[1] = NULL; outtextxy(352,322,"Dados Corretos ? (S/N) "); LeituraC(536,322,Resposta,"SsNn"); ApagaLinha(322); } while(strchr ( "Nn" , *Resposta ) != NULL); CalculaCVteorico(); CalculaVVMteorico(); CalculaFLUXteorico(); DadosPacienteOk = TRUE; if (novopaciente) { *ApontEspirometria = NULL; *ApontVVM = NULL; ApontFluxPreBD = NULL; ApontFluxPosBD = NULL; } } /* DadosPaciente */
void DadosPaciente() { char Resposta[2]; char t[46]; char *p_ch; int li, co, li_1, co_1, li_2, co_2, cor; t[0] = NULL; if (Primpac && !DadosPacienteOk) { novopac = TRUE; Primpac = FALSE; } else novopac = NovoPaciente(); AmbientePaciente(); setcolor (bea_color[15]); getviewsettings ( &vp ); do { /* ============ ENTRADA DO NOME DO PACIENTE ============== */ do { strcpy( t, Paciente.Nome ); LEITURA( 'c', textwidth("NOME: ") + DELTA_X ( 5), DELTA_Y ( 5), Paciente.Nome, 45, 0L, 0L ); if (Paciente.Nome[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy(Paciente.Nome, t); return; } /* devolve nome original */ } } while (*Paciente.Nome == NULL); do { /* ========= ENTRADA DO No PRONTUARIO DO PACIENTE ============== */ strcpy( t, Paciente.Prontuario ); LEITURA( 'n', textwidth("No DO PRONTUARIO: ") + DELTA_X (5), DELTA_Y (10), Paciente.Prontuario, 7, 0L, MAXLONG ); if (Paciente.Prontuario[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy(Paciente.Prontuario, t); return; } /* devolve nome original */ } LEITURA( 'n', textwidth("No DO PRONTUARIO: 1234567 ") + DELTA_X ( 5), DELTA_Y (10), digito, 1, 0L, 9L); if (digito[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy(Paciente.Prontuario, t); return; } /* devolve nome original */ } strcat(Paciente.Prontuario,digito); } while (*Paciente.Prontuario == NULL); /* ========= ENTRADA DO SEXO DO PACIENTE ============== */ strcpy( t, Paciente.Sexo ); co = textwidth("SEXO: ") + DELTA_X ( 5); li = DELTA_Y (15); do { LEITURA( 'c', co, li, Paciente.Sexo,1,0L,0L); if (Paciente.Sexo[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy(Paciente.Sexo,t); return; /* devolve nome original */ } } ApagaWord(co, li, 8); } while ( (Paciente.Sexo[0] != 'M') && (Paciente.Sexo[0] != 'F') ); if ( Paciente.Sexo[0] != 'M' ) outtextxy(co, li, " Feminino" ); else outtextxy(co, li, "Masculino"); /* ========= ENTRADA DA DATA DE NASCIMENTO ================ */ strcpy( t, Paciente.Dia ); co = textwidth("DATA DE NASCIMENTO: ") + DELTA_X ( 5); li = DELTA_Y (20); do { LEITURA( 'n', co, li, Paciente.Dia, 2, 1L, 31L); if (Paciente.Dia[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac = FALSE; Primpac = TRUE; } else { strcpy(Paciente.Dia,t); return; } /* devolve nome original */ } } while (Paciente.Dia == NULL); chama( Paciente.Dia, co, li ); co += textwidth("00/"); strcpy( t, Paciente.Mes ); do { LEITURA( 'n', co, li, Paciente.Mes,2,1L,12L); if (Paciente.Mes[0]==ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy( Paciente.Mes, t ); return; } /* devolve nome original */ } } while (Paciente.Mes==NULL); chama(Paciente.Mes, co, li); co += textwidth("00/"); strcpy(t,Paciente.Ano); do { LEITURA( 'n', co, li, Paciente.Ano,2,1L,99L); if (Paciente.Ano[0]==ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy(Paciente.Ano,t); return; } /* devolve nome original */ } chama(Paciente.Ano, co, li); CalculaIdade(); ApagaWord( DELTA_X (50) + textwidth("IDADE: "), li, 2 ); gprintf ( DELTA_X (50) + textwidth("IDADE: "), li, "%2s", PacienteIdade); } while ( (atoi(PacienteIdade) < 5) || (atoi(PacienteIdade) > 90) ); co = textwidth("ADULTO ou CRIANCA ? (A/C): ") + DELTA_X ( 5); li = DELTA_Y (25); if ( (atoi(PacienteIdade) < 17) && (atoi(PacienteIdade) > 14) ) { do{ LEITURA( 'c', co, li, Paciente.Fase,1,0L,0L); } while ( (Paciente.Fase[0] != 'A') && (Paciente.Fase[0] != 'C') ); ApagaWord( co, li, 7 ); if (pertence(Paciente.Fase[0],"Aa" )) { outtextxy( co, li, " Adulto"); } else { outtextxy( co, li, "Crianca"); } } else { if (atoi(PacienteIdade) <= 14) *Paciente.Fase='C'; else *Paciente.Fase='A'; ApagaWord( co, li, 7 ); if (Paciente.Fase[0] == 'A') gprintf( co, li, " Adulto"); else gprintf( co, li, "Crianca"); } /* ========= ENTRADA DA ALTURA =============== */ co_1 = co; li_1 = li; co = textwidth("ALTURA (cm): ") + DELTA_X ( 5); li = DELTA_Y (30); LEITURA('n', co, li, Paciente.Altura, 3, 110L, 210L); if (Paciente.Altura[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac=FALSE; Primpac=TRUE; } else { strcpy(Paciente.Altura,t); return; } /* devolve nome original */ } if (atoi(Paciente.Altura) > 170) { *Paciente.Fase='A'; ApagaWord(co_1, li_1, 7); gprintf(co_1, li_1, " Adulto"); } /* ========= ENTRADA DO PESO =============== */ co = textwidth("PESO (Kg): ") + DELTA_X ( 5); li = DELTA_Y (35); LEITURA('n',co, li, Paciente.Peso, 3, 16L, 150L); if (Paciente.Peso[0] == ESC) { if (novopac) { /* Se ja tinha pac mas queria inserir outro */ zeraPaciente(); novopac = FALSE; Primpac = TRUE; } else { strcpy(Paciente.Peso,t); return; } /* devolve nome original */ } CalculaSupCorporea(); co_1 = DELTA_X (50) + textwidth("SUPERFICIE CORPORAL: "); ApagaWord( co_1, li, 5); gprintf(co_1, li, "%-5.2f", SupCorp); /* ========= ENTRADA DE SE FUMANTE =============== */ co = textwidth("FUMANTE ? (S/N/E): ") + DELTA_X ( 5); li = DELTA_Y (40); if ( test( 'c',co, li, Paciente.Fumante , 1, 0L, 0L)); else return; co = DELTA_X (50); li = DELTA_Y (40); li_1 = DELTA_Y (43); li_2 = DELTA_Y (46); ApagaWord( co, li, 38 ); ApagaWord( co, li_1, 25 ); ApagaWord( co, li_2, 25 ); if (pertence(Paciente.Fumante[0],"Ss")) { co = DELTA_X (50) + textwidth("HA QUANTOS ANOS ? : "); co_1 = DELTA_X (50) + textwidth("No CIGARROS/DIA : "); co_2 = DELTA_X (50); cor = getcolor(); setcolor( bea_color[14] ); gprintf(co_2, li ,"HA QUANTOS ANOS ? : "); gprintf(co_2, li_1,"No CIGARROS/DIA : "); setcolor(cor); gprintf(co , li ,"%s", Paciente.tempfumo); gprintf(co_1, li_1,"%s", Paciente.cigardia); LEITURA('n',co , li , Paciente.tempfumo, 2, 1L, 99L); LEITURA('n',co_1, li_1, Paciente.cigardia, 2, 1L, 99L); } else if (pertence(Paciente.Fumante[0],"Ee")) { cor = getcolor(); setcolor( bea_color[14] ); gprintf(co, li , "HA QUANTO TEMPO PAROU ? : "" ANOS "); gprintf(co, li_1, "QUANTOS ANOS FUMOU ? : "); gprintf(co, li_2, "No CIGARROS/DIA : "); setcolor(cor); co = DELTA_X (50) + textwidth("HA QUANTO TEMPO PAROU ? : "); co_1 = DELTA_X (50) + textwidth("QUANTOS ANOS FUMOU ? : "); co_2 = DELTA_X (50) + textwidth("No CIGARROS/DIA : "); gprintf(co , li , "%s", Paciente.deixfumoA ); gprintf(co_1, li_1, "%s", Paciente.tempfumo ); gprintf(co_2, li_2, "%s", Paciente.cigardia ); LEITURA('n', co , li , Paciente.deixfumoA, 2, 1L, 99L); LEITURA('n', co_1, li_1, Paciente.tempfumo , 2, 1L, 99L); LEITURA('n', co_2, li_2, Paciente.cigardia , 2, 1L, 99L); } /* ========= ENTRADA DOS DADOS RESTANTES ========= */ p_ch = "TOSSE OU EXPECTORACAO (S/N): "; co = DELTA_X ( 5) + textwidth (p_ch); li = DELTA_Y (45); do LeituraC( co, li, TosseOuExpec, "SsNn" ); while (*TosseOuExpec == '\0'); p_ch = "CONVENIO: "; co = DELTA_X ( 5) + textwidth (p_ch); li = DELTA_Y (50); Leitura ( co, li, institu, 45 ); p_ch = "PACIENTE INTERNO OU AMBULATORIAL ? (I/A): "; LeituraC ( DELTA_X ( 5) + textwidth (p_ch), DELTA_Y (55), IouA, "IiAa" ); p_ch = "JUSTIFICATIVA PARA O EXAME: "; co = DELTA_X ( 5) + textwidth (p_ch); li = DELTA_Y (60); Leitura ( co, li, justif, 32); p_ch = "MEDICO REQUISITANTE: "; co = DELTA_X ( 5) + textwidth (p_ch); li = DELTA_Y (65); Leitura( co, li, medico, 38 ); p_ch = "SERVICO REQUISITANTE: "; co = DELTA_X ( 5) + textwidth (p_ch); li = DELTA_Y (70); Leitura( co, li, servico, 38 ); p_ch = "PACIENTE COM ALGUM DIAGNOSTICO DE DOENCA PULMONAR ? (S/N): "; LeituraC( DELTA_X ( 5) + textwidth (p_ch), DELTA_Y (75), temdiag, "SsNn" ); if (pertence(temdiag[0], "Ss" )) { cor = getcolor(); setcolor(bea_color[14]); p_ch = "DIAGNOSTICO: "; gprintf( DELTA_X ( 5), DELTA_Y (80), p_ch ); setcolor(cor); Leitura( DELTA_X ( 5) + textwidth (p_ch), DELTA_Y (80), diagnost, 30 ); } else { ApagaWord( DELTA_X ( 5), DELTA_Y (80), 45 ); } cor = getcolor(); setcolor(bea_color[14]); p_ch = "CIRURGIA PREVISTA - ESTIMATIVA DO RISCO CIRURGICO ? (S/N): "; gprintf( DELTA_X ( 5), DELTA_Y (85), p_ch ); setcolor(cor); LeituraC( DELTA_X ( 5) + textwidth (p_ch), DELTA_Y (85), RiscoCir, "SsNn" ); if ( (RiscoCir[0] == 'N') || (RiscoCir[0] == 'n') ) *RiscoCir = NULL; if ( *RiscoCir != NULL ) { cor = getcolor(); setcolor (bea_color[14]); p_ch = "CIRURGIA: (1 - ABDOMINAL ALTA 2 - TORACICA 3 - OUTRA): "; gprintf( DELTA_X ( 5), DELTA_Y (90), p_ch ); setcolor (cor); LeituraC( DELTA_X ( 5) + textwidth (p_ch), DELTA_Y (90), RiscoCir, "123" ); } else { ApagaWord( DELTA_X ( 5), DELTA_Y (90), 75 ); ApagaWord( DELTA_X ( 5), DELTA_Y (95), 18 ); } Resposta[0] = 'S'; Resposta[1] = NULL; cor = getcolor(); setcolor (bea_color[12]); p_ch = "Dados Corretos ? (S/N) "; co = DELTA_X(50) - (textwidth(p_ch))/2; co_1 = DELTA_X(50) + (textwidth(p_ch))/2; li = DELTA_Y(95); outtextxy( co, li, p_ch ); setcolor (cor); LeituraC( co_1, li, Resposta, "SsNn"); ApagaWord( co, li, 25 ); } while ( pertence(*Resposta,"Nn") ); CalculaCVteorico(); CalculaVVMteorico(); CalculaFLUXteorico(); DadosPacienteOk = TRUE; if (novopac) ZeraProvas(); } /* End of DadosPaciente() */
int main() //int main (int argc, char *argv[]) { int var = 0, variancia = 0, contador=4, soma, PP, LT=2; double media, estoque_minimo, desvio_padrao, ponto_ressuprimento; FILE *fp, *arquivo, *mestre; LISTA lista; /*if(argc!=5) { printf("Falta um arquivo. \n"); exit(1); }*/ fp = fopen("Relatorio.txt","w"); printf("oi1"); fprintf(fp, "%s", __DATE__); fprintf(fp, "%s", "O período de referência utlizado foi 1."); printf("oi2"); mestre = fopen("Arquivo_Mestre1", "r"); printf("oi3"); Leitura (mestre, lista); printf("oi"); soma = Retorna_soma_e_contador (lista ); printf("oi"); media = Calculando_a_media (lista, soma, contador); printf("oi"); desvio_padrao = Calculando_o_desvio_padrao (lista, media, contador); printf("oi"); estoque_minimo = Estoque_minimo (desvio_padrao, LT); printf("oi"); ponto_ressuprimento = Ponto_de_ressuprimento(media, LT, estoque_minimo); fprintf (fp, "%d", lista.cdg); fprintf (fp, "%s", lista.desc); fprintf (fp, "%d", lista.ext); fprintf (fp, "%d", lista.pdd); fprintf(fp, "%d", estoque_minimo); if (estoque_minimo > ponto_ressuprimento) { fprintf(fp, "%s", "Nao renovar estoque!"); } else { fprintf(fp, "%s", "Renovar estoque!"); } mestre = fopen("Arquivo_Mestre2", "r"); Leitura (mestre, lista); int soma2 = Retorna_soma_e_contador (lista); int media2 = Calculando_a_media (lista, soma, contador); int desvio_padrao2 = Calculando_o_desvio_padrao (lista, media, contador); int estoque_minimo2 = Estoque_minimo (desvio_padrao, LT); int ponto_ressuprimento2 = Ponto_de_ressuprimento(media, LT, estoque_minimo); fprintf (fp, "%d", lista.cdg); fprintf (fp, "%s", lista.desc); fprintf (fp, "%d", lista.ext); fprintf (fp, "%d", lista.pdd); fprintf(fp, "%d", estoque_minimo2); if (estoque_minimo2 > ponto_ressuprimento2) { fprintf(fp, "%s", "Não renovar estoque!"); } else { fprintf(fp, "%s", "Renovar estoque!"); } mestre = fopen("Arquivo_Mestre3", "r"); Leitura (mestre, lista); int soma3 = Retorna_soma_e_contador (lista); int media3 = Calculando_a_media (lista, soma, contador); int desvio_padrao3 = Calculando_o_desvio_padrao (lista, media, contador); int estoque_minimo3 = Estoque_minimo (desvio_padrao, LT); int ponto_ressuprimento3 = Ponto_de_ressuprimento(media, LT, estoque_minimo); fprintf (fp, "%s", lista.cdg); fprintf (fp, "%s", lista.desc); fprintf (fp, "%d", lista.ext); fprintf (fp, "%d", lista.pdd); fprintf(fp, "%d", estoque_minimo3); if (estoque_minimo3 > ponto_ressuprimento3) { fprintf(fp, "%s","Não renovar estoque!"); } else { fprintf(fp, "%s", "Renovar estoque!"); } mestre = fopen("Arquivo_Mestre4", "r"); Leitura (mestre, lista); int soma4 = Retorna_soma_e_contador (lista); int media4 = Calculando_a_media (lista, soma, contador); int desvio_padrao4 = Calculando_o_desvio_padrao (lista, media, contador); int estoque_minimo4 = Estoque_minimo (desvio_padrao, LT); int ponto_ressuprimento4 = Ponto_de_ressuprimento(media, LT, estoque_minimo); fprintf (fp, "%s", lista.cdg); fprintf (fp, "%s", lista.desc); fprintf (fp, "%d", lista.ext); fprintf (fp, "%d", lista.pdd); fprintf(fp, "%d", estoque_minimo4); if (estoque_minimo4 > ponto_ressuprimento4) { fprintf(fp, "%s", "Não renovar estoque!"); } else { fprintf(fp, "%s", "Renovar estoque!"); } }