Load catalogue from file, C/C++ Programming

Assignment Help:

Implement a menu driven real estate catalogue system that allows users to perform various catalogue maintenance and search tasks.  You are only allowed to use the C programming language.  You are not allowed to use C++.

Please use the "AssignTemplate.c" file found inside the Assignment Folder of LMS as the basis for your solution.  If you follow that template you will not go far wrong.

Please do not use global variables.  Up to 50% of marks will be lost for assignments that use global variables.

Please do functional decomposition.  Up to 50% of marks will be lost for students who try to write the entire program in one main function or something similar.  There should be at least 5 functions for the assignment.  One function for each task 2 to 4.  Two functions for task 5.  More functions than 5 is highly recommended.  The aim of this rule is to teach you how to pass pointer arguments into functions.

Task 1

The program should be menu driven.  The user should be presented with the following menu:

1. Load catalogue from file

2. Save catalogue to file

3. Display catalogue

4. Search property from catalogue

5. Quit

After selecting one of the above options the corresponding task should be performed.  After completing the selected task, the menu should be displayed again for the user to choose again unless the 5th option is chosen.

Task

Implement the load catalogue from file menu option.  After selecting this option the user should be asked to enter the name of a file to be loaded.  The file should then be loaded into an array of structures.  The array of structures should have been declared in the main function before the load catalogue function was called.  To get full marks for this task you should use run-time (dynamically) allocated memory for the array of structuresIf you use static memory allocation you will lose 5 marks.   You can assume the file will have the following format (note you can find an example input file inside the assignment folder called "example_input.txt", make sure your program at least works with that file).

[Number of properties]

[Address of property]

[Real estate agent firstname], [Real estate agent surname]

[Number of bedrooms]

[Price of property]

...

...

[Address of property]

[Real estate agent firstname], [Real estate agent surname]

[Number of bedrooms]

[Price of property]

The ... stands for intermediate catalogue entries. 

You can assume the property address string to be a maximum of 200 characters.

The firstname and surname strings have a maximum of 100 characters each.

Here is an explanation of the above fields:

 

[Number of properties]     -    This is the number of properties stored in the file

[Address of property] - A string specifying the address of the property, the string may contain spaces, punctuation, and numbers.  However the entire address is specified in one line.  Hint: you can use fgets to read in a whole line at a time.  Use stdin as the file pointer, since you are taking input from the keyboard.

[Real estate agent first name], [Real estate agent last surname] - Two strings which do not contain spaces but are separated by a comma followed by a space.

[Number of bedrooms]  - A number specifying the number of bedrooms in the property

[Price of property]  - Price of the property, it may contain a decimal point.

Below is an example of a catalogue file that contains 2 properties:

2

32 Bugden Ave, Forest Hill, VIC 3108

Peter, Kernighan

3

602000.82

292 Smith St, Blackburn, ACT 3920

 

2

222292.84

If the sample file is copied from windows XP into putty.  You my need to use the following command to change the format of the file from windows to unix:

dos2unix


Related Discussions:- Load catalogue from file

Padovan string, A Padovan string P(n) for a natural number n is defined as:...

A Padovan string P(n) for a natural number n is defined as: P(0) = ‘X’ P(1) = ‘Y’ P(2) = ‘Z’ P(n) = P(n-2) + P(n-3), n>2 where + denotes string concatenation. For a string of t

Luminous jewels polishing necklace, 1.jewels can only be removed for polish...

1.jewels can only be removed for polishing from either end of the necklace. 2.cost of polishing=sitting number*colour value of jewels.

Implement binary heap in c++?, A:BinaryHeap.h ------------ #ifndef BI...

A:BinaryHeap.h ------------ #ifndef BINARY_HEAP_H_ #define BINARY_HEAP_H_ #include "dsexceptions.h" #include "vector.h" // BinaryHeap class // CONSTRUCTION: wi

Expression and their types in cpp, E x p r e s sion and their types: ...

E x p r e s sion and their types: An expression will be in form of mathematical expression with C++ syntax embedded with it. Expressions are of following types which m

Program is to read the characters from keyboard, Program is to read the cha...

Program is to read the characters from keyboard: Program is to read the characters from keyboard one by one stored in different files as upper constants, lower constants, othe

Change to palindrome, a palindrome is a string that reads the same from bho...

a palindrome is a string that reads the same from bhote the ends

Program to draw a circle - c program, Program to draw a circle: int ma...

Program to draw a circle: int main(void) {    /* request auto detection */    int gdriver = DETECT, gmode, errorcode;    int midx, midy;    int radius = 100;

Padovan string, padovan string for n natural numbers p(n)=1,p(n)=2,p(n)=3 a...

padovan string for n natural numbers p(n)=1,p(n)=2,p(n)=3 and use padovan formul to get output 1

Example of array, In this lab, please complete a given program to perform t...

In this lab, please complete a given program to perform the following tasks: 1. Allocate a 10 by 5 2D byte array dynamically. The way of allocation must be consistent with pag

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd