Starting from:

$29

Exercise 1 – Implementing a Stack

Exercise 1 – Implementing a Stack 
           (2 marks) 
This exercise is to be done during your week 2 laboratory class. When you complete the exercise 
show your work to your lab tutor to have your work marked. The marking is based mainly on correct 
implementation and code readability. You should implement your code in one file (e.g. main.c or 
main.cpp, etc.). Make sure your program has a header comment block containing the name of the 
exercise, your name and your student login (e.g. jfk01).  
For this exercise you are to write a program (in C, C++, Java or Python) that reads a text file 
containing a number of words and displays the words on the screen in reverse order using a stack. A 
pseudo‐code outline for the program is given below: 
 Begin main
 display a prompt for the file name
 read in the file name
 try to open the file
 if the file fails to open
 print an error message on the screen and exit
 fi
 do
 read in a word from the file
 if the file read fails
 terminate (break) the loop
 fi
 Push the word onto the stack
 od
 close the file
 while the stack is not empty
 display the top stack word on the screen followed by a space
 pop the top value from the stack
 elihw
 End main
Do not implement the stack using a class or struct or with STL. The stack must be implemented using 
a fixed size array of words and an index integer for indicating the top of the stack. The stack array 
and index should be global variables. A word can be a string or a c‐string (i.e. a character array). You 
can assume no word is more than 20 characters long. The stack functions (i.e. push(), top(), pop(), 
isEmpty() ) should be implemented below the main() and prototyped above the main(). 
When you are finished, test your program using the provided text file named “Ex1.txt” and show 
your code and the output to your lab tutor to receive your mark.  
When you are finished, test your program using the provided text file named “Ex1.txt” and submit it 
via moodle. 
You should submit two files: 
  ex1.ext and out1.txt where ext is one of c, cpp, java or py. 
Make sure you submit both files in a single submission and that they are not zipped.  
Files that are incorrectly named will not be marked! 

More products