Ir ao conteúdo
  • Cadastre-se
JVitorGL

Duvida em Linguagem C - Delimitar caracteres.

Recommended Posts

Caros, preciso delimitar os campos "Horário de Inicio" e "Horário de Fim".

Neste campo só podem ser inseridos:

 

Horas: 00 à 23.

Minutos: 0 a 59.

 

*Se o usuário digitar qualquer caractere ele pega.

 

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
#define QUANTIDADE 5
 
int inicioLista = 0;
int indice;
int fimLista = -1;
 
 
struct DiaHoraFunciona
{
    char DiasdeFuncionamento[22];
    char HorarioInicio[6];
    char HorarioFim [6];
};
 
struct restaurante //identificador unico
{
    char Nome[30];
    char Cnpj[15];
    char Categoria[30];
    char LotacaoMaxima[4];
    char NomedaRua [45];
    char Bairro [20];
    char Cep[15];
    char CodArea[4];
    char Telefone[10];
    char Fax[10];
    struct DiaHoraFunciona dias;
 
};
struct restaurante listadecadastro[QUANTIDADE];
 
 
char apresentarMenu()
{
    char escolha = ' ';
 
    printf("            CADASTRO DE RESTAURANTES\n");
    printf("______________________________________________\n");
    printf("\nEscolha uma das opções:\n");
    printf("\n(1) - Cadastrar Restaurante\n");
    printf("\n(2) - Apresentar Cadastro's' de Restaurante's'\n");
    printf("\n(3) - Buscar Cadastro de Restaurante\n ");
    printf("\n(4) - Alterar Dados do Restaurante\n ");
    printf("\n(5) - Excluir Cadastro de Restaurante\n");
    printf("\n(6) - Gravar Cadastro's' em Arquivo\n");
    printf("\n(7) - Carregar Cadastro's' do Arquivo\n");
    printf("\n(8) - Sair do programa\n\n");
    escolha = getch();
    return(escolha);
}
 
 
void inserirCadastro()
{
    // (1) inserção de valores na lista
    system("cls");
 
    printf("                   CADASTRAR RESTAURANTE\n");
    printf("___________________________________________________________\n");
    char opcao = ' ';
    do
    {
        if((fimLista+1)<QUANTIDADE)
        {
            printf("\nCADASTRO %d \n", fimLista+2);
            printf("\nNome do Restaurante: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].Nome);
            fflush(stdin);
 
            printf("\nCNPJ (Somente Numeros): ");
            scanf("%14[^\n]",listadecadastro[fimLista+1].Cnpj);
            fflush(stdin);
 
            printf("\nCategoria: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].Categoria);
            fflush(stdin);
            printf("\nLotacao Maxima: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].LotacaoMaxima);
            fflush(stdin);
            printf("\nNome da Rua: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].NomedaRua);
            fflush(stdin);
            printf("\nBairro: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].Bairro);
            fflush(stdin);
            printf("\nCEP: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].Cep);
            fflush(stdin);
            printf("\nCodigo da Area: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].CodArea);
            fflush(stdin);
            printf("\nTelefone: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].Telefone);
            fflush(stdin);
            printf("\nFax: ");
            scanf("%[^\n]",listadecadastro[fimLista+1].Fax);
            fflush(stdin);
            printf("\nDias de Funcionamento: \t");
            scanf("%[^\n]",listadecadastro[fimLista+1].dias.DiasdeFuncionamento);
            fflush(stdin);
            printf("\nHorario de Inicio (formato HH:MM): \t");
            scanf("%s",listadecadastro[fimLista+1].dias.HorarioInicio);
            fflush(stdin);
            printf("\nHorario de Fim (formato HH:MM): \t");
            scanf("%s",listadecadastro[fimLista+1].dias.HorarioFim );
            fflush(stdin);
 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você precisa fazer o tratamento dos dados lidos.

 

Como está em um vetor de char, basta comparar cada cada posição, pra saber se condiz com o esperado.

Caso contrário, peça para ler novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×