Cadastro usando arquivos .txt para guardar dados
Publicado por Jonatan Gomes (última atualização em 19/09/2010)
[ Hits: 8.956 ]
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
Cálculo do MDC em Perl para quantidade ilimitada de parâmetros
Calculando a média entre dois valores
Inserindo o nome de aluno e calculando média de suas notas
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Erro ao instalar programa, "você tem pacotes retidos quebrados&qu... (4)
VOL já não é mais como antes? (15)
Como personalizar o lxde? [RESOLVIDO] (5)
Flatpaks não funcionam após atualizar pelo Gerenciador de Atualizações... (3)









