KIT107 Programming Assignment Help and Solution, University

Assignment Detail:- KIT107 Programming - University of Tasmania Background The AFL runs Australian Rules football- And the best team in the League is the Carlton football team- A game in Australian rules comprises four quarters and in each quarter there can be a numerous kicks -"shots"- for goal- Goals are worth six points, near misses -"behinds"- are worth one, and shots in which the ball doesn't cross the goal line are worth 0- A score of 3 goals and 2 behinds is written as follows: 3 2 20- You've been asked to track the score throughout a game, present the score at the end of a nominated quarter, draw a kind of histogram illustrating who has the lead and by how much, and finally, report the winning margin- See the section entitled Program Specification for details- The data are organised by quarter -and are presented in the order the shot on goal is kicked-- Each shot is identified by its team -a 0 or a 1- and the outcome: goal -6-, behind -1-, nothing -0-- You don't know how many shots on goal will occur during any given game- You should not score shots on goal which don't register a goal or a behind, and all scoring shots should be stored in the order in which they are presented within their quarter- A text file exists with the required data in it- I will give you code to read this into your program - and it may be different data to the examples shown here- Part Based only on the information above -and not what is in the text file or after this point in this document-: a In two-three sentences, explain the functionality required for your model of a collection of shots on goal for each of the quarters- Which kind of abstract data type -binary tree, general tree, array, stack, priority queue, double-ended queue, set, ordered/unordered list, etc-- is most appropriate for that functionality???? b Which underlying data structure -array or linked-list- will you use as a basis to model the collection of shots on goal for each of the quarters???? In two-three sentences, justify your answer- c In two-three sentences, explain the functionality required for your model of the game -i-e- a collection of quarters-- Which kind of abstract data type -binary tree, general tree, array, stack, priority queue, double-ended queue, set, ordered/unordered list, etc-- is most appropriate for that functionality???? d Which underlying data structure -array or linked-list- will you use as a basis to model the game -i-e- a collection of quarters-???? In two-three sentences, justify your answer- To implement this you would need to define a type called quarter_format to implement your answer to -b- above to represent the collection of scores for a quarter, and also another type -called game_format- to implement your answer to -d- above to create a collection of quarter_formats- From this, the whole game could be defined as a global variable as follows: game the_game; Each of these two types -quarter_format and game_format- can be defined as either an array or as a linked-list- Given the linked-list node from lectures: struct node_int;typedef struct node_int *node; struct node_int{void *data; node next;}; you would either define quarter_format as a linked-list, i-e- typedef node quarter_format; or you would define it as a dynamic array1, i-e- typedef score *quarter_format; Similarly, you would either define game_format as a linked-list, i-e- typedef node game_format; or as a dynamic array, i-e- typedef quarters *game_format; Within the given program files, as with node above, each type -score, quarters, and game- is defined as we've done in lectures- For example, for a score, the header file, score-h, has: struct score_int;typedef struct score_int *score; together with function declarations for the available functions- The source file,score-c, has: struct score_int { int quarter; int team;int worth;}; together with function definitions for the available functions on a score- A Visual Studio project is available on MyLO for you to download and use as a starting point- -If you are not using Visual Studio, then just grab the source files and data file from within the folder-- This starting point comprises the following files:• node-h and node-c - the Node ADT from lectures as the building blocks for linked lists -should you need them-- These files are complete;• score-h and score-c - the Score ADT as specified above- These files are complete;• quarters-h and quarters-c - the Quarters ADT -a collection of scores- as described above- These files are incomplete;• game-h and game-c - the Game ADT -a collection of quarters- as described above- These files are incomplete;• assig_two122-c - the file which contains the main-- function, a function to read the scores in from the text file, some constants, and the the_game global variable- This file is complete-e You must complete quarters-h, game-h, quarters-c, and game-c- Start by adding the quarter_format and game_format type definitions to quarters-h and game-h -respectively- as indicated above according to your choices in -b- and -d-- Then, complete the missing functionality from quarters-c, and game-c- The project also contains the data file- This is just a text file which can be opened and read with most applications- It contains details of scores- Program specificationFirst you must obtain the scores from a text file- The data must be stored in appropriate collections- At the top level there will be a collection of quarters -which comprise the game- and for each quarter there should be a collection of scores -stored in the order they are provided, i-e- first-in-first-out-- As a score is read from the file, the details should be checked- If it is not a goal or a behind, then it should not be included in the collection- Otherwise it should be appended to the data for the quarter in which it occurs- As the data are read in and stored in the collections, the following should occur: i- The nature of the score -none, behind, or goal-, the team with the shot on goal, and the quarter in which it occurs should be displayed- Each quarter should have a subtitle when it commences- The game should have a title indicating the names of the two teams- Once the data have been read in and stored in the collections, the following should occur: ii- The user should enter a quarter number -1-4-- Values below 1 should default to 1 and values above 4 should default to 4- The scores for each team should then be shown, one line for each, for every quarter from 1 up to the quarter number entered -inclusive-- The quarter should be shown as a sub-title, and the activity should have its own title- iii- A kind of horizontal histogram should be shown which demonstrates the magnitude of the lead for the leading team following every score- The histogram should grow from the centre of the screen, to the left when the first team is leading and to the right when the second team is leading- Each team's name should be displayed above the graph and the activity should have its own title- You may assume that the screen has a width of 80 characters and that the lead will never exceed 40 points- iv- The final -winning- margin should be displayed- For all of these, the formatting of your output should conform to the example shown below -with 4 entered for the score breakdown for ii-- Attachment:- Programming-rar




Most Recent Questions

Captcha

Helping Students for Excellence in Academics, GET Help with Assignment? Order Now