Pejman Moghadam / C-programming

C++ - loop and conditions example

Public domain


// ask for a person's name, and generate a framed greeting
#include <iostream>
#include <string>

using namespace std;

int main()
{
  // ask for the person's name
  cout << "Please enter your first name: ";
  string name;
  cin >> name;

  // build the message that we intend to write
  const string greeting = "Hello, " + name + "!";

  // the number of blanks surrounding the greeting
  const int pad = 6;

  // the number of rows and columns to write
  const int rows = pad * 2 + 3;
  const string::size_type cols = greeting.size() + pad * 2 + 2;

  // write a blank line to separate the output from the input
  cout << endl;

  for (int i=0; i < rows; ++i)
  {
    for (string::size_type j=0; j < cols; ++j)
    {
      if (j == 0 || j == cols - 1 || i == 0 || i == rows - 1)
        cout << "*";
      else if (i == pad + 1 && j > pad && j < cols - pad - 1)
      {
        cout << greeting;
        j += greeting.size() - 1;
      }
      else
        cout << " ";
    }
    cout << endl;
  }
  return 0;
}

Output :

Please enter your first name: Pejman

****************************
*                          *
*                          *
*                          *
*                          *
*                          *
*                          *
*      Hello, Pejman!      *
*                          *
*                          *
*                          *
*                          *
*                          *
*                          *
****************************

BY: Pejman Moghadam
TAG: cpp, string-size-type
DATE: 2011-09-18 00:00:51


Pejman Moghadam / C-programming [ TXT ]