Ir ao conteúdo

Posts recomendados

Postado

Nesse programa que tô fazendo quando seleciono a opção 4 de Adicionar Remédio ele simplesmente não faz nada, e ignora os gets que tem na função já tentei usar o fflush(stdin) e mesmo assim continua pulando ou bugando mais ainda, alguem poderia dar uma ajuda por favor.

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <string.h>
#include <conio.h>
#include <time.h>

int main()
{
    setlocale(LC_ALL, "Portuguese");
    printf("--- FARMÁCIA UNP ---\n\n");
    int quantidade1 = 2,quantidadeControlados = 5,quantidadeLivres = 5,quantidadeAntibioticos = 5;
    int opcao,opcaoremed,op,i,k = 0;
    char numRegistro3 [20];
    char registros[5][20] =
    {
        "AGBDLCID",
        "HESOYAM"
    };
    char remediosControlados[10][20] =
    {
        "Remedio 1",
        "Remédio 2",
        "Remédio 3",
        "Remédio 4",
        "Remédio 5"
    };
    char remediosLivres[10][20] =
    {
        "Remedio 1",
        "Remédio 2",
        "Remédio 3",
        "Remédio 4",
        "Remédio 5"
    };
    char antibioticos[10][20] =
    {
        "Remedio 1",
        "Remédio 2",
        "Remédio 3",
        "Remédio 4",
        "Remédio 5"
    };
    do
    {

        printf("\n--- MENU ---\n1 - COMPRAR MEDICAMENTOS\n2 - VERIFICAR NÚMERO DO REGISTRO\n"
               "3 - ADICIONAR REGISTRO\n4 - ADICIONAR MEDICAMENTO\n5 - SAIR\nDigite sua opção: ");
        scanf("%d", &op);
        if (op == 1)
        {
            printf("\n1 - Medicamentos Controlados\n2 - Medicamentos Livre\n"
                   "3 - Antibióticos\n\n");
            printf("Escolha uma opção: ");
            scanf("%d", &opcao);
            if (opcao == 1)
            {
                //No espaço onde tem remédio escrevam o nome dos remédios!!
                for(i=0; i<quantidadeControlados; i++)
                {

                    printf("%d - ",i+1);
                    puts(remediosControlados[i]);
                }
                printf("Digite a opção:");
                scanf("%d", &opcaoremed);
                if (opcaoremed > 0 && opcao <= quantidadeControlados)
                {
                    k = 0;
                    printf("Digite o número do registro que tem na receita: \n");
                    scanf("%s", &numRegistro3);
                    //comparando o número digitado com o registro do médico
                    for(i=0; i<quantidade1; i++)
                    {


                        if (strcmpi(numRegistro3,registros[i]) == 0)
                        {

                            k++;
                        }
                    }
                    if (k > 0)
                    {
                        printf("Número do Registro Válido!!");
                    }
                    else
                    {
                        printf("Número do Registro Inválido");
                    }
                }

            }
            if (opcao == 2)
            {
                for(i=0; i<quantidadeLivres; i++)
                {
                    printf("%d - ",i+1);
                    puts(remediosLivres[i]);
                }
                scanf("%d", &opcaoremed);
                printf("Venda Concluída volte sempre!!\n");
            }
            if (opcao == 3)
            {
                for(i=0; i<quantidadeAntibioticos; i++)
                {
                    printf("%d - ",i+1);
                    puts(antibioticos[i]);
                }
                scanf("%d", &opcaoremed);
                printf("Venda Concluída volte sempre!!\n");

            }
        }
        if (op == 2)
        {
            k = 0;
            printf("Digite o registro que tem na receita: \n");
            scanf("%s", &numRegistro3);
            //comparando o número digitado com o registro do médico
            for(i=0; i<quantidade1; i++)
            {


                if (strcmpi(numRegistro3,registros[i]) == 0)
                {

                    k++;
                }
            }
            if (k > 0)
            {
                printf("Número do Registro Válido!!\n");
            }
            else
            {
                printf("Número do Registro Inválido!!\n");
            }
        }

        if (op == 3)
        {

            if (quantidade1 >= 5)
            {
                printf("Lista de Registros cheia!!\n");
            }
            else
            {
                fflush(stdin);
                printf("Digite o número do registro que deseja adicionar: ");
                gets(registros[quantidade1]);

                quantidade1++;
            }


        }
        if (op == 4)
        {

            printf("1 - Inserir Medicamento Controlado\n2 - Inserir Medicamento Livre"
                   "\n3- Inserir Antibiótico\nDigite sua opção:" );
            scanf(opcaoremed);
            if (opcaoremed == 1)
            {

                if (quantidadeControlados >= 10)
                {
                    printf("Armazem de medicamentos lotado!!\n");
                }
                else
                {

                    printf("Digite o nome do medicamento: ");
                    gets(remediosControlados[quantidadeControlados]);
                    gets(remediosControlados[quantidadeControlados]);
                    quantidadeControlados++;
                }
            }
            if (opcaoremed == 2)
            {
                if (quantidadeLivres >= 10)
                {
                    printf("Armazem de medicamentos lotado!!\n");
                }
                else
                {
                    printf("Digite o nome do medicamento: ");
                    gets(remediosLivres[quantidadeLivres]);
                    quantidadeLivres++;
                }
            }
            if (opcaoremed == 3)
            {
                if (quantidadeAntibioticos >= 10)
                {
                    printf("Armazem de medicamentos lotado!!\n");
                }
                else
                {

                    printf("Digite o nome do medicamento: ");
                    gets(antibioticos[quantidadeAntibioticos]);
                    quantidadeAntibioticos++;
                }
            }
        }
        if (op == 5)
        {
            printf("Obrigado volte sempre!!");
        }

    }

    while(op != 5);
}

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 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...