Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Pedroalves

ficheiros

Recommended Posts

na parte na gravação dos ficheiros gostaria que o ficheiro fica-se o seguinte

consultas_02_28.txt

ou seja queria criar varios ficheiros conforme a data e dia

segue-se o codigo

 if ((fp = fopen(FICHEIRO_consultas, "a")) != NULL) 
       {
           time(&data);
           // escreve linha no ficheiro
           fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|DIA:%d MES:%d ANO:%d                                                                                          |\n",dia,mes,ano);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|CODIGO DO MEDICO:%d",MEDICOS[posicao].Codigo_med);
		fprintf(fp," NOME DO MEDICO: %s                                                                         |\n",nomemedico);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"\tHORA: %d:%d SALA: %s\n",hora,minutos,MEDICOS[posicao].sala);
		fprintf(fp,"\tPACIENTE\n");
		fprintf(fp,"\t\tCODIGO:%d\n",PACIENTE[posicao].codigo_pac);
		fprintf(fp,"\t\tNOME: %s\n",nomepaciente);
		fprintf(fp,"\t\tTELEFONE:%d\n",PACIENTE[posicao].telefone);
		fprintf(fp,"\t\tASSISTENCIA MEDICA:%s\n",PACIENTE[posicao].Assistencia);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"DATA DO REGISTO: %s",asctime(localtime(&data)));
           fclose(fp);     // fecha ficheiro
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se você tem a data como um inteiro enttão só precisa converter ela para string ( ou char*).

 

itoa(numero, buffer, 10);

 

onde numero é o valor do inteiro que quer converter

buffer é o array de chars onde quer guardar a conversão

10 é a base numérica a ser utilizada, no caso sistema decimal.

 

#include <stdio.h>
#include <stdlib.h>

main()
{

   int dia = 18;
   char str[4];
   itoa(dia, str, 10);
   printf("%s\n",str);
   system ("pause");
}

 

Agora que você já sabe converter um int em char, você tem que concatenar as strings para formar a saída que você quer. Pesquise por strcat e caso tenha duvidas poste de novo.

Compartilhar este post


Link para o post
Compartilhar em outros sites
if ((fp = fopen(FICHEIRO_consultas, "a")) != NULL) //problema aqui não estou a consguir por os ficheiros agravar por dia e mes
       {
           time(&data);
           // escreve linha no ficheiro
           fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|DIA:%d MES:%d ANO:%d                                                                                          |\n",dia,mes,ano);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|CODIGO DO MEDICO:%d",MEDICOS[posicao].Codigo_med);
		fprintf(fp," NOME DO MEDICO: %s                                                                         |\n",nomemedico);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"\tHORA: %d:%d SALA: %s\n",hora,minutos,MEDICOS[posicao].sala);
		fprintf(fp,"\tPACIENTE\n");
		fprintf(fp,"\t\tCODIGO:%d\n",PACIENTE[posicao].codigo_pac);
		fprintf(fp,"\t\tNOME: %s\n",nomepaciente);
		fprintf(fp,"\t\tTELEFONE:%d\n",PACIENTE[posicao].telefone);
		fprintf(fp,"\t\tASSISTENCIA MEDICA:%s\n",PACIENTE[posicao].Assistencia);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"DATA DO REGISTO: %s",asctime(localtime(&data)));
           fclose(fp);     // fecha ficheiro
       }

Compartilhar este post


Link para o post
Compartilhar em outros sites

FICHEIRO_consultas tem que ser uma string com o nome do documento concatenado com a data.

Quando quiser salvar algum dado em um documento com a data atual é só pegar a data atual e concatenar com o nome que quer para o documento.

Quando quiser pesquisar um documento, peça para o usuario inserir a data, faça a concatenação com o nome e mande abrir o doc.

 

Edit: http://www.cplusplus.com/reference/clibrary/ctime/ctime/

Com as funções disponíveis em time.h nem precisaria usar itoa para converter. Já existem funções que fazem isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue-se o codigo

