**Answer ALL of the following four questions and ensure that all code is tested (where possible) using a C/C++ Development Environment. Evidence of working must be shown a screen shots of tried and tested code must be inserted with your answers.**
**This work must be submitted by** **3pm****,** **August 27th 2003****.**
**All questions carry equal marks.**
-----------------
1. A C program contains at least one function. However, just using that one function may not be suitable as far as developing a program is concerned.
(a) State the difference between a function definition and a function declaration. (Support your answer with an example.)
[5 marks]
(b) Modify the code given by [login to view URL] that it prints the binary file to screen (STDOUT). Use the example code [login to view URL] [login to view URL](via the **Programming for Engineers 3** homepage on **engweb**) to help develop your answer
[20 marks]
## Deliverables
2. Compound data structures can be implemented in a C program in three ways.
(a) Explain the term *aggregate* and outline the various categories of these compound data structures.
[5 marks]
(b) How are arrays and structures declared within a C program? Support your answer with example code.
[12 marks]
(c) Explain the concept of pointers and, hence, explain why pointers should be implemented with aggregate data types such as a structure with nested compound data types.
[8 marks]
3. C++ is a superset of the C programming language.
(a) Write and test the C++ code equivalent of the “Hello world?? program that was first used to demonstrate K&R C. Include a number of print statements that state your name, Banner ID and programme of study.
[12 marks]
(b) What would be the function call in C++ in order to set the formatting within the iosclass? Show how this call could be used with a code example.
[13 marks]
4. The C++ programming language allows a system developer to create more abstract user-defined data types.
(a) For the structure below, show with a code example how the member functions could be defined.
struct Date
{
int day, month, year;
void printDateE();
void printDateA();
void addDays( int );
};
[8 marks]
(b) What is the purpose of constructors and destructors in C++? Support your answer with code examples.
## Platform
all files ststed in the qeustions wiill be given if required and alll information will be provided`