Criar script [RESOLVIDO]

1. Criar script [RESOLVIDO]

Claudio
clipitonio

(usa CentOS)

Enviado em 18/09/2012 - 09:22h

Pessoal será que alguém consegue realizar esses dois script abaixo? Estudo redes e tenho muita dificuldade nessa matéria. Grato pela ajuda!


1) Criar um script que leia um conjunto de nome, nota 1 e nota 2, armazene esse conjunto em um arquivo turma.txt. o conjunto terá como limite o nome fim.



2) Criar um script que ao se inserir um nome no arquivo turma.txt qual média e, se média for maior que 6, apresente aprovado, se não, exibir tente de novo.








  


2. Re: Criar script [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 18/09/2012 - 09:48h

clipitonio escreveu:

Pessoal será que alguém consegue realizar esses dois script abaixo? Estudo redes e tenho muita dificuldade nessa matéria. Grato pela ajuda!


1) Criar um script que leia um conjunto de nome, nota 1 e nota 2, armazene esse conjunto em um arquivo turma.txt. o conjunto terá como limite o nome fim.



2) Criar um script que ao se inserir um nome no arquivo turma.txt qual média e, se média for maior que 6, apresente aprovado, se não, exibir tente de novo.







O script 1 fica mais ou menos assim:
#!/bin/bash

function escrevearquivo() {
## Solicita o nome e caso o nome informado seja a palavra "fim" encerra o script
read -p "Insira o nome do aluno ou a palavra \"fim\" para encerrar o script: " nome
if [ "$nome" = "fim" ]; then
echo "Digitação de dados encerrada"
exit 0
fi

## Solicita a nota1
read -p "Insira o valor da primeira nota do aluno $nome: " notaum

## Solicita a nota2
read -p "Insira o valor da segunda nota do aluno $nome: " notadois

## Grava os dados no arquivo turma.txt
echo "$nome":"$notaum":"$notadois" >> turma.txt
escrevearquivo
}

escrevearquivo

## EOF


O script 2 fica mais ou menos assim:
#!/bin/bash
read -p "Digite o nome de um aluno previamente digitado: " nomealuno
for i in `cat turma.txt`; do
alunopesquisado=$(cat turma.txt | cut -d':' -f1)
notaum=$(cat turma.txt | cut -d':' -f2)
notadois=$(cat turma.txt | cut -d':' -f3)
if [ "$alunopesquisado" = "$nomealuno"]; then
media=$(($notaum + $notadois))
if [ "$media" -ge "6" ]; then
echo "Aluno $alunopesquisado aprovado"
else
echo "Aluno $alunopesquisado precisa tentar de novo"
fi
else
echo "Aluno $nomealuno não encontrado"
fi
done
##EOF



3. Re: Criar script [RESOLVIDO]

Claudio
clipitonio

(usa CentOS)

Enviado em 18/09/2012 - 10:04h

Muito obrigado amigo!




4. Re: Criar script [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 18/09/2012 - 10:05h

Se serviu marque como resolvido e indique a melhor resposta.


5. Re: Criar script [RESOLVIDO]

Claudio
clipitonio

(usa CentOS)

Enviado em 18/09/2012 - 10:17h

Blz vou fazer um teste aqui, assim que possivel postarei. Neste momento estou instalando o Ubuntu. Vlw!


6. Re: Criar script [RESOLVIDO]

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 18/09/2012 - 10:24h

Ok


7. Re: Criar script [RESOLVIDO]

Claudio
clipitonio

(usa CentOS)

Enviado em 18/09/2012 - 11:46h

Amigo o exercicio 1 está funcionando perfeitamente.

O exercicio 2 nao está rodando. Se puder ajuda lhe agradeço. O nome digitado já existe no arquivo turma.txt. Porem nao funciona. Segue o erro



Digite o nome de um aluno previamente digitado: perini
./2.sh: linha 7: [: faltando `]'
Aluno perini não encontrado
./2.sh: linha 7: [: faltando `]'
Aluno perini não encontrado
./2.sh: linha 7: [: faltando `]'
Aluno perini não encontrado
./2.sh: linha 7: [: faltando `]'
Aluno perini não encontrado
./2.sh: linha 7: [: faltando `]'
Aluno perini não encontrado





8. Re: Criar script [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/09/2012 - 13:45h


#!/bin/bash

read -p "Digite o nome de um aluno previamente digitado: " nomealuno

for i in `cat turma.txt`; do

aluno=$(echo $i | cut -d':' -f1)
notaum=$(echo $i | cut -d':' -f2)
notadois=$(echo $i | cut -d':' -f3)
result=$(echo "scale=2;($notaum+$notadois)/2 > 6" | bc )

if [ "$aluno" = "$nomealuno" ]; then

if [ $result == 1 ]; then
echo "Aluno $aluno aprovado"
break
else
echo "Aluno $aluno precisa tentar de novo"
break
fi

else
echo "Aluno $nomealuno não encontrado"
fi
done

##EOF



9. Re: Criar script [RESOLVIDO]

Claudio
clipitonio

(usa CentOS)

Enviado em 18/09/2012 - 14:59h

Amigo ainda está com erro. Agradeço pela atenção!


Digite o nome de um aluno previamente digitado: perini
Aluno perini não encontrado
(standard_in) 1: syntax error
(standard_in) 1: syntax error
Aluno perini não encontrado
(standard_in) 1: syntax error
Aluno perini não encontrado
(standard_in) 1: syntax error
(standard_in) 1: syntax error
Aluno perini não encontrado
Aluno perini precisa tentar de novo



10. Re: Criar script [RESOLVIDO]

Claudio
clipitonio

(usa CentOS)

Enviado em 18/09/2012 - 15:23h

Blz amigo apaguei o arquivo TXT e me parece que está funcionando.


11. Re: Criar script [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 18/09/2012 - 17:19h

clipitonio escreveu:

Blz amigo apaguei o arquivo TXT e me parece que está funcionando.


Tá funcionando sim :d

Essa versão é mais elegante

#!/bin/bash

read -p "Digite o nome de um aluno previamente digitado: " nomealuno

for i in `cat turma.txt`; do

aluno=$(echo $i | cut -d':' -f1)
notaum=$(echo $i | cut -d':' -f2)
notadois=$(echo $i | cut -d':' -f3)
result=$(echo "scale=2;($notaum+$notadois)/2 > 6" | bc )

if [ "$aluno" = "$nomealuno" ]; then

if [ $result == 1 ]; then
echo "Aluno $aluno aprovado"
exit
else
echo "Aluno $aluno precisa tentar de novo"
exit
fi

fi
done

echo "Aluno $nomealuno não encontrado"

##EOF



12. Re: Criar script [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 20/09/2012 - 18:21h

Cuidado com os testes

if [ "$aluno" == "$nomealuno" ]; then echo OK; fi

if [ $result -eq 1 ]; then echo OK; fi







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts