Before you post any more code which is splatted all over the page, read this carefully: How to post code properly
You can post your code here if you like, but if you have been told not to do so by your prof/lecturer then you can be fairly sure that they keep an eye on this forum for posts like yours. Kinda obvious thing for them to do.
A few things for you to ponder though:
int i_redLedC = 7;
int i_amberLedC = 6;
int i_greenLedC = 5;
int i_redLedD = 7;
int i_amberLedD = 6;
int i_greenLedD = 5;
Doesn't something strike you as odd about these?
As His Grumpiness has pointed out, it takes about two minutes to go through the while loop once, so are you actually waiting 6 minutes for it to finish going round the loop three times? If you are, how do you know that it isn't getting out of that loop? Unless I've missed something after a cursory glance at the code, it looks to me like it has no choice but to finish after it's executed the while loop 3 times.
Unlike His Grumpiness, I'd say that for now your best bet is to get it working with delay() and then if you have any time left before this is due, try to figure out how to do this without delay() (hmmm - is there a pun in there?).
You really need to read up on the use of Serial.available() and also take into account that when you type something followed by Enter to the Serial monitor, it will send carriage return and/or linefeed as well.