Cita de: leosansan en 29 Octubre 2012, 21:53 PM
Tienes que pasar a la función menú la variable opción por referencia, para luego usar el valor adecuado en la función main.
Por otro lado en los for puedes poner la condición terminar de leer frase al llegar al carácter nulo='\0'. Más o menos te quedaría así:Código (cpp) [Seleccionar]#include <stdio.h>
#include <string.h>
int menu(int *opcion);
void mayus(char*);
void minus(char*);
int main()
{ char frase[80];
int opcion=0,op;
printf("Introduce una frase \n");
gets(frase);
op=menu(&opcion);
if (op==1)
mayus(frase);
if (op==2)
minus(frase);
return 0;
}
int menu(int *opcion)
{
printf("1.Pasar a mayusculas\n");
printf("2.Pasar a minusculas\n");
do
{
printf("Introduce opcion: \n");
scanf("%d",&opcion);
}while(opcion<1 || opcion>2);
return opcion;
}
void mayus(char *frase)
{
int t;
for(t=0;frase[t]!='\0';t++)
frase[t]=toupper(frase[t]);
printf("%s",frase);
}
void minus(char *frase)
{
int t;
for(t=0;frase[t]!='\0';t++)
frase[t]=tolower(frase[t]);
printf("%s",frase);
}
Saludos!.
muchas gracias!! ya he visto mis fallos que son bastantes, aun me queda por aprender, pero dicen que de los fallos se aprende