So, with the fleet engaged in the Laurentian system (why the hell was it there anyway?), all the cadets received provisional ranks? Not Kirk though, he was grounded.
AFAIK, the cadets were technically already graduated. Including Kirk. The crisis at Vulcan interrupted the final ceremony. So assuming Kirk graduated with the rank of Lieutenant, like he did in TOS, then his subsequent jump to Captain didn't matter *quite* so much - he only skipped over two ranks. (In the novelization, he is referred to repeatedly as Lieutenant Kirk.)
That being said, though, while I am well aware the film would end with Kirk as Captain,
why didn't they do a flash forward? A simple "Three years later..." would have done nicely.