Ir para conteúdo
Fórum Script Brasil
  • 0

Atribuindo tarefas para pessoas


Frank K Hosaka

Pergunta

Encontrei nesse fórum um tema bem interessante, usar o PHP para distribuir tarefas entre pessoas.

Eu comecei com João e Maria, e as tarefas eram limpar o chão e limpar o teto. O Copilot entendeu o meu problema, e ele resolveu o meu problema assim: João fica com o chão e a Maria fica com o teto. O código do Copilot é uma bela obra de arte, e ele mostra que o PHP é a melhor forma de começar um projeto.

Baseado nesse trabalho, expliquei para o Copilot que o Leonardo e o Danilo não querem trabalhar na entrada e no auditório, e ele resolveu assim:

<?php
// Array de colaboradores
$colaboradores = array('Leonardo', 'Danilo', 'Mateus', 'Lucas', 'Pedro', 'Batista');

// Array de tarefas
$tarefas = array('entrada', 'auditorio', 'Fone 1', 'Fone 2', 'leitor', 'som');

// Atribuir tarefas aos colaboradores
$atribuicoes = array();
$indicesNaoPermitidos = array();

// Definir um índice inicial
$indiceInicial = 0;

foreach ($tarefas as $tarefa) {
    // Verifica se a tarefa é "entrada" ou "auditorio"
    if ($tarefa == 'entrada' || $tarefa == 'auditorio') {
        // Encontra um colaborador que não seja Leonardo ou Danilo
        while (in_array($indiceInicial, $indicesNaoPermitidos) || $colaboradores[$indiceInicial] == 'Leonardo' || $colaboradores[$indiceInicial] == 'Danilo') {
            $indiceInicial = ($indiceInicial + 1) % count($colaboradores);
        }
    } else {
        // Encontra o próximo colaborador disponível
        while (in_array($indiceInicial, $indicesNaoPermitidos)) {
            $indiceInicial = ($indiceInicial + 1) % count($colaboradores);
        }
    }

    // Atribui a tarefa ao colaborador
    $atribuicoes[$colaboradores[$indiceInicial]] = $tarefa;
    // Armazena o índice usado para evitar duplicações
    $indicesNaoPermitidos[] = $indiceInicial;
    // Move para o próximo colaborador
    $indiceInicial = ($indiceInicial + 1) % count($colaboradores);
}

// Exibir as atribuições
foreach ($atribuicoes as $colaborador => $tarefa) {
    echo "$colaborador: $tarefa <br>";
}
?>

 

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...