void novaconsulta()
{
   int posicao;
   char nomemedico[200];
char nomepaciente[200];
int Codigo_med;
int codigo_pac;
int posicaos;
   char opcao;
char opcaos;
int continuar;
int mes;
int dia;

int Hora;
int Minutos;
char dia1[10];
char mes2[10];
char data1[10];

float sala;
   FILE *fp;
   time_t data;  // data


   system("cls");  // limpar ecra

   // obter dados do artigo
   printf("NOME DO MEDICO:\n");
   gets(nomemedico);
   fflush(stdin);

   // verificar se codigo existe?
   posicao=procuramedico(nomemedico); 
   if (posicao == -1)
   {
       printf("\n Nome do Medico nao existe.\n");
       printf("INSIRA NOVAMENTE O NOME DO MEDICO");
       gets(nomemedico);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado
   }
printf("NOME DO PACIENTE\n");
gets(nomepaciente);
fflush(stdin);
posicaos=  procurapaciente(nomepaciente); 
  if(posicaos == -1)
   {
       printf("\n Nome PACIENTE nao existe.\n");
       printf("Prima ENTER para continuar.");
       gets(nomepaciente);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado
   }
   else
   {
       printf("\n");
      system("cls"); 
   printf("\n");
       printf("\t\tMARCACOES\n");
       printf("\t DIA MES ANO\n");
	do{
	scanf("%d",&dia);
	if(dia>31)
	printf("ERRRO");
	else
	scanf("%d",&mes);
	if(mes>12)
	printf("ERRRO\n");
	itoa(dia, dia1, 10);
	    itoa(mes,mes2,10);
		//strcat(dia1,strcat(mes2,data1));
	// limpa o buffer do teclad
	}while(dia>31||mes>12);
		printf("\n");
	printf("HORA\n");
	scanf("%d",&Hora);
	if(Hora>=24){
	printf("ERRO\n");
	}
	else
	printf("MINUTOS\n");
	scanf("%d",&Minutos);
	if(Minutos>=60){
	printf("ERRO\n");


	}
	strcat(dia1,mes2);
	strcat(mes2,data1);
	  if (pesquisaconsulta(Hora,Minutos) != -1){

       printf("\n DATA JA ESTA MARCADA.\n");
       printf("PRIMA ENTER PARA CONTINUAR.");
       scanf("%c", &opcao);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado  
       // registar movimento no ficheiro de stocks
	  }

	  else if((fp = fopen(mes2, "a")) != NULL)
       {
           time(&data);
           // escreve linha no ficheiro
           fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|DIA:%d MES:%d                                                                                          |\n",dia,mes);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|CODIGO DO MEDICO:%d",MEDICOS[posicao].Codigo_med);
		fprintf(fp," NOME DO MEDICO: %s                                                                         |\n",nomemedico);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"\tHORA: %d:%d SALA: %s\n",Hora,Minutos,MEDICOS[posicao].sala);
		fprintf(fp,"\tPACIENTE\n");
		fprintf(fp,"\t\tCODIGO:%d\n",PACIENTE[posicao].codigo_pac);
		fprintf(fp,"\t\tNOME: %s\n",nomepaciente);
		fprintf(fp,"\t\tTELEFONE:%d\n",PACIENTE[posicao].telefone);
		fprintf(fp,"\t\tASSISTENCIA MEDICA:%s\n",PACIENTE[posicao].Assistencia);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"DATA DO REGISTO: %s",asctime(localtime(&data)));
           fclose(fp);     // fecha ficheiro
       }
     /*  printf("QUER EXPORTAR OS DADOS PARA fICHEIRO XML(SIM/NAO)\n");
       scanf("%c", &opcao);    // le opcao
       fflush(stdin);
	// limpa o buffer do teclado
   switch(opcao)
       {
         case 'S':
          case 's':
          if ((fp = fopen("consultas.xml", "a")) != NULL)
       {
		 time(&data);
           // escreve linha no ficheiro
           fprintf(fp, "<xml>\n <agenda mes=%d dia=%d>\n <medico codigo %d nome do medico %s>");
           fclose(fp);     // fecha ficheiro
       }
              break;
		case 'N':
          case 'n':
              printf("OLa");
              break;
	   default:
               printf("\n\nOPCAO ERRADA: PRIMA ENTER PARA CONTINUAR!\n");
               scanf("%c", &opcao);
               fflush(stdin);
       } 	
*/
}

