Pierwsze programowania

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
mic93
Piegowaty Guziec
Piegowaty Guziec
Posty: 14
Rejestracja: 01 paź 2009, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 11.04
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Pierwsze programowania

Post autor: mic93 »

Nowy temat, w którym początkujący programiści mogą zamieszczać kody, skrypty, do wglądu przez bardziej zaawansowanych programistów :mrgreen:
Dodam tyle że w bashu jestem totalnie zielony, jestem w I klasie LO na mat-infie ^^
Wczoraj naskrobałem taki skrypt (miał byc prosty)

Kod: Zaznacz cały

#!/bin/bash
echo "********************************************************************************
         ..::Kreator wypracowania "o_mnie"::..  v.1.4.5 by Michał 
********************************************************************************" # nazwa i wersja skryptu
echo "Witam w programie"
echo "Przede wszystkim proszę odpowiadać na pytania słowami odmienionymi tak, jak wskazują pytania-jest to ważne dla programu" # informacje nr. 1
echo "Jeśli chcesz skorzystać z programu, wciśnij t następnie enter, jeśli nie-klawisz n, następnie spowoduje wyłączenie się programu." # wybór nr.1
read znak # rozpoznanie tak/nie
if [ $znak = t ] # dla znaku tak:
then
echo "Ile masz lat?:" # wiek
read wiek
{
if [ $wiek -ge 19 ] # warunek wiek >19
then
echo "Jak masz na imię?:" # imię
read imie
echo "Podaj adres e-mail:" # mail
read mail
echo "Gdzie mieszkasz?(adres):" # adres
read adres
echo "Gdzie pracujesz?(studiujesz)[w lub na]:" # szkoła
read praca
echo "W jakim mieście jest Twoje miejsce pracy?(odmiana!):" # miasto
read miasto
fi
}
{
if [ $wiek -le 19 ]
then
echo "Jak masz na imię?:" # imię
read imie
echo "Podaj adres e-mail:" # mail
read mail
echo "Gdzie mieszkasz?(adres):" # adres
read adres
echo "Do jakiej szkoły chodzisz?:" # szkoła
read szkola
echo "W jakim mieście jest Twoja szkoła?(odmiana!):" # miasto
read miasto
fi
}
echo "Jakiego koloru masz włosy?:" # włosy
read wlosy
echo "Ile masz cm wzrostu?:" # wzrost
read wzrost
echo "Twoje główne wady?:" # wady
read wady
echo "Twoje główne zalety?:" # zalety
read zalety
echo "Czym się interesujesz?:" # zainteresowania
read zainteresowania
{
if [ $zainteresowania = niczym ] # warunek wewnętrzny dla zainteresowania=niczym
then
echo "Niemożliwe! Musisz się czymś interesować! Albo po prostu wpisz to co chcesz :)" # niczym się interesuje
echo "Czym się interesujesz?:"
read zainteresowania
fi
}
echo "Podaj swój nr. komórki:" # komórka
read kom
echo "Twój operator komórkowy:" # operator
read operator
fi
if [ $znak = n ] # warunek nie nr1 (wyjście z programu)
then
echo "********************************************************************************
                      Dziękuję za skorzystanie z programu 
********************************************************************************" # notka przy wyjściu z programu
exit
fi # koniec pierwszego warunku
echo "Czy chcesz utworzyć wypracowanie w formie pliku tekstowego? Jeśli tak, wybierz t i wciśnij enter. Jeśli nie naciśnij n a potem enter" # zapis .txt tak/nie
read znak
if [ $znak = t ] # akceptacja zapisu .txt
then
{
if [ $wiek -ge 19 ] # warunek wiek >19
then
echo "Cześć. Mam na imię $imie." >> O_mnie_sr.txt # zdanie o imieniu
echo "Mam $wiek lat." >> O_mnie_sr.txt # zdanie o wieku
echo "Pracuję  $praca, w $miasto." >> O_mnie_sr.txt  # zdanie o pracy i mieście
echo "Interesuję się $zainteresowania." >> O_mnie_sr.txt # zdanie o zainteresowaniach
echo "Mam włosy koloru $wlosy." >> O_mnie_sr.txt # zdanie kolor włosów
echo "Mam $wzrost cm wzrostu." >> O_mnie_sr.txt # zdanie wzrost
echo "Moimi głównymi wadami są:$wady." >> O_mnie_sr.txt # zdanie wady
echo "Moje zalety to:$zalety." >> O_mnie_sr.txt # zdanie zalety
echo "Pozostawiam tutaj parę informacji, na wypadek gdybyś chciał/a się ze mną skontaktować:" >> O_mnie_sr.txt # zdanie kontakt
echo "Komórka $kom ($operator)" >> O_mnie_sr.txt # zdanie nr komórki i operator
echo "Adres e-mail: $mail" >> O_mnie_sr.txt # adres mailowy
echo "Adres zamieszkania: $adres" >> O_mnie_sr.txt # adres zamieszkania
echo "..::Kreator wypracowania "o_mnie"::..  v.1.4.5 by Michał" >> O_mnie_sr.txt # stopka
echo "Twoje dane osobowe zostaly zapisane w pliku O_mnie_sr.txt. Znajduje się on w Katalogu Domowym"
fi
}
{
if [ $wiek -le 19 ]
then
echo "Cześć. Mam na imię $imie." >> O_mnie_jr.txt # zdanie o imieniu
echo "Mam $wiek lat." >> O_mnie_jr.txt # zdanie o wieku
echo "Chodzę do $szkola, w $miasto." >> O_mnie_jr.txt  # zdanie o szkole i mieście
echo "Interesuję się $zainteresowania." >> O_mnie_jr.txt # zdanie o zainteresowaniach
echo "Mam włosy koloru $wlosy." >> O_mnie_jr.txt # zdanie kolor włosów
echo "Mam $wzrost cm wzrostu." >> O_mnie_jr.txt # zdanie wzrost
echo "Moimi głównymi wadami są:$wady." >> O_mnie_jr.txt # zdanie wady
echo "Moje zalety to:$zalety." >> O_mnie_jr.txt # zdanie zalety
echo "Pozostawiam tutaj parę informacji, na wypadek gdybyś chciał/a się ze mną skontaktować:" >> O_mnie_jr.txt # zdanie kontakt
echo "Komórka $kom ($operator)" >> O_mnie_jr.txt # zdanie nr komórki i operator
echo "Adres e-mail: $mail" >> O_mnie_jr.txt # adres mailowy
echo "Adres zamieszkania: $adres" >> O_mnie_jr.txt # adres zamieszkania
echo "..::Kreator wypracowania "o_mnie"::..  v.1.4.5 by Michał" >> O_mnie_jr.txt # stopka
echo "Twoje dane osobowe zostaly zapisane w pliku O_mnie_jr.txt. Znajduje się on w Katalogu Domowym"
fi
} 
echo "********************************************************************************
                    Dziękuję za skorzystanie z programu 
