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:

  1. Define the "Record" struct, outside of main()
  2. Declare a local variable "myRec", of type "Record"
  3. Call MungeRecord, then print out the effect on myRec
  4. Call MungeRecordForReal, then print out the effect on myRec
  5. Call MungeRecordFail, then print out the effect on myRec

We will be fleshing the main function out in subsequent steps.

Use the following as the starting skeleton for your program:


#include <iostream>
#include <stdlib>   // This defines the library for atoi()

// ADD #include's HERE FOR ANY OTHER LIBRARIES YOU USE

using namespace std;

// ADD ANY GLOBAL CONSTANTS HERE

// STEP 1: ADD YOUR "Record" STRUCTURE DEFINITION HERE

int main(int argc, char *argv[]) {

    // STEP 2: DECLARE A LOCAL VARIABLE "myRec" HERE, OF TYPE "Record"
    //   INITIALIZE THE MEMBERS FROM argv[] ELEMENTS

    // STEP 3: WRITE THE FUNCTION MungeRecord() DOWN BELOW, AFTER main().
    // ADD CALL TO MungeRecord() HERE, PASSING IN myRec AS ARGUMENT

    // AFTER IT RETURNS, PRINT OUT THE CONTENTS OF myRec

    // STEP 4: WRITE THE FUNCTION MungeRecordForReal() DOWN BELOW, AFTER main().
    // ADD CALL TO MungeRecordForReal() HERE, PASSING IN myRec AS ARGUMENT

    // AFTER IT RETURNS, PRINT OUT THE CONTENTS OF myRec
    // (Step 4 can be done by just cutting-and-pasting Step 3 above, then
    //  editing it slightly)

    // STEP 5: WRITE THE FUNCTION MungeRecordFail() DOWN BELOW, AFTER main().
    // ADD CALL TO MungeRecordFail() HERE, PASSING IN myRec AS ARGUMENT

    // AFTER IT RETURNS, PRINT OUT THE CONTENTS OF myRec
    // (Again, can just cut-and-paste from Step 3 above, then
    //  edit it slightly)

    return 0;
}

//
// NOW, ADD YOUR OTHER FUNCTIONS HERE
//   (Do not put it ABOVE main()! )
//