Ir para conteúdo
Fórum Script Brasil
  • 0

Help - Vetor utilizando Registro


maciel.rs

Pergunta

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.rs
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Cara, se você precisa recuperar o Registro mesmo após o término do programa, você terá que gravar este em arquivo em disco (fopen, fwrite, fread, fseek, f*), existem muitas funções para tal.

Se você gravar em vetor, estará gravando em memória e isso emplica que só terá validade durante a execução do seu programa, caso seja o caso, a idéia básica é você ter um tipo de dados prédefinido por você (struct) ex: TRegistro, neste conterá os campos relevantes ao seu problema. Para criar vetor de um tipo de dados, a sintaxe é: <tipo de dados> var[TAM]; ex: TRegistro dados[10]; E então você poderá gravar suas informações em cada elemento desse array 0..10.

Espero ter ajudado! :}

Link para o comentário
Compartilhar em outros sites

  • 0
Cara, se você precisa recuperar o Registro mesmo após o término do programa, você terá que gravar este em arquivo em disco (fopen, fwrite, fread, fseek, f*), existem muitas funções para tal.

Se você gravar em vetor, estará gravando em memória e isso emplica que só terá validade durante a execução do seu programa, caso seja o caso, a idéia básica é você ter um tipo de dados prédefinido por você (struct) ex: TRegistro, neste conterá os campos relevantes ao seu problema. Para criar vetor de um tipo de dados, a sintaxe é: <tipo de dados> var[TAM]; ex: TRegistro dados[10]; E então você poderá gravar suas informações em cada elemento desse array 0..10.

Espero ter ajudado! :}

Na verdade necessito somente gravar em um vetor para demonstração de um trabalho, conforme solicitado pelo professor.

Contudo, não consigo fazer com que ele salve as informações para impressão na tela posteriormente dos dados digitados.

Onde devo colocar esta STRUCT e como fazer com que os dados sejam buscados para impressão.

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0
Na verdade necessito somente gravar em um vetor para demonstração de um trabalho, conforme solicitado pelo professor.

Contudo, não consigo fazer com que ele salve as informações para impressão na tela posteriormente dos dados digitados.

Onde devo colocar esta STRUCT e como fazer com que os dados sejam buscados para impressão.

Bom, você precisará declarar uma variável do tipo vetor cujos os tipos dos itens sejam do tipo da sua estrutura:

struct cad_paciente ListaPaciente[10];

assim, você poderá guardar cada valor informado na posição desejada.

a lógica que você vai usar, pode ser variada:

- definir um vetor de tamanho fixo e fazer um loop para ler x itens para o vetor, cada qual em uma posição;

- definir um vetor dinâmico e ir o aumentando a cada item incluso;

...

em algum lugar (variável), você pode controlar o número de itens em seu vetor e depois o utiliza num loop para listar os dados na tela.

é por aí...

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...