Hola Phicar, los apuntadores todavía no los he dado..

. Te escribo todo lo que he hecho, seguro que he puesto alguna burrada .
#include <iostream>
using namespace std;
bool EsMayuscula(char let)
{
return(let>='A' && let<='z');
}
bool EsMinuscula(char let)
{
return(let>='a' && let <='z');
}
bool EsLetra(char let)
{
return (EsMayuscula(let));
return(EsMinuscula(let));
}
void AvanzarSeparadores(const char cad[],int& pos)
{
while(pos<100 && !EsLetra(cad[pos]))
pos++;
}
void CambiarMayusculas(const char cad[], int& pos)
{
char let;
for(pos=0;cad[pos]<2;pos++)
{
if(EsMinuscula(let)&& EsLetra(let))
{
let=let-32;
}
cout<< let;
}
}
void CambiarMinusculas(const char cad[],int& pos)
{
char let;
for(pos=2;cad[pos]==EsLetra(let);pos++)
{
if (EsMinuscula(let))
{
let=let+32;
}
cout<<let;
}
}
int main()
{
int i=0;
char cadena[100];
cout<< " Introduzca una frase :"<<endl;
cin.getline(cadena,100);
while (cadena
!='\0'){
AvanzarSeparadores(cadena, i);
CambiarMinusculas(cadena,i);
CambiarMinusculas(cadena,i);
i++;
}
cout<<cadena<<endl;
}