Te refieres a volver al menú principal?
Pues similar a lo que te he dicho, pero pones el repetir = 1 al iniciar el programa y un do while entre el menú principal y el switch las general. y en la opcion de salir pones un repetir = 0;
Algo asi:
repetir = 1;
do
{
printf("menu principal\n\n");
printf("1) funciones trigonometricas\n");
printf("2) funciones matematicas\n");
printf("3) salir\n");
scanf("%d",&menu);
switch(menu)
{
case 1:
clrscr();
printf("menu de funciones trigonometricas\n\n");
printf("1 sen de x\n");
printf("2 cos de x\n");
printf("3 tan de x\n");
printf("4 regresar menu anterior\n");
scanf("%d" ,&menu);
switch (menu)
{
case 1: clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
resultado=sin (num);
printf("el seno del numero es %f",resultado);
break;
case 2:clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
resul=cos (num);
printf("el coseno del numero es %f",resul);
break;
case 3: clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
result=tan (num);
printf("la tangente del numero es %f",result);
break;
} //fin switch menu trigonometricas
break;
case 2: clrscr();
printf("menu de funciones matematicas\n\n");
printf("1 elevar un numero a cualquier potencia\n");
printf("2 obtener la raiz cuadrada de cualquier numero\n");
printf("3 regreso al menu anterior\n");
scanf("%d" ,&menu);
switch (menu)
{
case 1: clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
printf("introduce la potencia a la que se desea elevarse");
scanf("%f" ,&num2);
total=pow(num,num2);
printf("el resultado es %f",total);
break;
case 2: clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
final=sqrt(num);
printf("la raiz cuadrada es %f",final);
break;
case 3: return;
break; //<no tiene sentido un break despues de un return
}//fin switch funciones matematicas
case 3: //opcion para las raices cuadradas
break;
case 4: //<<-- para salir
repetir = 0;
break;
}//fin switch externo (switch principal)
}while (repetir == 1);
Como ves es práticamente identico a lo q te puse. Tal como lo hice se repite hasta que en el menú principal no tecleas 4
No estaria de mas hacer funciones para cada cosa, es decir una funcion para las funciones trigonometricas y otro para las matematicas. En realidad sería hacer las dos funciones con los prototipos void nombre_funcion (void) y dentro copiar literalmente el codigo q tienes en el case 1 (para la primera funcion) y case 2 (para la segunda funcion) y solo te quedaria declarar las variables. si haces eso te queda un programa con esta estructura:
repetir = 1;
do{
//opciones de menu
scanf ("%d", &menu);
switch(menu)
{
case 1:
funcionestrigonometricas();
break;
case 2:
funcionesmatematicas();
break;
case 3:
//lo q sea
break;
case 4:
repetir = 0;
break; //<-no es necesario ponerlo para este caso
}//fin switch
}while (repetir == 1):
para las funciones trigonometricas quedaria algo como;
void funcionestrigonometricas (void)
{
int menu;
float result, num;
printf("menu de funciones trigonometricas\n\n");
printf("1 sen de x\n");
printf("2 cos de x\n");
printf("3 tan de x\n");
printf("4 regresar menu anterior\n");
scanf("%d" ,&menu);
switch (menu)
{
case 1:
clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
resultado=sin (num);
printf("el seno del numero es %f",resultado);
break;
case 2:
clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
resul=cos (num);
printf("el coseno del numero es %f",resul);
break;
case 3:
clrscr();
printf("introduce un numero");
scanf("%f" ,&num);
result=tan (num);
printf("la tangente del numero es %f",result);
break;
}//fin switch
} //fin funcion
como ves es el mismo codigo que tienes hecho, pero mucho mas entendible y organizado.
Para la otra funcion es lo mismo!
Un saludo!