Difference between revisions of "Directory:Derek Elder/Programs/PhonebookSystem"
MyWikiBiz, Author Your Legacy — Thursday October 23, 2025
Jump to navigationJump to searchDerek Elder (talk | contribs) (Start of linux shell program upload) |
Derek Elder (talk | contribs) (Complete transfer) |
||
| Line 13: | Line 13: | ||
do | do | ||
case $choice in | case $choice in | ||
| − | + | 1) | |
| + | addanother=1 | ||
| + | while [ $addanother != 0 ] | ||
| + | do | ||
| + | echo "Enter the name to add: " | ||
| + | read name | ||
| + | echo "Enter the phone number to add: " | ||
| + | read number | ||
| + | echo "The added entry will be $name:$number" | ||
| + | echo "Is this the entry you wish to add? Enter [Y]es or [N]o" | ||
| + | read entry | ||
| + | if [ $entry == "Y" -o $entry == "y" ] | ||
| + | then | ||
| + | echo "$name:$number" >> $book | ||
| + | echo "Add has been performed" | ||
| + | else | ||
| + | echo "Add has not been performed" | ||
| + | fi | ||
| + | echo "Enter 1 if you would like to add another entry, enter 0 to exit." | ||
| + | read addanother | ||
| + | done;; | ||
| + | 2) | ||
| + | deleteanother=1 | ||
| + | count=0 | ||
| + | while [ $deleteanother != 0 ] | ||
| + | do | ||
| + | echo "Enter the name to be deleted: " | ||
| + | read name | ||
| + | grep -n $name $book > countbook | ||
| + | count=`cat countbook | wc -l` | ||
| + | if [ $count -eq 0 ] | ||
| + | then | ||
| + | echo "Error, no matches were found." | ||
| + | else | ||
| + | grep -n $name $book | ||
| + | echo "Which line number would you like to delete?" | ||
| + | read linum | ||
| + | sed "$linum d" $book > temp | ||
| + | temp > $book | ||
| + | fi | ||
| + | echo "Enter 1 if you would like to delete another entry, enter 0 to exit." | ||
| + | read deleteanother | ||
| + | done;; | ||
| + | 3) | ||
| + | echo "List choices" | ||
| + | echo " 1. List Entry" | ||
| + | echo " 2. List File" | ||
| + | read menuchoice | ||
| + | if [ $menuchoice -eq 1 ] | ||
| + | then | ||
| + | echo "Enter the name to list: " | ||
| + | read name | ||
| + | grep -n $name $book | ||
| + | else | ||
| + | echo "Press <enter> to go forward through the file line by line." | ||
| + | echo "Press <b> to go backward through the file one screen at a time." | ||
| + | echo "Press <f> to go forward through the file one screen at a time." | ||
| + | echo "Press <q> when you want to leave the file entry." | ||
| + | echo "Press <enter> when you want to continue." | ||
| + | read dummy | ||
| + | cat $book | less | ||
| + | fi;; | ||
| + | 4) | ||
| + | changes=y | ||
| + | count=0 | ||
| + | while [ $changes == "Y" -o $changes == "y" ] | ||
| + | do | ||
| + | echo "Please enter the name you would like to change: " | ||
| + | read name | ||
| + | grep -n $name $book | ||
| + | grep -n $name $book > tempfile | ||
| + | count=`cat tempfile | wc -l` | ||
| + | if [ $count -gt 0 ] | ||
| + | then | ||
| + | echo "Please enter the line number you would like to change: " | ||
| + | read linum | ||
| + | sed -n "$linum p" $book > linumtemp | ||
| + | echo "Which would you like to change: " | ||
| + | echo " 1. Name" | ||
| + | echo " 2. Number" | ||
| + | read menuchoice | ||
| + | if [ $menuchoice -eq 1 ] | ||
| + | then | ||
| + | oldnumber=`cat linumtemp | cut -d: -f2` | ||
| + | echo "Please enter the new name: " | ||
| + | read newname | ||
| + | sed "$linum d" $book >> tempbook | ||
| + | mv tempbook $book | ||
| + | echo "$newname:$oldnumber" >> $book | ||
| + | else | ||
| + | oldname=`cat linumtemp | cut -d: -f1` | ||
| + | echo "Please enter the new number: " | ||
| + | read newnumber | ||
| + | sed "$linum d" $book >> tempbook | ||
| + | mv tempbook $book | ||
| + | echo "$oldname:$newnumber" >> $book | ||
| + | fi | ||
| + | else | ||
| + | echo "Error, no match found in the phone book." | ||
| + | fi | ||
| + | echo "More changes? [Y]es or [N]o" | ||
| + | read changes | ||
| + | done;; | ||
| + | *) | ||
| + | echo "Error, please enter a valid choice";; | ||
esac | esac | ||
echo "1) Add an entry" | echo "1) Add an entry" | ||
Latest revision as of 07:13, 7 February 2010
echo "Please enter the name of your phonebook: "
read book
echo "Phone book system"
echo "1) Add an entry"
echo "2) Delete an entry"
echo "3) List file or entry"
echo "4) Change an entry"
echo "5) Exit system"
echo "Please enter your menu choice: "
read choice
while[ $choice != 5 ]
do
case $choice in
1)
addanother=1
while [ $addanother != 0 ]
do
echo "Enter the name to add: "
read name
echo "Enter the phone number to add: "
read number
echo "The added entry will be $name:$number"
echo "Is this the entry you wish to add? Enter [Y]es or [N]o"
read entry
if [ $entry == "Y" -o $entry == "y" ]
then
echo "$name:$number" >> $book
echo "Add has been performed"
else
echo "Add has not been performed"
fi
echo "Enter 1 if you would like to add another entry, enter 0 to exit."
read addanother
done;;
2)
deleteanother=1
count=0
while [ $deleteanother != 0 ]
do
echo "Enter the name to be deleted: "
read name
grep -n $name $book > countbook
count=`cat countbook | wc -l`
if [ $count -eq 0 ]
then
echo "Error, no matches were found."
else
grep -n $name $book
echo "Which line number would you like to delete?"
read linum
sed "$linum d" $book > temp
temp > $book
fi
echo "Enter 1 if you would like to delete another entry, enter 0 to exit."
read deleteanother
done;;
3)
echo "List choices"
echo " 1. List Entry"
echo " 2. List File"
read menuchoice
if [ $menuchoice -eq 1 ]
then
echo "Enter the name to list: "
read name
grep -n $name $book
else
echo "Press <enter> to go forward through the file line by line."
echo "Press <b> to go backward through the file one screen at a time."
echo "Press <f> to go forward through the file one screen at a time."
echo "Press <q> when you want to leave the file entry."
echo "Press <enter> when you want to continue."
read dummy
cat $book | less
fi;;
4)
changes=y
count=0
while [ $changes == "Y" -o $changes == "y" ]
do
echo "Please enter the name you would like to change: "
read name
grep -n $name $book
grep -n $name $book > tempfile
count=`cat tempfile | wc -l`
if [ $count -gt 0 ]
then
echo "Please enter the line number you would like to change: "
read linum
sed -n "$linum p" $book > linumtemp
echo "Which would you like to change: "
echo " 1. Name"
echo " 2. Number"
read menuchoice
if [ $menuchoice -eq 1 ]
then
oldnumber=`cat linumtemp | cut -d: -f2`
echo "Please enter the new name: "
read newname
sed "$linum d" $book >> tempbook
mv tempbook $book
echo "$newname:$oldnumber" >> $book
else
oldname=`cat linumtemp | cut -d: -f1`
echo "Please enter the new number: "
read newnumber
sed "$linum d" $book >> tempbook
mv tempbook $book
echo "$oldname:$newnumber" >> $book
fi
else
echo "Error, no match found in the phone book."
fi
echo "More changes? [Y]es or [N]o"
read changes
done;;
*)
echo "Error, please enter a valid choice";;
esac
echo "1) Add an entry"
echo "2) Delete an entry"
echo "3) List file or entry"
echo "4) Change an entry"
echo "5) Exit system"
echo "Please enter your menu choice: "
read choice
done