Quay lại dòng vừa nhập trong C++

Em có đoạn code như này:

cout<<"Nhap ngay sinh: ";
cin>>Ngay;
cout<<"/";
cin>>Thang;
cout<<"/";
cin>>Nam;

VD như:

Nhap ngay sinh: 01/01/01

Làm sao để mỗi lần mình nhập vào thì nó quay trở lại dòng vừa nhập để cout<<"/";
Hoặc là làm sao để mình xóa kí xuống dòng vậy mấy anh chị?
Em cám ơn.

Thực sự thì hơi khó hiểu 1 xíu. Anh chị nào hiểu thì chỉ giúp em.

Thay vì nhấn Enter thì bạn nhấn phím / sẽ hiển thị 1 dòng và “đẹp” như ý của bạn.

#include <iostream>

using namespace std;

int main()
{
    int Ngay, Thang, Nam;
    char c;
   cout<<"Nhap ngay sinh: ";
cin>>Ngay;
cin >> c;// đọc kí tự /
//cout<<"/";
cin>>Thang;
cin >> c; // đọc kí tự /
//cout<<"/";
cin >> Nam;
cout << endl << "Ket qua: " << Ngay << "/"<< Thang <<"/"<< Nam;
   return 0;
}

Nhập:

31/12/99

Nếu lo lắng người dùng không nhập như ý bạn thì bạn di chuyển con trỏ về vị trí ngay sau số người dùng nhập bằng: SetConsoleCursorPosition()

1 Like

Ý em không phải vậy, cái anh nói là nó xuất ra rồi. Còn ở đây em muốn khi nhập vào nó vẫn ở dạng “01/01/01” tức là mỗi lần cin 1 kí tự nào đó vào thì nó không xuống hàng.

Ý mình nói là khi nhập đấy!
Xem kĩ lại đi.

Bạn tìm được cách giải chưa vậy mình cũng đang bí nếu bạn làm được rùi có thể chỉ mình không.

Cách 1: Nhập cả số trên 1 dòng: 10/10/2012. Đã chỉ ở trên.
Cách 2: Dịch con trỏ về vị trí truóc đó, cũng đã nhắc đến hàm SetConsoleCursorPosition
Hoặc lệnh của ANSI Escape Code.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?