Basic Structure
You will be writing a program that parses its command-line arguments, puts the information into a structure that you define, then test the effects of various parameter-passing models on data. You will also be doing simple pointer manipulation.
At the bottom of this page is a rough template for your program: copy it as your starting point. A quick outline of what your program will do:
- Define the "Date" struct, outside of main()
- Declare a local variable "myDate", of type "Date"
- Call ModifyDate, then print out the effect on myDate
- Call ModifyDateForReal, then print out the effect on myDate
We will be fleshing the main function out in subsequent steps.
Use the following as the starting skeleton for your program:
(Do not be concerned right now about how complex the template seems--
we will fill out each part together one by one in the following steps.)
#include <iostream>
// ADD #include's HERE FOR ANY OTHER LIBRARIES YOU USE
using namespace std;
// ADD ANY GLOBAL CONSTANTS HERE
// STEP 1: ADD YOUR "Date" STRUCTURE DEFINITION HERE
int main(int argc, char *argv[]) {
// STEP 2: DECLARE A LOCAL VARIABLE "myDate" HERE, OF TYPE "Date"
// INITIALIZE THE MEMBERS OF "myDate" TO REPRESENT 1/1/2001,
// WITH TYPE == 'H' FOR "holiday"
// STEP 3: WRITE THE FUNCTION ModifyDate() DOWN BELOW, AFTER main().
// ADD CALL TO ModifyDate() HERE, PASSING IN myDate AS ARGUMENT
// AFTER IT RETURNS, PRINT OUT THE CONTENTS OF myDate
// STEP 4: WRITE THE FUNCTION ModifyDateForReal() DOWN BELOW, AFTER main().
// ADD CALL TO ModifyDateForReal() HERE, PASSING IN myDate AS ARGUMENT
// AFTER IT RETURNS, PRINT OUT THE CONTENTS OF myDate
// (Step 4 can be done by just cutting-and-pasting Step 3 above, then
// editing it slightly)
return 0;
}
//
// NOW, ADD YOUR OTHER FUNCTIONS HERE
// (Do not put it ABOVE main()! )
//