C++ program shows the use of pointers when accessing structure information from a function. : pointer « Pointer « C++ Tutorial






#include <iostream>

#define iSTRING15 15
#define iSTRING20 20
#define iNULL_CHAR 1
#define iMAX_BOATS 50

using namespace std;
  
int iinstock;

struct stboat {
 char sztype [iSTRING15 + iNULL_CHAR];
 char szmodel[iSTRING15 + iNULL_CHAR];
 char sztitle[iSTRING20 + iNULL_CHAR];
 char szcomment[80];
 int iyear;
 long int lmotor_hours;
 float fretail;
 float fwholesale;
};

void vprint_data(stboat *stany_boatptr);

int main(void)
{
 int i;
 char newline;
 stboat astNineveh[iMAX_BOATS],*pastNineveh;
 pastNineveh=&astNineveh[0];
  
 cout << "How many boats in inventory? ";
 cin >> iinstock;

 for (i=0; i<iinstock; i++) {
   cout << "\nPlease enter the make of the boat: ";
   cin >> pastNineveh->sztype;

   cout << "\nPlease enter the model of the boat: ";
   cin >> pastNineveh->szmodel;

   cout << "\nPlease enter the title number for the boat: ";
   cin >> pastNineveh->sztitle;

   cout << "\nPlease enter the model year for the boat: ";
   cin >> pastNineveh->iyear;

   cout << "\nPlease enter the current hours on "
        << "the motor for the boat: ";
   cin >> pastNineveh->lmotor_hours;
  
     cout << "\nPlease enter the retail price of the boat: ";
   cin >> pastNineveh->fretail;

   cout << "\nPlease enter the wholesale price of the boat: ";
   cin >> pastNineveh->fwholesale;

   cout << "\nPlease enter a one line comment about the boat: ";
   cin.get(newline);   // process carriage return
   cin.get(pastNineveh->szcomment,80,'.');
   cin.get(newline);   // process carriage return

   pastNineveh++;
 }

 pastNineveh=&astNineveh[0];
 vprint_data(pastNineveh);

 return (0);
}

void vprint_data(stboat *stany_boatptr)
{
 int i;
 for (i=0; i<iinstock; i++) {
   cout << "A " << stany_boatptr->iyear << " "
        << stany_boatptr->sztype << " "
        << stany_boatptr->szmodel << " beauty with "
        << stany_boatptr->lmotor_hours << " low hours.\n";
   cout << stany_boatptr->szcomment << endl;
   cout << "Grab the deal by asking your Nineveh "
        << "salesperson for #";
   cout << stany_boatptr->sztitle << "ONLY! $"
        << stany_boatptr->fretail << "\n\n";
   stany_boatptr++;
 }
}








11.1.pointer
11.1.1.What is stored in a pointer.
11.1.2.Allocating and deleting a pointer
11.1.3.Finding Out What Is Stored in Pointers
11.1.4.Manipulating Data by Using Pointers
11.1.5.Using a pointer to print the contents of the array
11.1.6.C++ program shows the use of pointers when accessing structure information from a function.
11.1.7.Pointers to Derived Types
11.1.8.Manually create a call-by-reference using a pointer.