Hola a todos, bueno el programa que propongo tiene que imprimir Enero 06, de 2007 en lugar de 01/06/07.
Hice la siguiente función:
void Transformar(char *p,int *a,int *b,int *c)
{
char *s=p;//p es la cadena que se ingresa del teclado 01/06/07
int cont=0,n;
for(;*s!='\0';s++)
{
n=10,*c=0;
for(;((*s!='/')||(*s!='\0'));s++)
{
(*c)=(*c)+((*s-46)*(n));
n=n/10;
cont++;
} switch(cont){
case 2:
*a=*c; break;
case 4:
*b=*c; break;
case 6:
{
if ((*c>9)&&(*c<100))
*c=1900+*c;
else if ((*c<10)&&(*c>0))
*c=2000+*c;
break;
}}
}
}
El problema es en la parte con negrita, va todo bien , lo comprobé con el debugger pero cuando *s toma el valor de /, no compara, por lo que nunca sale del bucle.
Ignoro que error estoy cometiendo.
Además como punto extra, no tengo idea de como hacer para que con solo el año ingresado como /aa, pueda determinar que siglo es?, hay como?.
Espero me puedan ayudar.
Gracias.
Saludos.