********************************************************************************" # info po wprowadzeniu danych i wybraniu tak zapisu .txt
else
echo            "Twoje dane osobowe nie zostały zapisane" # pożegnanie po zapisaniu pliku
fi
if [ $znak = n ] # dla niezaakceptowania zapisu .txt
then
echo               "Nie został utworzony plik tekstowy"
echo "********************************************************************************
                    Dziękuję za skorzystanie z programu 
********************************************************************************" # pożegnanie dla niezapisania .txt
fi # koniec
Chętnie przyjme uwagi co do poprawy skryptu, ew. jakiegoś poradnika :)
Ubuntu User number is # 29041|Mam na imię Michał...|Wieprze Pindowsa :D|10.04
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: Pierwsze programowania

Post autor: beluosus »

Pierwsze co się rzuca w oczy: rób wcięcia w kodzie. ;)

Kod: Zaznacz cały

if [ costam ]; then
{
	polecenia;
	dalsze polecenia;
}
fi
Druga uwaga: jeśli na pierwsze pytanie odpowiemy inaczej niż t/n to dzieje się coś co się nie powinno dziać. ;) Ale to chyba mało istotne, bo od użytkownika oczekujemy, że będzie się słuchał. ;)
Może jeszcze w wypadku już istniejącego pliku nadpisz go w taki sposób:

Kod: Zaznacz cały

echo "Cześć. Mam na imię $imie." > O_mnie_sr.txt # zdanie o imieniu
# > zamiast >>
Reszta wygląda ok.
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
luzakwielki
Wytworny Kaczor
Wytworny Kaczor
Posty: 264
Rejestracja: 19 lis 2008, 11:42
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: KDE Plasma
Architektura: x86_64

Odp: Pierwsze programowania

Post autor: luzakwielki »

beluosus pisze:Może jeszcze w wypadku już istniejącego pliku nadpisz go w taki sposób:

Kod: Zaznacz cały

echo "Cześć. Mam na imię $imie." > O_mnie_sr.txt # zdanie o imieniu
# > zamiast >>
A skąd wiesz czy chce nadpisać, a nie dopisać na końcu istniejącego pliku?
Awatar użytkownika
rryk
Serdeczny Borsuk
Serdeczny Borsuk
Posty: 206
Rejestracja: 04 mar 2008, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 9.04
Środowisko graficzne: GNOME
Kontakt:

Odp: Pierwsze programowania

Post autor: rryk »

ponieważ w takim wypadku może wyjść masło maślane :D
Awatar użytkownika
Szmitas
Zakręcona Traszka
Zakręcona Traszka
Posty: 572
Rejestracja: 28 lis 2006, 17:38
Płeć: Mężczyzna
Wersja Ubuntu: 12.04
Środowisko graficzne: Unity
Architektura: x86
Lokalizacja: Luboń
Kontakt:

Odp: Pierwsze programowania

Post autor: Szmitas »

Program byłby bardziej użyteczny gdyby wypisywał wszystko po angielsku/niemiecku ;)
www.ubuntu-pomoc.org - tutaj znajdziesz rozwiązanie każdego Twojego problemu.

Chcesz zostać Redaktorem ubuntu-pomoc.org? Skontaktuj się ze mną!
Awatar użytkownika
beluosus
Zakręcona Traszka
Zakręcona Traszka
Posty: 695
Rejestracja: 01 paź 2006, 15:32
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Architektura: x86
Kontakt:

Odp: Pierwsze programowania

Post autor: beluosus »

luzakwielki pisze:A skąd wiesz czy chce nadpisać, a nie dopisać na końcu istniejącego pliku?
Nie wiem, napisałem wyraźnie, że 'może'!
Kurs Linuksa: for i in $(ls /bin); do man $i; done
__________________
http://beluosus.pl/
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 11 gości