Solved

make a string that gets appended to

Posted on 2004-09-19
5
195 Views
Last Modified: 2010-04-01
i would like to make a string output so i can get the length of it to produce a separating line because the Y value comes from a file and if i set it as a const variable it would in instances be too short or too long heres the function i'd like to update.

void printmapstats(ofstream& mstats, int movestats[][100], int maxX, int maxY)
{
mstats << right << setw(50) << "**********************" << endl<< setw(50)
    << "*   Map Statistics   *" << endl << setw(50)
    << "**********************" << endl << endl;
    int j=0, i = 0;
    mstats << setw(39) << "Y" << endl << "  ";

*** this is the one i'd like to make a string to get a length of to setup a for loop.
    mstats << endl << setw(3) << "*" << setw(5) << "*" << setw(4) << i << setw(2)
    << "*";
    for (int i = 1; i < maxY; i++)
    {
       mstats << setw(4) << i << setw(2) << "*";
    }
    mstats << endl << endl;
***

    for (int i=0; i < maxX; i++)
    {
        if (i == (maxX / 2) - 1)
        {
            mstats << "X" << right << setw(2) << "*" << setw(3) << i << " *" ;
        }
        else
        {
            mstats << setw(3) << "*" << setw(3) << i << " *";
        }
        mstats << setw(4) << movestats[i][j] << " |";
        for (j=1; j < maxY; j++)
        {
            mstats << setw(4) << movestats[i][j] << " |";
        }
        mstats << endl << endl;
    }
}

as of now it prints out:

  *    *   0 *   1 *   2 *   3 *   4 *   5 *   6 *   7 *   8 *   9 *  10 *  11 *

  *  0 *   0 |   1 |   3 |   4 |   7 |   5 |   4 |   3 |   2 |   2 |   1 |   0 |

my desired output would be something like:

  *    *   0 *   1 *   2 *   3 *   4 *   5 *   6 *   7 *   8 *   9 *  10 *  11 *
*****----------------------------------------------------------------------
  *  0 *   0 |   1 |   3 |   4 |   7 |   5 |   4 |   3 |   2 |   2 |   1 |   0 |

Any Ideas?
0
Comment
Question by:marineknight22
  • 2
5 Comments
 
LVL 55

Accepted Solution

by:
Jaime Olivares earned 20 total points
ID: 12148838
Don't have to make a string to calculate, just do this:

int len=0;   // create this variable
*** this is the one i'd like to make a string to get a length of to setup a for loop.
    mstats << endl << setw(3) << "*" << setw(5) << "*" << setw(4) << i << setw(2)
    << "*";
    for (int i = 1; i < maxY; i++)
    {
       mstats << setw(4) << i << setw(2) << "*";
       len += 6;   // accumulate length here
    }
    mstats << endl << endl;
***

    string line(len, '-');   // create string here
    mstats << "*****" << line << endl;    // display it
0
 
LVL 55

Expert Comment

by:Jaime Olivares
ID: 12599975
I think my answer is correct but have to hear to author.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Templates For Beginners Or How To Encourage The Compiler To Work For You Introduction This tutorial is targeted at the reader who is, perhaps, familiar with the basics of C++ but would prefer a little slower introduction to the more ad…
  Included as part of the C++ Standard Template Library (STL) is a collection of generic containers. Each of these containers serves a different purpose and has different pros and cons. It is often difficult to decide which container to use and …
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

864 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now