Devi, chiaramente, condizionare il deposito alla buona riuscita del prelievo.

Facendo in quel modo il trasferimento tu esegui sempre prima il prelievo, poi il deposito, qualunque sia l'esito del prelievo.

Non hai messo alcuna condizione sulla seconda operazione.

Per non parlare del fatto che il metodo scambioPrel() ha una firma tale da restituire un float... che è sempre 0, visto che dentro al metodo fai solo dei conteggi, ma non vai mai a toccare il valore della variabile "scambioPre", che viene poi restituita.

Dovresti rivedere quei metodi. Parlando dello scambioPrel() dovrebbe fare queste operazioni:

1) Controllo se ho un saldo sufficiente per compiere l'operazione
2) Se non ho un saldo sufficiente, ritorno 0
3) Se ho un saldo sufficiente, scalo dal conto i soldi e ritorno il valore prelevato

In questo modo, puoi controllare la transazione:

1) Se chiamando scambioPrel() ottengo un valore maggiore di zero, allora chiamo scambioDep() passandogli questo valore, altrimenti non faccio nulla.


Ciao.