Ir ao conteúdo

Duvida em Linguagem C - Delimitar caracteres.


JVitorGL

Posts recomendados

Postado

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);
 
  • 2 semanas depois...
Postado

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.

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...