Quì

fscanf(fp1,"%d%c",&v[i].valore,&v[i].simbolo);
non è il contrario? Prima il simbolo poi il valore esame? Poi prima di fare questo devi verificare se c'è il simbolo e poi inserirlo nello struct.