Ciao,
Per input intero intendevo la variabile \"secondi\" che viene passata alla funzione.
Se puoi usare la divisione, comunque non ci sono problemi se puoi usare solo 8bit per una costante... x/3600 == (x/60)/60 ed ottieni lo stesso risultato effettuando due divisioni invece di una (il problema è se sei interessato al resto della doppia divisione - in quel caso dovrai far un calcolo del genere: ( (x/60)+(x%60) ) / 60...
Per il sistema delle sottrazioni successive, non cambia il modo di procedere... implementa una funzione che ti calcola una divisione ed una che ti calcola il resto con tali sistemi ed usale, con attenzione, al posto dei simboli / e % (il secondo, se non fosse chiaro è l'operatore di modulo, ovvero il resto della divisione intera).
Ricapitolando, se hai modo di usare le divisioni ed hai costanti di più di 8bit:
_ore=secondi/3600;
_resto1=secondi%3600; //Variabile d'appoggio per comodità
_minuti=_resto1/60;
_secondi=_resto1%60;
Se hai costanti ad 8bit (ma puoi fare le divisioni):
_parziale=(secondi/60)+(secondi%60);
_ore=_parziale/60;
_resto1=_parziale%60;
_minuti=_resto1/60;
_secondi=_resto1%60;
Se non puoi fare le divisioni ed hai costanti di più di 8 bit:
_ore=divisione(secondi,3600);
_resto1=resto(secondi,3600);
_minuti=divisione(_resto1,60);
_secondi=resto(_resto1,60);
Se non puoi fare le divisioni ed hai costanti di 8 bit:
_parziale=divisione(secondi,60)+resto(secondi,60);
_ore=divisione(_parziale,60);
_resto1=resto(_parziale,60);
_minuti=divisione(_resto1,60);
_secondi=resto(_resto1,60);
Restano solo da implementare le due funzioni (divisione e resto) in caso tu non possa fare le divisioni ed i resti con i comuni operatori / e %.
Ciaociao