eu quero que grave no ficheiro os dados que foram digitados no dia e o mes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu entendi que você pegaria a data direto do sistema, sem pedir para o usuario. Se o usuario quem vai digitar a data, você pode ler como string direto ( se precisar desses valores para algum calculo fique com int mesmo).

Mas vou colocar um exemplo aqui, trabalhando com int. Vá na pasta do projeto e veja o nome do arquivo gerado.

 

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main()
{

   char filename[30] = "Consulta_";
   char buffer[4];
   int valor;

   printf("digite o dia: ");
   scanf("%d",&valor);
   itoa(valor, buffer, 10);
   strcat(filename,buffer);
   strcat(filename,"_");

   printf("digite o mes: ");
   scanf("%d",&valor);
   itoa(valor, buffer, 10);
   strcat(filename,buffer);
   strcat(filename,".txt");

   printf("Arquivo a ser gerado: %s\n", filename);

   FILE *file = fopen(filename,"a");
   fclose(file);



   system ("pause");
   return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

não sei pk mas este if

(pesquisaconsulta(Hora1)!=-1)// este if
        {
	 printf("\n DATA JA ESTA MARCADA.\n");
	 }

segue-se o codigo

 

void novaconsulta()
{
char consultas[30]="Consulta_";
   int posicao;
   char nomemedico[200];
char nomepaciente[200];
int Codigo_med;
int codigo_pac;
int posicaos;
int posicao2;
int mes;
int dia;
int ano;
int Hora;
int Minutos;
char data1[4];
char ano1[4];
char Hora1[20];
int size;
char minutos[20];
   FILE *fp;
   time_t data;  // data


   system("cls");  // limpar ecra

   // obter dados do artigo
   printf("NOME DO MEDICO:\n");
   gets(nomemedico);
   fflush(stdin);

   // verificar se codigo existe?
   posicao=procuramedico(nomemedico); 
   if (posicao == -1)
   {
       printf("\n Nome do Medico nao existe.\n");
       printf("INSIRA NOVAMENTE O NOME DO MEDICO");
       gets(nomemedico);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado
   }
printf("NOME DO PACIENTE\n");
gets(nomepaciente);
fflush(stdin);
posicaos=  procurapaciente(nomepaciente); 
  if(posicaos == -1)
   {
       printf("\n Nome PACIENTE nao existe.\n");
       printf("Prima ENTER para continuar.");
       gets(nomepaciente);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado
   }
   else
       printf("\n");
      system("cls"); 
   printf("\n");
       printf("\t\tMARCACOES\n");

	do{
	printf("\t DIA\n");
	scanf("%d",&dia);
	itoa(dia,data1, 10);
	if(dia>31||dia<1)
		printf("ERRRO");
	else

	strcat(consultas,data1);
   strcat(consultas,"_");
	printf("\t MES\n");
	scanf("%d",&mes);
	 itoa(mes,data1,10);
	if(mes>12||mes<1)
		printf("ERRRO\n");		
	else
		strcat(consultas,data1);
		strcat(consultas,".txt");
		printf("\t ANO\n");
		scanf("%d",&ano);
		size=strlen(ano1);
		if(size!=14)
		printf("%dERRO\n",size);
	// limpa o buffer do teclad
	}while(dia>31||mes>12);
		printf("\n");
	printf("HORA\n");
	scanf("%d",&Hora);
	itoa(Hora,Hora1,10);
	if(Hora>=24){
	printf("ERRO\n");
	}
	else
	printf("MINUTOS\n");
	scanf("%d",&Minutos);
	itoa(Minutos,minutos,10);

	if(Minutos>=60){
	printf("ERRO\n");
	}
	else
   strcat(Hora1,":");
   strcat(Hora1,minutos);
printf("%s",Hora1);

 if(pesquisaconsulta(Hora1)!=-1)// este if
        {
	 printf("\n DATA JA ESTA MARCADA.\n");
	 }
 else

	if((fp = fopen(consultas, "a")) != NULL)
       {
           time(&data);
           // escreve linha no ficheiro
           fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|DIA:%d MES:%d ANO %d                                                                                   |\n",dia,mes,ano);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|CODIGO DO MEDICO:%d",MEDICOS[posicao].Codigo_med);
		fprintf(fp," NOME DO MEDICO: %s                                                                         |\n",nomemedico);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"\tHORA: %d:%d SALA: %s\n",Hora,Minutos,MEDICOS[posicao].sala);
		fprintf(fp,"\tPACIENTE\n");
		fprintf(fp,"\t\tCODIGO:%d\n",PACIENTE[posicao].codigo_pac);
		fprintf(fp,"\t\tNOME: %s\n",nomepaciente);
		fprintf(fp,"\t\tTELEFONE:%d\n",PACIENTE[posicao].telefone);
		fprintf(fp,"\t\tASSISTENCIA MEDICA:%s\n",PACIENTE[posicao].Assistencia);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"DATA DO REGISTO: %s",asctime(localtime(&data)));
		fprintf(fp,"\n");
		fprintf(fp,"\n");
           fclose(fp);     // fecha ficheiro
       }
 }
