non ho capito bene il discorso dell'if...potresti spiegarmelo?

per quanto riguarda il discorso della maiuscola ti riferisci a questa istruzione immagino:
max=min+'A'-'a';

che posso opportunamente modificare utilizzando come hai detto tu il numero 32...
ma ciò che mi preme è capire perchè lo scanf funziona fuori e dentro il while no....