Tranquilo con lo de no combiar c con c++ generalmente suelen suceder esas confuciones cuando se trabaja con memoria dinamica
pero ya eso lo veras viendo ademas si algo no conoces para eso estamos en el foro para ayudarte con tus dudas
te dejo esta version
#include<iostream>
#include<cctype>
using namespace std;
int main(){
string minuscula="soy pura minuscula xd";
string mayuscula="ESTOY TODA EN MAYUSCULA";
string aMayuscula="";
string aMinuscula="";
for(int i=0;i<minuscula.length();i++){
//obtiene caracter por caracter aplica la funcion toupper en si equivalente int
//lo volvemos a convertir a ascii
aMayuscula=aMayuscula+char(toupper(minuscula[i]));//concatenamos
}
cout<<aMayuscula<<endl;//mostramos el resultado
for(int i=0;i<mayuscula.length();i++){
aMinuscula=aMinuscula+char(tolower(aMayuscula[i]));//concatenamos
}
cout<<aMinuscula<<endl;//mostramos el resultado
cin.get();
cin.get();
return 0;
}
aparte te dejo este ejemplo de tabla ascii
que creo te vendra bien
#include<iostream>
#include<cctype>
using namespace std;
int main(){
//conversiones de valores en la tabla ascii
//la tabla ascii cuenta con 255 caracteres
int num=int('a');//convertimos caracter a su equivalente numerico
cout<<"soy el numero "<<num<<" en la tabla ascii"<<endl;
char caracter=char(65);//convertimos un numero a su equivalente caracter
cout<<"soy el caracer "<<caracter<<" en la tabla ascii "<<endl;
cout<<endl;
//imprimimos toda la tabla ascii
for(int i=65;i<=122;i++){
cout<<char(i)<<" ";
}
cout<<endl;
cout<<endl;
for(char j='A';j<='z';j++){
cout<<int(j)<<" ";
}
cin.get();
cin.get();
return 0;
}
pagina sobre la tabla acii
http://www.elcodigoascii.com.ar/codigos-ascii-extendidos/cuadrado-negro-caracter-grafico-codigo-ascii-254.htmlhttp://es.wikipedia.org/wiki/ASCII