char pesquisaconsulta(char Hora1[])
{
   int i;
   int encontrei = 0;

   // procura o codigo ate encontrar ou ate ao final do vector
   for (i = 0; (i < consulta) && (encontrei == 0); i++)
   {
	if (strcmp(CONSULTAS[i].Hora1,Hora1)==0)

       {
           encontrei = 1;
       }

}
   if (encontrei == 1) return (i-1);
   else return -1;                    
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

a duvida pk que o if não me esta a funcionar

eu ponho uma data que supostamente ja foi digitada so que ele não diz que existe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para que eu possa testar precisaria do código completo, mas o que você pode fazer ara verificar é colocar uns printf's dentro do for e ver o que ele está comparando. Um print dentro do if pra ver se ele chega a entrar lá... essas coisas. Se sua IDE possui um debbuger melhor, senão vai com os printf's mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

segue-se o codigo todo do ficheiros da consulta.c

#include <stdio.h>
#include <stdlib.h>
#include <string.h> // função para strings
#include <conio.h>
#include <time.h>
#include <math.h>
#include "Pacientes.h"
#include "medicos.h"

#define consulta 100

typedef struct{
int Codigo_med;
int codigo_pac;
int codreceitas;
char data[2];
char Hora1[20];
}t_consultas;


t_consultas CONSULTAS[consulta];
int n_consultas=0;
void menuconsultas();
void listanomemedico(void);
void opcaoconsulta();
void printbiblioteca(int posicao);
void printmedico(int posicaos);
char procurapaciente(char nome[]);
char pesquisaconsulta(char Hora1[]);
char procuraconsultas(char data);
//void ordenarCodigo(i);

void menuconsultas(){
  system("cls");


printf("\t\t*******************************************************\n");
printf("\t\t*                MENU DAS CONSULTAS                   *\n");
   printf("\t\t*******************************************************\n");  
   printf("\t\t*            (A)    CRIA CONSULTA                     *\n");
   printf("\t\t*******************************************************\n"); 
   printf("\t\t*            (B)    ALTERA CONSULTA                   *\n");
   printf("\t\t*******************************************************\n");
printf("\t\t*            (C)    DESMARCA CONSULTA                 *\n");
   printf("\t\t*******************************************************\n");
   printf("\t\t*            (D)    LISTA TODOS CONSULTA              *\n");
   printf("\t\t*******************************************************\n");
   printf("\t\t*            (E)    PROCURA CONSULTA                  *\n");
   printf("\t\t*******************************************************\n");
printf("\t\t*            (Q)         VOLTAR                       *\n");
printf("\t\t*******************************************************\n");
   printf("\t\t*                        OPCAO:                       *\n");
printf("\t\t*******************************************************\n");
   printf("\t\t*          @SOFTWARE CRIADO POR PEDRO ALVES           *\n");
   printf("\t\t*          @SOFTWARE CRIADO POR SERGIO DANTAS         *\n");
printf("\t\t*******************************************************\n");
opcaoconsulta();

}

char procuraconsultas(char data[])
{
   int i;
   int encontrei = 0;

   // procura o codigo ate encontrar ou ate ao final do vector
   for (i = 0; (i <n_consultas) && (encontrei == 0); i++)
   {
	if (strcmp(CONSULTAS[i].data,data)==0)
       {
           encontrei = 1;
       }

   }

   if (encontrei == 1) return (i-1);
   else return -1;                    
}
/*void ordenarCodigo(char data){
int i,j,min=0;
int troca=0,aux;
for(i<0;i<consulta && troca==0;i++){
troca=1;
for(j=0;j<consulta-1;j++){
if(MEDICOS[min].Codigo_med>MEDICOS[j].Codigo_med)
	min=j;

troca=0;
}
}

} 
*/
char pesquisaconsulta(char Hora1[])
{
   int i;
   int encontrei = 0;

   // procura o codigo ate encontrar ou ate ao final do vector
   for (i = 0; (i < n_consultas) && (encontrei == 0); i++)
   {
	printf("%s",Hora1);
	if (strcmp(CONSULTAS[i].Hora1,Hora1)==0)

       {
           encontrei = 1;
       }

}
   if (encontrei == 1) return (i-1);
   else return -1;                    
}
void novaconsulta()
{
char consultas[30]="Consulta_";
   int posicao;
   char nomemedico[200];
char nomepaciente[200];
int Codigo_med;
int codigo_pac;
int posicaos;
int posicao2;
int mes;
int dia;
int ano;
int Hora;
int Minutos;
char data1[4];
char ano1[4];
char Hora1[20];
int size;
char minutos[20];
   FILE *fp;
   time_t data;  // data


   system("cls");  // limpar ecra

   // obter dados do artigo
   printf("NOME DO MEDICO:\n");
   gets(nomemedico);
   fflush(stdin);

   // verificar se codigo existe?
   posicao=procuramedico(nomemedico); 
   if (posicao == -1)
   {
       printf("\n Nome do Medico nao existe.\n");
       printf("INSIRA NOVAMENTE O NOME DO MEDICO");
       gets(nomemedico);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado
   }
printf("NOME DO PACIENTE\n");
gets(nomepaciente);
fflush(stdin);
posicaos=  procurapaciente(nomepaciente); 
  if(posicaos == -1)
   {
       printf("\n Nome PACIENTE nao existe.\n");
       printf("Prima ENTER para continuar.");
       gets(nomepaciente);    // le opcao
       fflush(stdin);          // limpa o buffer do teclado
   }
   else
       printf("\n");
      system("cls"); 
   printf("\n");
       printf("\t\tMARCACOES\n");

	do{
	printf("\t DIA\n");
	scanf("%d",&dia);
	itoa(dia,data1, 10);
	if(dia>31||dia<1)
		printf("ERRRO");
	else

	strcat(consultas,data1);
   strcat(consultas,"_");
	printf("\t MES\n");
	scanf("%d",&mes);
	 itoa(mes,data1,10);
	if(mes>12||mes<1)
		printf("ERRRO\n");		
	else
		strcat(consultas,data1);
		strcat(consultas,".txt");
		printf("\t ANO\n");
		scanf("%d",&ano);
		size=strlen(ano1);
		if(size!=14)
		printf("%dERRO\n",size);
	// limpa o buffer do teclad
	}while(dia>31||mes>12);
		printf("\n");
	printf("HORA\n");
	scanf("%d",&Hora);
	itoa(Hora,Hora1,10);
	if(Hora>=24){
	printf("ERRO\n");
	}
	else
	printf("MINUTOS\n");
	scanf("%d",&Minutos);
	itoa(Minutos,minutos,10);

	if(Minutos>=60){
	printf("ERRO\n");
	}
	else
   strcat(Hora1,":");
   strcat(Hora1,minutos);
printf("%s",Hora1);
 if(pesquisaconsulta(Hora1)!=-1)
        {
	 printf("\n DATA JA ESTA MARCADA.\n");
	  printf("INSIRA NOVAMENTE O NOME DO MEDICO");
       gets(Hora1);
	 }
 else

	if((fp = fopen(consultas, "a")) != NULL)
       {
           time(&data);
           // escreve linha no ficheiro
           fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|DIA:%d MES:%d ANO %d                                                                                   |\n",dia,mes,ano);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"|CODIGO DO MEDICO:%d",MEDICOS[posicao].Codigo_med);
		fprintf(fp," NOME DO MEDICO: %s                                                                         |\n",nomemedico);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"\tHORA: %d:%d SALA: %s\n",Hora,Minutos,MEDICOS[posicao].sala);
		fprintf(fp,"\tPACIENTE\n");
		fprintf(fp,"\t\tCODIGO:%d\n",PACIENTE[posicao].codigo_pac);
		fprintf(fp,"\t\tNOME: %s\n",nomepaciente);
		fprintf(fp,"\t\tTELEFONE:%d\n",PACIENTE[posicao].telefone);
		fprintf(fp,"\t\tASSISTENCIA MEDICA:%s\n",PACIENTE[posicao].Assistencia);
		fprintf(fp,"|________________________________________________________________________________________________________________|\n");
		fprintf(fp,"DATA DO REGISTO: %s",asctime(localtime(&data)));
		fprintf(fp,"\n");
		fprintf(fp,"\n");
           fclose(fp);     // fecha ficheiro
       }
 }

   void listaconsulta(void)
{ 
char consultas[30]="Consulta_";
int dia;
int mes;
char data[20];
char Dia[20];
char Mes[20];
int posicao;
char  opcao;

    //system("cls");  // limpar ecra
   system("cls");
   // obter dados do biblioteca
   printf("DIA:\n");
   scanf("%d",&dia);
itoa(dia,Dia,10);
printf("Mes:\n");
   scanf("%d",&mes);
itoa(mes,Mes,10);
strcat(Dia,Mes);
strcat(Mes,data);
posicao=procuraconsultas(data);

  if (posicao == -1)
   {
       printf("\tNAO EXISTE MARCACAO NESSE DATA\n");
  }

   else    // numero existe (alterar a biblioteca)
    // le opcao

   printf("FUNCIONOU");

   // verificar se codigo ja existe
}





  void opcaoconsulta(){
  char opcao;
  int continuar=1;

  do{
                 fflush(stdin);                // apresenta o menu principal
       scanf(" %c", &opcao);    // le opcao
       fflush(stdin);       // limpa o buffer do teclado

       switch(opcao)
       {
         case 'A':
          case 'a':
           novaconsulta();// cria um novo dado na biblioteca
              break;
          /*
	   case 'B':
          case 'b':
             alterarmedico(); //altera o dado pretendido na biblioteca
             break;  
           case 'c':
           case 'C':
              eliminamedico();//elimina o dado pretendido na biblioteca
               break;
*/
           case 'd':
           case 'D':
              listaconsulta(); // faz a listagem de um dado 1 a 1
               break; 
           /*case 'e':
           case 'E':
              listarmedido();// pesquisa o medico por nome
		   break;*/
		case 'q':
          case 'Q':
              continuar = 0;
              break;
	   default:
               printf("\n\nOPCAO ERRADA: PRIMA ENTER PARA CONTINUAR!\n");
               scanf("%c", &opcao);
               fflush(stdin);
       }
   } while(continuar != 0);  
    }




Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser mais especifico qnd diz:

não estou a descubri o erro

 

oq está "anormal" ?

 

e dica: não use fflush(stdin);

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.