CR('0x0d')も取れ。

#include <stdio.h>
#include <conio.h>

void main()
{
    int c;
    while (1){
        c = getche();
        switch (c){
            case 0x1b: // escape
                putchar('\n');
                goto loop_end;
            case 0x0d: // carriage return
                putchar('\n');
                break;
            default:
                printf("%c", c);
        }
    }
loop_end:
}