per inibire il return carriege, prova a gestire
le proprietà X e Y della shell... (console DOS)
facendo in modo che dopo l'invio il cursore si sposti
avanti di X spazi sulla stessa riga Y.
prova con la funzione (non standard) gotoxy(x, y)
Bisogna includere <conio.h> (Se usi Dev C++ <conio.c>)
Altrimenti, se il tuo compilatore non la "riconosce",
e sei sotto Windows, prova a scriventene una...
codice:
#include <windows.h>

void gotoxy(int x, int y){
    COORD coor;
    HANDLE hOutput;
    hOutput = GetStdHandle(STD_OUTPUT_HANDLE); 
    coor.X = x;
    coor.Y = y;
    SetConsoleCursorPosition(hOutput,coor);
}
Per non visualizzare a video l'inserimento di un carattere...

char c;
c=getch();

getch() non è una funzione standard,
in alcuni compilatori C++
viene sostituita da _getch() (con l'underscore)
N.B. bisogna includere <conio.h>