Ir ao conteúdo
  • Cadastre-se

DaviKS

Membro Júnior
  • Posts

    2
  • Cadastrado em

  • Última visita

posts postados por DaviKS

  1. https://replit.com/@DaviKasmirski/Me-Ajude?v=1

     

    //Foram incluídas as bibliotecas
    #include <locale.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include<string.h>
    #include <time.h>
    //Começamos a fazer o programa com Struct.

    //Struct 1: Cadastro da Pessoa.
    struct {
      char nome[30];
      char nome1[30];
      char senha[20];
      char senha1[20];
      int idade;
      char horas;
      char minutos;
    } cadastro_pessoa;

    //Struct 2: Cadastro de Produtos
    struct {
      int codigo;
      char nome_produto[30];
      char data[10];
      float preco;
      int quantidade_produtos;
      int estoque_maximo;
      int estoque_minimo;
    } cadastro_produtos;

    //Struct 3: A entrada, a saída dos produtos
    struct {
      int quantidade_retirada;
      int quantidade_reposta;
      char data[10];
      int valor_final;
    } saida_entrada_produtos;

    //Colocmos simples printf's para deixar o programa mais bonirto e adicionamos no programa a Linguagem Portuguesa, acrescentamos caracteres epeciais, tipo "," e até CÓDIOGS ALT(Ex: "█")
    int main(void) {
      setlocale(LC_ALL, "Portuguese");
      printf("\nINICIANDO O PROGRAMA! ");
      printf("\n\nAGUARDE...");
      printf("\n\nPROGRAMA INICIADO COM SUCESSO!!");
      //Primeira parte do Programa: O Cadastro
      char cadrasto;

      //Opção se possuí ou não Cadastro
      printf(
          "\n\njá possui um cadastro?\nS para SIM\nN para NÃO\n\nsua resposta?: ");
      scanf("%s", &cadrasto);
    //Informar o nome
      if (cadrasto == 'N') {
        printf("\n-----cadastro-----");
        printf("\n\ninforme o seu nome: ");
        scanf("%s", cadastro_pessoa.nome);
    //Informar a idade (com a função de não aceitar menores de 18 anos, ex: digitei 12, dá cadastro negado e imediatamente o programa fecha)
        printf("informe sua idade: ");
    //Usamos o fflush para ignorar o botão "enter"    
        fflush(stdin);
        scanf("%d", &cadastro_pessoa.idade);
        {
          if (cadastro_pessoa.idade < 18)
            {
              printf("o programa não aceita menor de idade");
              exit(0);
            }
        }
    //Informar a senha
        printf("informe uma senha:");
        fflush(stdin);
        scanf("%s", cadastro_pessoa.senha);
      }
    //Agora chega a parte do login: informar nome e senha= login efetuado
       if (cadrasto == 'S')
      {
      printf("\n\n----login----\n\n");
      // receber nome do usuario
      printf("informe seu nome: ");
      fflush(stdin);
      scanf("%s", cadastro_pessoa.nome1);

      // informar uma senha
      printf("informe sua senha: ");
      fflush(stdin);
      scanf("%s", cadastro_pessoa.senha1);

    //comparar se o usuario pois os dados certos
    int login_efetuado = 0;

    //se a pessoa por os dados corretos
    if (strcmp(cadastro_pessoa.nome1, cadastro_pessoa.nome) == 0 && strcmp(cadastro_pessoa.senha1, cadastro_pessoa.senha) == 0)
      {printf("\nlogin efetuado!!!\n");}

    //se a pessoa por os dados incorretos
         else
          {
             printf("\n\nDADOS INVALIDOS!\n\n");
             exit(0);
          }

      }
    //Nova declaração
      char novo_produto;
    //Começamos a usar o while, para poder determinar um n° de vezes que o usuário e o produto forem cadastrados, até dar um loop infinto se você desejar.
      while (novo_produto != 'N') {
        
        // informações sobre o produtos
        printf("\n----informações do produto----");

        // informar nome dos produtos que serão usados
        printf("\n\ninforme o nome do produto: ");
        scanf("%s", cadastro_produtos.nome_produto);

        // informar codigo do produto
        printf("informe o código do produto: ");
        scanf("%d", &cadastro_produtos.codigo);

        // informar preço que o produtos custara
        printf("informar preço do produto em R$: ");
        scanf("%f", &cadastro_produtos.preco);

        // informar a quantidade de produtos
        printf("informe a quantidade de produtos: ");
        scanf("%d", &cadastro_produtos.quantidade_produtos);

        // informar o maximo que o produto pode ter no estoque
        printf("informe estoque maximo do produto: ");
        scanf("%d", &cadastro_produtos.estoque_maximo);

        // informar o minimo que esse produto pode chegar , criar alerta!
        printf("informe estoque minimo: ");
        scanf("%d", &cadastro_produtos.estoque_minimo);

        //caso o estoque maximo seja menor que o minimo ou menor que a quantidade já registrada de produtos
        if (cadastro_produtos.estoque_maximo < cadastro_produtos.estoque_minimo ||
            cadastro_produtos.estoque_maximo <
                cadastro_produtos.quantidade_produtos) {
          //Caso você tenha cometido algum erro o programa aponta a mensagem abaixo e encerra
          printf("\nERRO!! opções invalidas\nvocê informou errado o seu "
                 "estoque :(");
          return 0;
        }

    //Alertar se o usuário informou alguum dado incorreto
          if (cadastro_produtos.estoque_maximo < cadastro_produtos.estoque_minimo ||
            cadastro_produtos.estoque_maximo <
                cadastro_produtos.quantidade_produtos) {
          printf("\nERRO!! opções invalidas\nvocê informou errado o seu "
                 "estoque :(");
          return 0;
        }

        //informar o horario que o produto chegou no estoque
        printf("informe a hora e minutos da chegada do produto no estoque:");
        scanf("%s:%s" , &cadastro_pessoa.horas , &cadastro_pessoa.minutos);

        if (cadastro_pessoa.horas < 24 ){
            printf("horario informado errado");
            return 0;
        }
        if (cadastro_pessoa.minutos < 60){
            printf ("Minutos informado errado");
          return 0;
        }
        
        // testar as opções do usuário(1 e 2)
        int opcao;
    //Usuário 1:
        printf("\n-digite 1: para informar a quantidade retirada do estoque "
    //Usuário 2:
               "\n\n-digite 2: para informar a quantidade reposta no "
               "estoque\n\nEscolha uma das opções: ");
        scanf("%d", &opcao);

        // caso usuario escolha opção 1 , iformara a quantidade retirada
        if (opcao == 1) {
          printf("\ninforme o código do produto: ");
          scanf("%d", &cadastro_produtos.codigo);
          
          printf("\ninforme a quantidade retirada do estoque: ");
          fflush(stdin);
          scanf("%d", &saida_entrada_produtos.quantidade_retirada);
        }
        
        // casa usuario escolha opção 2 , informarás a quantidade somada ao estoque
        if (opcao == 2) {
          printf("\n\ninforme o código do produto: ");
          scanf("%d", &cadastro_produtos.codigo);

          printf("\ninforme a quantidade reposta do estoque: ");
          fflush(stdin);
          scanf("%d", &saida_entrada_produtos.quantidade_reposta);
        }

        // opção invalida , mensagem de erro vai aparecer
        if (opcao != 1 && opcao != 2) {
          printf("\nopção invalida! ");
        }

        printf("\n\n---Resumo---");
        printf("\nhoras de chegada do produto:%s:%s", &cadastro_pessoa.horas , &cadastro_pessoa.minutos);
        // atribuir valor apos usuario ter escolhido opção

        //mostrar valor retirada do estoque
        if (opcao == 1) {
    //Novo resultado! perante ao dados informados
          printf("\n\nNovo total do produto: %d %s",
                 cadastro_produtos.quantidade_produtos -
                saida_entrada_produtos.quantidade_retirada,
                 cadastro_produtos.nome_produto);
    //Quantidade de produtos, de retirada e valor final.
          saida_entrada_produtos.valor_final =
              cadastro_produtos.quantidade_produtos -
              saida_entrada_produtos.quantidade_retirada;

          fflush(stdin);
    //Estoque Médio
          printf("\nEstoque médio: %d %s",
                 (cadastro_produtos.estoque_maximo +
                  cadastro_produtos.estoque_minimo) /
                     2,
                 cadastro_produtos.nome_produto);

          fflush(stdin);
        }

        // mostrar a quantidade reposta no estoque
        if (opcao == 2) {
          printf("\n\nQuantidade atualizada: %d",
                 cadastro_produtos.quantidade_produtos +
                     saida_entrada_produtos.quantidade_reposta);

          fflush(stdin);

          saida_entrada_produtos.valor_final =
              cadastro_produtos.quantidade_produtos -
              saida_entrada_produtos.quantidade_retirada;

          fflush(stdin);

          printf("\nEstoque médio: %d", (cadastro_produtos.estoque_maximo +
                                cadastro_produtos.estoque_minimo) /
                                            2);

          fflush(stdin);
          }

    //caso o usuario deseja registrar um novo produto
          
         printf("\n\nescreva S para SIM\nescreva N para NÃO\n\ndeseja registrar um "
               "novo produto?: ");
        fflush(stdin);
        scanf("%s", &novo_produto);
      }


    //Revela os valores atuais
      printf("\n----Valores atuais----\n");

    //Nome do produto
      printf("\nNome do produto: %s", cadastro_produtos.nome_produto);
      getchar();
    //Código do prodto 
    printf("\nCodigo do produto: %d", cadastro_produtos.codigo);
    //Quantidade em estoque
      printf("\nQuantidade de produtos em estoque: %d",
             saida_entrada_produtos.valor_final);
    // Continua...
    }

    • Curtir 1

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!