#include <string>
#include <cctype>
#include <iostream>
#include <algorithm>

int main()
{
    std::string str = "loop through a string and uppercase each letter\n" ;

    for( char& c : str ) c = std::toupper(c) ; // 1
    std::cout << str ;

    for( std::string::iterator iter = str.begin() ; iter != str.end() ; ++iter ) // 2
          *iter = std::tolower( *iter ) ;
    std::cout << str ;

    for( std::string::size_type i = 0 ; i < str.size() ; ++i ) // 3
          str[i] = std::toupper(str[i]) ;
    std::cout << str ;

    std::transform( str.begin(), str.end(), str.begin(), ( int(*)(int) )std::tolower ) ; // 4
    std::cout << str ;
}
