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; }