shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Sorteador automatico


From: laerte
Subject: Sorteador automatico
Date: Sat, 5 Jun 2004 20:07:20 -0300
User-agent: KMail/1.5

pessoal;

Aqui no trabalho os pessoal usava uma funcao no excel para gerar numeros 
aleatorio, achei que seria interessante fazer um script para gerar isso, com 
a ajuda os super pacote de scripts fiz um pequeno script que pega uma lista 
de pessoas em relacao.txt e faz o sorteio, deem uma olhada e quem sabe 
melhore..

################inicio


#!/bin/bash


#.....................................................................
function zera {
echo > vencedores.txt
dialog --backtitle "$BACKTITLE" \
   --cr-wrap \
   --title 'Mensagem' \
   --msgbox "Lista de vencedores apaguada!" \
   06 45 
}

#.....................................................................
function sorteio {
min=1
max=`cat relacao.txt | wc -l`
resultado=$[$min+($RANDOM*($max-$min+1)-1)/32767]
sortudo=$(sed -n $resultado'p' relacao.txt)
echo $sortudo > sorte.txt
echo $sortudo >> vencedores.txt
.....................................................................

(echo 33 ; sleep 1
 echo 66 ; sleep 1
 echo 100) |
dialog --backtitle "$BACKTITLE" \
   --title 'Fazendo o sorteio' \
   --gauge 'sorteando, aguarde...' \
   8 40 0

#.....................................................................


dialog --backtitle "$BACKTITLE" \
   --title 'Vencedor' \
   --tailbox sorte.txt \
   20 65 &&

#.....................................................................

cat vencedores.txt | sort -u > vencedores1.txt
cp -f vencedores1.txt vencedores.txt
rm -rf vencedores1.txt

}

#.....................................................................
function vence {



dialog --backtitle "$BACKTITLE" \
   --title 'Vencedores' \
   --tailbox vencedores.txt \
   20 65 

}
#.....................................................................


function jogadores {
dialog --backtitle "$BACKTITLE" \
   --title 'Vencedor' \
   --tailbox relacao.txt \
   20 65 

}

#.....................................................................

BACKTITLE='Sorteador de Premios'
INTRO='
Bem-Vindo(a) ao Super Sorteador!

Este Script faz o sorteio de premios baseado em
uma lista de participantes

Csirt - BB'

#.....................................................................

dialog --backtitle "$BACKTITLE" \
   --cr-wrap \
   --title 'Mensagem' \
   --msgbox "$INTRO" \
   17 55 &&

#.....................................................................

dialog --backtitle "$BACKTITLE" \
   --title 'Mensagem' \
   --yesno '
   \n\nUse as setas do teclado, ou a tecla TAB para
   alternar entre os botoes.
   \n\nVoce quer continuar?' \
   0 0 &&



while : ; do

resposta=$(
      dialog --stdout               \
             --title 'Menu Sorteador'  \
             --menu 'Escolha o que voce quer fazer:' \
            0 0 0                   \
            1 'Fazer o sorteio' \
            2 'Ver a lista dos vencedores'  \
            3 'Ver a lista dos jogadores'     \
            4 'Zerar a lista de vencedores' \
            0 'Sair'                )

    # Ela apertou CANCELAR ou ESC, então vamos sair...
    [ $? -ne 0 ] && break

    # De acordo com a opção escolhida, dispara programas
    case "$resposta" in
         1) sorteio ;;
         2) vence ;;
         3) jogadores ;;
         4) zera ;;
         0) break ;;
    esac

done

##################fim


reply via email to

[Prev in Thread] Current Thread [Next in Thread]