/*
 * @topic T00351 May 2 -- white space indentation
 * @brief Program detects { } braces to print indented text
*/
#include <iostream>
#include <string>
using namespace std;
void indent( int level )
{
    cout << '\n';
    while ( level > 0 ) {
        cout << ' ';
        --level;
    }
}
int main()
{
    string input =
        "if cond { hello"
        " { zzzz }"
        " } "
        "else { bye }\n"
        ;
    int level = 0;
    for ( unsigned int idx = 0; idx < input.length(); ++idx ) {
        if ( input[ idx ] == '{' ) {
            //increase indentation
            ++level;
            indent( level );
        }
        if ( input[ idx ] == '}' ) {
            //reduce indentation
            indent( level );
            --level;
        }
        cout << input[ idx ];
    }
    return 0;
}