Estou começando a trabalhar com a linguagem C a pouco tempo e pra variar tenho um trabalho para fazer, contudo, não estou conseguindo fazer com que os dados quando digito na tela de cadastro de paciente fique registrado para a impressão.
Até sei que tem que usar VETOR para armazenamento de mais de um cadastro de paciente por exemplo, mas não estou conseguindo.
Pergunta
maciel.rs
Olá pessoal.
Estou começando a trabalhar com a linguagem C a pouco tempo e pra variar tenho um trabalho para fazer, contudo, não estou conseguindo fazer com que os dados quando digito na tela de cadastro de paciente fique registrado para a impressão.
Até sei que tem que usar VETOR para armazenamento de mais de um cadastro de paciente por exemplo, mas não estou conseguindo.
Alguém poderia me dar uma ajuda.
Segue abaixo a programa citado.
Valeu.
#include <stdio.h>
#include <stdlib.h>
int opcao,opc,opc_imprimir,opcao_imprimir;
int menu (void)
{
printf ("\n\t\t\tSOLAR CLINICA MEDICA LTDA\n\n\n");
printf ("\n\n\tESCOLHA A OPCAO:\n\n");
printf ("\t(1)...FICHA DO PACIENTE\n");
printf ("\t(2)...REGISTRO DE CONSULTA\n");
printf ("\t(3)...IMPRIMIR\n\n");
printf ("\n\t(4)...SAIR\n\n");
scanf("%d",&opc);
system("cls");
return(opc);
}
int menu_imprimir (void)
{
printf ("\n\t\t\tSOLAR CLINICA MEDICA LTDA\n\n\n");
printf ("\n\n\tESCOLHA A OPCAO:\n\n");
printf ("\t(1)...FICHA DO PACIENTE\n");
printf ("\t(2)...REGISTRO DE CONSULTA\n\n");
printf ("\t(3)...SAIR\n\n");
scanf("%d",&opc_imprimir);
system("cls");
return(opc_imprimir);
}
struct cad_paciente
{
int matricula;
char nome[100];
char endereco_pac[150];
char fone_pac[20];
char sexo[10];
char data_nasc[10];
int cod_convenio;
char nome_convenio[20];
char categoria_pac[10];
char medico_preferencia[100];
};
struct reg_consult
{
int nro_registro;
char data[10];
char hora[10];
char especialidade[50];
char paciente[100];
char endereco_cons[150];
char fone_cons[15];
int med_matricula;
char nome_medico[100];
char convenio[50];
char categoria_cons[30];
float preço;
};
void imprimir_paciente (struct cad_paciente aux)
{
printf("SOLAR CLINICA MEDICA LTDA\t\t\t\t");
printf("FICHA DE PACIENTE\n\n\n\n");
printf("MATRICULA:%d\n\n",aux.matricula);
printf("NOME:%s\n\n",aux.nome);
printf("ENDERECO:%s\n\n",aux.endereco_pac);
printf("TELEFONE:%s\n\n",aux.fone_pac);
printf("SEXO:%s\n\n",aux.sexo);
printf("DATA NASCIMENTO:%s\n\n",aux.data_nasc);
printf("COD CONVENIO:%d\n\n",aux.cod_convenio);
printf("NOME CONVENIO:%s\n\n",aux.nome_convenio);
printf("CATEGORIA:%s\n\n",aux.categoria_pac);
printf("MEDICO PREFERENCIA:%s\n\n\n",aux.medico_preferencia);
printf("\t\t\t\tPRONTUARIO\n\n");
printf("DATA\t");
printf("HORA\t");
printf("\t\tANOTACAO\t\t");
printf("MATRICULA\t");
printf("RUBRICA\n\n\n");
system("PAUSE");
system("cls");
}
void imprimir_registro (struct reg_consult aux1)
{
printf("SOLAR CLINICA MEDICA LTDA\t\t\t\t");
printf("REGISTRO DE CONSULTA\n\n\n\n");
printf("NRO REGISTRO:%d\n\n",aux1.nro_registro);
printf("DATA:%s\n\n",aux1.data);
printf("HORA:%s\n\n",aux1.hora);
printf("PACIENTE:%s\n\n",aux1.paciente);
printf("ENDERECO:%s\n\n",aux1.endereco_cons);
printf("TELEFONE:%s\n\n",aux1.fone_cons);
printf("MATRICULA:%d\n\n",aux1.med_matricula);
printf("NOME MEDICO:%s\n\n",aux1.nome_medico);
printf("CONVENIO:%s\n\n",aux1.convenio);
printf("CATEGORIA:%s\n\n",aux1.categoria_cons);
printf("VALOR CONSULTA:%f\n\n",aux1.preço);
system("PAUSE");
system("cls");
}
int main (void)
{
opcao=menu();
while(opcao <4)
{
if (opc==1)
{
struct cad_paciente paciente;
printf("SOLAR CLINICA MEDICA LTDA\n\n\n\n");
printf("\n\t\tCADASTRO DE PACIENTES\n\n\n");
printf("MATRICULA:");
scanf("%d",&paciente.matricula);
printf("NOME:");
scanf("%s",&paciente.nome);
gets(&paciente.nome);
printf("ENDERECO:");
scanf("%s",&paciente.endereco_pac);
gets(&paciente.endereco_pac);
printf("TELEFONE:");
scanf("%s",&paciente.fone_pac);
gets(&paciente.fone_pac);
printf("SEXO:");
scanf("%s",&paciente.sexo);
gets(&paciente.sexo);
printf("DATA NASCIMENTO:");
scanf("%s",&paciente.data_nasc);
gets(&paciente.data_nasc);
printf("COD CONVENIO:");
scanf("%s",&paciente.nome_convenio);
gets(&paciente.nome_convenio);
printf("CATEGORIA:");
scanf("%s",&paciente.categoria_pac);
gets(&paciente.categoria_pac);
printf("MEDICO DE PREFERENCIA:");
scanf("%s",&paciente.medico_preferencia);
gets(&paciente.medico_preferencia);
system("cls");
opcao=menu();
}
else
if (opc==2)
{
struct reg_consult consulta;
printf("SOLAR CLINICA MEDICA LTDA\n\n\n\n");
printf("\t\t\tREGISTRO DE CONSULTA\n\n\n");
printf("NRO REGISTRO:");
scanf("%d",&consulta.nro_registro);
printf("DATA:");
scanf("%d",&consulta.data);
printf("HORA:");
scanf("%d",&consulta.hora);
printf("ESPECIALIDADE:");
scanf("%s",&consulta.especialidade);
gets(&consulta.especialidade);
printf("PACIENTE:");
scanf("%s",&consulta.paciente);
gets(&consulta.paciente);
printf("ENDERECO:");
scanf("%s",&consulta.endereco_cons);
gets(&consulta.endereco_cons);
printf("TELEFONE:");
scanf("%d",&consulta.fone_cons);
printf("MATRICULA MEDICO:");
scanf("%d",&consulta.med_matricula);
printf("NOME MEDICO:");
scanf("%s",&consulta.nome_medico);
gets(&consulta.nome_medico);
printf("CONVENIO:");
scanf("%s",&consulta.convenio);
gets(&consulta.convenio);
printf("CATEGORIA:");
scanf("%s",&consulta.categoria_cons);
printf("preço:");
scanf("%f",&consulta.preço);
system("cls");
opcao=menu();
}
else
if (opc==3)
{
opcao_imprimir=menu_imprimir();
while(opcao_imprimir <3)
{
if (opc_imprimir==1)
{
struct cad_paciente cadastro;
imprimir_paciente (cadastro);
opcao_imprimir=menu_imprimir();
}
else
if (opc_imprimir==2)
{
struct reg_consult consulta;
imprimir_registro (consulta);
opcao_imprimir=menu_imprimir();
}
if (opc_imprimir==3)
{
opcao=menu();
}
}
}
if (opc==4)
{
printf("\t\tPROGRAMA ENCERRADO\n\n");
}
}
system("PAUSE");
return 0;
}
Editado por maciel.rsLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.