Script para ver signo por data de nascimento

Iniciado por mitch11, 05 de Maio de 2011, 15:53

tópico anterior - próximo tópico

mitch11

Boa tarde

Sou novo no fórum e novo nesse mundo excelente do Linux, venho através deste tópico pedir auxilio aos usuários mais experientes, preciso urgentemente criar um shell script no qual a pessoa possa pôr a data de seu nascimento (dia e mês) e lhe seja mostrado qual seu signo e informações sobre ele. Sou aluno do curso Técnico em Informática, estou justamente precisando deste script pois é de um trabalho que preciso entregar, arrecém estou aprendendo esta matéria, por isso, estou me "quebrando" para descobrir esta estrutura.

Obrigado desde já.

Att,

Michel

irtigor

Mostra o que já fez, ai você recebe ajuda na medida certa.

Tota

Citação de: irtigor online 05 de Maio de 2011, 18:01
Mostra o que já fez, ai você recebe ajuda na medida certa.

Concordo, assim não fica aquela impressão de "lição de casa". ehehehe

mitch11

ok, vlw por enquanto, estou no trabalho, quando chegar em casa mando o que comecei.

mitch11

#!/bin/sh
# signo
echo "Quer saber seu signo?"
echo "Digite sua data de nascimento (dd/mm)"
read data
????
echo "Informações sobre o seu signo"
echo "Digite seu signo"
read infosigno
????
else
exit 0
fi


Deve ter muita coisa errada ai, mas é só onde consegui chegar...

Obrigado pela atenção.

Obs: os "???" é onde acredito que deva ir os comandos principais para funcionamento, dos quais não faço idéia, correto?

irtigor

Citação de: mitch11 online 05 de Maio de 2011, 22:34
Obs: os "???" é onde acredito que deva ir os comandos principais para funcionamento, dos quais não faço idéia, correto?
Errado. O signo não vai ser digitado pelo usuário, existem algumas condições que determinam qual é o signo, sem elas não tem como fazer o programa. Descubra e tente arrumar.

bitetti

pega qualquer tabela chucra em site de astrologia deve dar.
se vc separpar os comandos que precisa ao ives de colocar um (?) comandos vai ter uma lista doque digitar no Google.

ps. Use um gdialog ou kdialog ai pra ficar mais amigável.
 

mitch11

Boa noite ;D

Como na aula ainda não aprendi nada relativo a gdialog e kdialog, dei uma pesquisada na rede para pelo menos ter uma idéia do que é, mas acho que infelizmente, talvez ela nem aceite o trabalho feito em gdialog ou kdialog pois nem nos foi ensinado ainda...
Ja tenho aqui salvo dados de todos os signos individualmente em arquivos de texto. A idéia segundo o que ela nos pediu seria a seguinte: a pessoa digita a data de nascimento (pode ser somente dia/mes), entao aparece o signo e o informativo por base da data digitada (tipo, se a pessoa digitou uma data entre 23/04 e 20/04, automaticamente será mostrado o horóscopo de áries, no caso, acessando o arquivo de texto de áries que tenho salvo, correto?
logo após ela digita o seu signo e também será mostrado (acessado) o arquivo correspondente. Parece meio estranho, mas acredito que ela preferiu assim pois tivemos apenas 2 dias desta aula (e 1 dia eu faltei... :'( ) por isso ela ainda não nos pediu algum script mais tenso...
Preciso entrega-lo terça-feira, não quero fazer "choradeira" aqui, mas quero realmente aprender e, o tempo não me ajuda. Não estou aqui simplesmente esperando alguem me passar o script completo pra mim simplesmente copiar e colar, mesmo que isso aconteça, preciso estudar o script para aprender e entender sua estrutura, pois no dia da prova (que é quarta-feira) não vou ter google nem blogs para me ajudar...por isso compreendo a cituação.

Tentei novamente como me foi indicado criar os scripts mas, sem sucesso...
Se eu não estiver errado, a idéia é essa?

#!/bin/sh
# signo
echo "Quer saber sobre seu signo para 2011?"
echo "Digite sua data de nascimento (dd.mm)"
read opc
if [$opc = -gt 21.03 ]; then
cat aries
else
exit 0
fi

(nesse exemplo, usei apenas o signo de áries)

Obs: Não sei se faz diferença mas, no caso preciso salvar um arquivo .sh para ser executado em terminal.

Obrigado e novamente e qualquer dica será bem vinda. Boa Noite.

irtigor

Tá, mas o seu problema não é só de sintaxe... seguindo, leia o dia e o mês separadamente (use duas variáveis), ai você compara o mês e depois o dia. Exemplo da sintaxe

if [ $mes -eq 01 ]; then

fi

Se a variável mês é igual a 01...

if [ $dia -gt 21 ]; then

fi

Se a variável dia é maior que 21...

Ficou claro né? Agora é só colocar as mãos na massa.

mitch11

Obrigado meu véio, vou tentar a noite quando chegar em casa

Abrçs a todos.

mitch11

É gente... não consegui, este vai ser meu último apelo.

#!/bin/sh
echo "Informações sobre seu signo:"
read -p "entre mes de nascimento:"
read -p "entre dia de nascimento:"
(preciso aqui do código correto para, por exemplo, o usuário pôr mês 3 ou 4 e dias entre 1 - 31 e de alguma forma filtrar para depois mostrar o "echo" correspondente(no caso desse exemplo, áries))
if --------------------------------------
echo "Áries"
echo "Aquário"
echo "etc"
echo "etc"...

Algo assim, acredito...

Obrigado.


irtigor

Com um escolha/caso ficaria mais "compacto", mas você não intendeu o problema então me limitei ao se.

#!/bin/sh
echo "Digite o seu dia do seu nascimento: "
read dia
echo "Digite o mes: "
read mes
if [ $mes -eq 01 ]; then
if [ $mes -gt 20 ]; then
echo "Você é de aquario"
echo "blablabla"
else
echo "Você é de capricornio"
echo "blablabla"
fi
fi
if [ $mes -eq 02 ]; then
if [ $mes -gt 19 ]; then
echo "Você é de peixes"
echo "blablabla"
else
echo "Você é de aquario"
echo "blablabla"
fi
fi
.
.
.

Obs: se empenhe mais, uma só falta não prejudicaria tanto assim a sua capacidade de raciocínio lógico.

mitch11

O meu problema mesmo é a falta de tempo para ficar raciocinando, por isso pedi ajuda (a professora mesmo disse que era para nós nos "virarmos" em fóruns e Google)
Mas obrigado a todos pela ajuda, logo mais quando chegar em casa vou terminar de montar essa bagaça.

Desenjam - me sorte!!

Até mais.

vampire_thunder

Também não entendo patavinas, não sou da área, mas acredito que você pode usar o zenity para informar a data: "zenity --calendar", só para ficar mais amigável.

Boa sorte!