Non funziona perché la funzione che dovrebbe verificare se un numero è primo o no, in realtà non lo fa correttamente.
Un numero è primo se divisibile soltanto per uno o per se stesso, se il resto della divisone è zero è divisibile anche per altri numeri, di conseguenza in questo caso devi restituire 0 e uscire dal ciclo tramite break.
Nel for() dovresti mettere
codice:for(...........){ ris=numero%i; if (ris==0){ return 0; //se il resto è zero non è un numero primo } } return 1;// se la funzione non termina nel for() il numero è primo