Абе това switch е пълна пародия... С ифове се пише много разбираемо,лесно и кратко.
Масивите се декларират като глобални не в цикъла.
int a[128],b[128],c[128],i=1;
char c;
while(1)
{
cin>>c;
if(c=='.') break; //ако въведем "точка" програмата спира
if(c=='+') c[i]=a[i]+b[i];
if(c=='-') c[i]=a[i]-b[i];
if(c=='*') c[i]=a[i]*b[i];
if(c=='/') c[i]=a[i]/b[i];
i++;
}
ей тва ти е решението с ифове.
втората става с обхождане на числата от a до b и проверка дали числото се дели на p. Пробвай да я напишеш и ако не стане дай сорса да видя.