Bueno gracias a los que respondieron, pero mencione que no debia usar las tolower y to upper de la cctype.h
Bueno el caso es que ya realice el codigo y hace lo que yo queria que hiciera
y el otro for que queria simplemente continua donde se quedo el anterior,es decir antes del espacio (por que el usuario va a introducir el Nombre y el Apellido y pues son dos palabras separadas y cada una debe de empezar con MAYUS y el resto deben ser minusculas) y los for son secuenciales uno tras otro
Código:
#include<iostream>
#include<stdio.h>
#include <stdlib.h>
int main ()
{
int i;
char nombre[20];
printf("introduce tu nombre completo: ");
gets(nombre);
if(nombre[0]>=97 && nombre[0]<=122)
printf("Nombre: %c",nombre[0]-32);
else
{printf("Nombre: %c",nombre[0]);}
for(i=1; nombre[i]!=32;i++)//evaluar despues de el 0 de la cadena
{
if(nombre[i]>=65 && nombre[i]<=90)
printf("%c", nombre[i]+32);
else printf("%c", nombre[i]);
}
for(int j=i+1; j<i+2;j++)
{
if(nombre[j]>=97 && nombre[j]<=122)
printf("\nApellido: %c", nombre[j]-32);
else
{printf("\nApellido: %c",nombre[j]);}
}
for(int k=i+2; nombre[k]!='\0';k++)
{
if(nombre[k]>=65 && nombre[k]<=90)
printf("%c", nombre[k]+32);
else printf("%c", nombre[k]);
}
return 0;
}
Caso contrario a que cuando yo usaba string en lugar de caracter en el string si debia saber exactamente las posiciones en donde se habia quedado la cadena al llegar al espacio y me ignoraba la conversion de las letras que debian ir en MAYUS, o sea las primeras de cada palabra