¿El compilador no da ningún error? Es útil para saber donde están los problemas. Por otro lado, una cosa también muy útil es indentar, es deccir, tabular el código.
#include<stdio.h>
#include<stdlib.h>
int main ()
{
int num, a, b, opcion, op1, num3, num4, num5;
a=0;
printf("Ingrese el número: \n");
scanf("%d", &num);
printf("Menú:\n");
printf("1) Primo\n");
printf("2) Palíndromo\n");
printf("3) Abundante\n");
printf("4) Deficiente\n");
printf("5) Perfecto\n");
printf("Ingrese la opción\n");
scanf("%d", &opcion);
switch(opcion)
{
case 1:
for(b=1;b<=num;b++)
{
if(num%b==0)
{
a++;
}
}
if(a==2)
{
printf("El número es primo");
}
else
{
printf("El número no es primo");
}
break;
}
return 0;
}
Y ahora vemos has hecho una cosa muy rara con el switch case, creo que no entiendes del todo bien como funciona y seguramente el error tire de ahí. Y por otro lado, tengo serias dudas de que eso detecte si es un número primo, pero tampoco me he puesto a pensarlo mucho.
Ps: No sé programar en C. Así que tampoco te sé decir la sintáxis correcta del switch case.