Cadastro usando arquivos .txt para guardar dados
Publicado por Jonatan Gomes (última atualização em 19/09/2010)
[ Hits: 9.013 ]
Homepage: Em construção xD
É bem simples e amador esse script, ele pega seu nome e seu rg e usa para criar um arquivo .txt (seu nome e seu rg será o nome do arquivo) e usa um arquivo chamado pc.txt para mostrar o número de pessoas que já foram cadastradas, aí sempre que abrir o script vai estar lá o número correto de cadastros.
Fiz esse script usando um pc com Windows, então vai ter que mudar os direitos para pegar certinho em Linux, é bem amador pois sou iniciante ainda, mas talvez tire algumas dúvidas que eu não achei em lugar nenhum respostas.
Eu tentei explicar o máximo possível =), qualquer erro ou "noobise" pode relatar pois só estou estudando linguagens de programação a 3 semanas =), caso consigam resumir mais o programa ou melhorá-lo, fique a vontade, =) se tiver algumas dicas para mim também eu agradeço pois preciso muito de ajuda xD.
Flw...
__R4$T4__
#!/usr/bin/perl
#Programa bem simples para tirar uma carteira de motorista
# caso seja menor de idade é reiniciado o programa e mostra uma mensagem de erro
# e cria um arquivo .txt com os dados do cadastrado o nome e o RG
# e grava em outro .txt o numero de pessoas cadastradas =) é bem amador (pois eu sou amador =P )
# mas pode tirar algumas dúvidas como eu tive e não achei em lugar nenhum a resposta
# bye bye...
# __R4$T4__
open ($cadas, "+<","c:/pc.txt"); # aqui cria-se o arquivo onde fica armazenado o número de cadastros realizados
while (<$cadas>){
$cadastrados= $_;
}
close ($cadas);
inicio:
print "#_______________Carteira de Motorista_______________#\n";
print "Numeros de inscritos\t $cadastrados\n"; #tela inicial
sleep 3;
print "Digite \"cadastro\" para se cadastrar ou digite \"sair\" para finalizar o programa:\t";
chomp ($passe= <STDIN>);
if ($passe eq "sair") #se o usuário optar por sair:
{ # "IF" Caso o usuário digite "sair"
print "_____SAINDO_____\n";
sleep 2;
print " Bye, Bye... ";
sleep 2;
exit;
} # Fecha "IF" de SAIR e finaliza o programa
print "###______CADASTRO______###\n \n"; #caso o usuário quiser fazer o cadastro:
print "Digite seu primeiro nome:\t";
chomp ($nome= <STDIN>);
print "Agora digite seu sobrenome:\t";
chomp ($snome= <STDIN>);
print "Digite sua idade: (Ex: 25)\t";
chomp ($idade= <STDIN>);
print "Digite o seu RG:\t";
chomp ($rg= <STDIN>);
$nomeaq= $nome;
$nomeaq.= $rg; # aqui juntou o nome+rg em uma só string
$arquivo =">>c:/$nomeaq.txt"; # e aqui faz com que o nome e o RG sejam o nome do arquivo onde fica os dados do cadastro
# Caso não seja maior de idade:
if ($idade < 18)
{ # "IF" de $idade caso não seja maior de 18
print "Voce ainda nao tem idade suficiente\n";
sleep 3;
goto inicio; # Linha 16
} # Fecha "IF" de $idade caso não seja maior de 18
push (@cadastro, $nome, $snome, $idade, $rg); # aqui poem o nome, sobre nome, idade e rg em uma array
print "#___Cadastro realizado com Sucesso!___#\n";
open (num, ">c:/pc.txt"); #caso o cadastro seja realizado com sucesso então acrescenta 1 no número de cadastros
print num ++$cadastrados;
close (num);
$reg= join(":", @cadastro); # aqui poem : (dois pontos) entre cada elemento da array com os dados do cadastro
# fazendo com que não fique tudo junto (obvio)
open (open dados, $arquivo);
print dados "$reg\n";#aqui cria um .txt com o nome+rg de quem se cadastrou e insere os seus dados
close(dados);
goto inicio; # sei que é errado usar goto mas... esse volta para o início linha 16
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
Não consigo instalar distro antiga no virtualbox nem direto no hd (15)
Quais os códigos mais dificeis que vcs sabem fazer? (12)
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)









