ÿþ F I T 2 1 0 0 A s s i g n m e n t # 1 B u i l d i n g a G r a p h i c a l S h e l l
w i t h C P r o g r a m m i n g S e m e s t e r 2 2 0 1 8
M r D a n i e l K o s
A d m i n T u t o r , F a c u l t y o f I T . E m a i l : © 2 0 1 6 - 2 0 1 8 , M o n a s h U n i v e r s i t y
A u g u s t 1 , 2 0 1 8
© 2 0 1 6 - 2 0 1 8 , F a c u l t y o f I T , M o n a s h U n i v e r s i t y
- - - - P A G E - - - -
R e v i s i o n S t a t u s
$ I d : F I T 2 1 0 0 - A s s i g n m e n t - 0 1 . t e x , V e r s i o n 1 . 0 2 0 1 7 / 0 8 / 1 2 1 8 : 0 0 J o j o $
$ I d : F I T 2 1 0 0 - A s s i g n m e n t - 0 1 . t e x , V e r s i o n 2 . 0 2 0 1 8 / 0 6 / 1 8 1 8 : 0 0 D a n i e l $
$ I d : F I T 2 1 0 0 - A s s i g n m e n t - 0 1 . t e x , V e r s i o n 2 . 4 2 0 1 8 / 0 7 / 2 5 1 8 : 3 0 D a n i e l $
$ I d : F I T 2 1 0 0 - A s s i g n m e n t - 0 1 . t e x , V e r s i o n 2 . 5 2 0 1 8 / 0 7 / 3 1 1 1 : 4 5 J o j o $
B a s e d o n c o m m a n d - l i n e i n t e r f a c e a s s i g n m e n t p r e p a r e d f o r F I T 2 1 0 0
i n 2 0 1 6 - 2 0 1 7 b y D r J o j o W o n g .
A d a p t e d t o g r a p h i c a l s h e l l a s s i g n m e n t b y D a n i e l K o s .
© 2 0 1 6 - 2 0 1 8 , F a c u l t y o f I T , M o n a s h U n i v e r s i t y
- - - - P A G E - - - -
C O N T E N T S 3
C o n t e n t s
1 I n t r o d u c t i o n 4
2 G r a p h i c a l S h e l l 4
2 . 1 B a c k g r o u n d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 . 1 . 1 O b j e c t i v e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2 . 1 . 2 P r e p a r a t i o n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 . 2 T a s k 1 : B u i l d i n g t h e E s s e n t i a l P r o g r a m S t r u c t u r e . . . . . . . . . . . . . . . 6
2 . 3 T a s k 2 : G r a p h i c a l U s e r I n t e r f a c e . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 . 4 T a s k 3 : A d v a n c e d F i l e O p e r a t i o n s . . . . . . . . . . . . . . . . . . . . . . . . 1 0
2 . 4 . 1 O p t i o n A : F i l e p r o p e r t i e s . . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 . 4 . 2 O p t i o n B : C u t , c o p y , p a s t e . . . . . . . . . . . . . . . . . . . . . . . 1 2 2 . 4 . 3 O p t i o n C : C r e a t e a n d e d i t f i l e s . . . . . . . . . . . . . . . . . . . . . 1 2
2 . 5 I m p o r t a n t N o t e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3
2 . 6 M a r k i n g C r i t e r i a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 3
3 S u b m i s s i o n 1 3
3 . 1 D e l i v e r a b l e s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 4 3 . 2 A c a d e m i c I n t e g r i t y : P l a g i a r i s m a n d C o l l u s i o n . . . . . . . . . . . . . . . . . . 1 4
© 2 0 1 6 - 2 0 1 8 , F a c u l t y o f I T , M o n a s h U n i v e r s i t y
- - - - P A G E - - - -
1 I n t r o d u c t i o n 4
1 I n t r o d u c t i o n
T h i s a s s i g n m e n t i s d u e o n 2 4 t h A u g u s t 2 0 1 8 ( F r i d a y ) b y 5 : 0 0 p m . I t i s w o r t h 1 5 % o f t h e t o t a l u n i t m a r k s . A p e n a l t y o f 5 % p e r d a y w i l l a p p l y f o r l a t e s u b m i s s i o n . R e f e r t o t h e F I T 2 1 0 0 U n i t G u i d e f o r t h e p o l i c y o n e x t e n s i o n s o r s p e c i a l c o n s i d e r a t i o n s .
N o t e t h a t t h i s i s a n i n d i v i d u a l a s s i g n m e n t a n d m u s t b e y o u r o w n w o r k . P l e a s e p a y a t t e n t i o n t o S e c t i o n 3 . 2 o f t h i s d o c u m e n t o n t h e u n i v e r s i t y p o l i c i e s f o r t h e A c a d e m i c I n t e g r i t y , P l a g i a r i s m a n d C o l l u s i o n .
T h i s f i r s t a s s i g n m e n t c o n s i s t s o f t h r e e m a i n t a s k s a n d a l l t h r e e t a s k s s h o u l d b e s u b m i t t e d a s t h r e e s e p a r a t e C p r o g r a m s w i t h s u p p o r t i n g d o c u m e n t a t i o n o n u s a g e . A l l t h e p r o g r a m f i l e s a n d a n y s u p p o r t i n g d o c u m e n t s s h o u l d b e c o m p r e s s e d i n t o o n e s i n g l e . t a r . g z f i l e f o r s u b m i s s i o n . ( T h e s u b m i s s i o n d e t a i l s a r e g i v e n i n S e c t i o n 3 . )
A s s e s s m e n t : F o r t h e w o r k i n g p r o g r a m a n d c o d e a r c h i t e c t u r e c o m p o n e n t s o f y o u r a s s i g n m e n t 1 m a r k , t h e 3 t a s k s c a r r y u n e q u a l w e i g h t a g e o f m a r k s w i t h 3 5 % , 4 0 % a n d 2 5 % r e s p e c t i v e l y .
2 G r a p h i c a l S h e l l
2 . 1 B a c k g r o u n d
Y o u a r e c u r r e n t l y g e t t i n g f a m i l i a r w i t h t h e b a s h c o m m a n d l i n e i n t e r f a c e . B a s h i s a n e x a m p l e o f a s h e l l u t i l i t y . A s h e l l i s a n i m p o r t a n t c o m p o n e n t i n a t y p i c a l c o m p u t i n g e n v i r o n m e n t , w h i c h a l l o w s t h e u s e r t o i n t e r a c t w i t h v a r i o u s f u n c t i o n s o f t h e o p e r a t i n g s y s t e m .
B a s h w o r k s b y w a i t i n g f o r u s e r i n p u t ( i n a l o o p ) , a n d r e s p o n d i n g t o e a c h c o m m a n d t h e u s e r t y p e s i n t o a T T Y t e r m i n a l b y d o i n g t h e a c t i o n t h e u s e r r e q u e s t s ( t h e n c o n t i n u i n g t o t h e n e x t i t e r a t i o n o f t h e l o o p , s o t h e u s e r c a n t h e n i n p u t a n o t h e r c o m m a n d , r e p e a t i n g u n t i l t h e u s e r d e c i d e s t o q u i t ) . H o w e v e r , l e a r n i n g t o u s e a c o m m a n d - l i n e i n t e r f a c e c a n b e f r i g h t e n i n g t o p e o p l e w h o a r e n t g o o d w i t h c o m p u t e r s . M a n y o p e r a t i n g s y s t e m s s u c h a s W i n d o w s a n d m a c O S p r o v i d e t h e u s e r w i t h a g r a p h i c a l s h e l l s o n o v i c e u s e r s c a n i n t e r a c t w i t h f i l e s u s i n g a m o u s e . ( E x a m p l e s a r e W i n d o w s F i l e E x p l o r e r a n d a l s o t h e F i n d e r i n m a c O S . )
© 2 0 1 6 - 2 0 1 8 , F a c u l t y o f I T , M o n a s h U n i v e r s i t y
- - - - P A G E - - - -
2 . 1 B a c k g r o u n d 5 2 . 1 . 1 O b j e c t i v e
T h e o b j e c t i v e o f t h i s a s s i g n m e n t i s t o i m p l e m e n t a s i m p l i f i e d v e r s i o n o f a g r a p h i c a l s h e l l l i k e y o u m i g h t f i n d i n a p o p u l a r o p e r a t i n g s y s t e m . T h i s w o r k s o n t h e s a m e p r i n c i p l e s a s a c o m m a n d - l i n e s h e l l , b u t a l l o w s t h e u s e r t o p r o v i d e i n p u t i n a g r a p h i c a l w a y b y c l i c k i n g f i l e i c o n s o n t h e s c r e e n , b r o w s i n g f o l d e r s , e t c .
Y o u r s h e l l s h a l l b e i m p l e m e n t e d o n t h e L i n u x o p e r a t i n g s y s t e m i n t h e C p r o g r a m m i n g l a n g u a g e , m a k i n g u s e o f e x t e r n a l L i n u x u t i l i t i e s w h e r e s p e c i f i e d , a n d p r o d u c i n g o u t p u t w i t h i n t h e i o L g r a p h i c a l c o n s o l e e n v i r o n m e n t .
2 . 1 . 2 P r e p a r a t i o n
T h r o u g h o u t y o u r d e g r e e u p t o n o w , w h e n e v e r y o u h a v e p r i n t e d o u t p u t f r o m a p r o g r a m , t h e o u t p u t w a s a l w a y s d i s p l a y e d i n a p l a i n - t e x t t e r m i n a l w i n d o w ( t e c h n i c a l l y k n o w n a s a T T Y ) . A s t a n d a r d T T Y t e r m i n a l i s n o t i d e a l f o r b u i l d i n g a l a v i s h a p p l i c a t i o n . T h e o u t p u t y o u p r i n t c a n o n l y b e d i s p l a y e d s e q u e n t i a l l y , l i n e b y l i n e i n p l a i n t e x t , a n d y o u c a n t d i s p l a y g r a p h i c s o r a s k t h e u s e r t o c l i c k a b u t t o n .
F o r T a s k s 2 a n d 3 , w e w i l l b e r e p l a c i n g t h e t r a d i t i o n a l T T Y w i t h t h e i o L c o n s o l e s y s t e m . Y o u w i l l c o m p i l e y o u r p r o g r a m s i n t h e s a m e w a y , b u t w i l l r u n t h e m i n s i d e a d i f f e r e n t e n v i r o n m e n t .
C o n s i d e r t h e l i n e o f C c o d e b e l o w :
1 p r i n t f ( ”