30/09/2018, 17:23

Lỗi nhập xuất chuỗi trong C++

#include <iostream>
#include <string>

using namespace std;

int main()
{
    cout <<" nhap ngay thang nam sinh cua ban ";
    int ngay, thang , nam;
    cin >> ngay >> thang >> nam;

    cout << "ngay thang nam sinh cua ban la : ";
    cout << ngay <<"-";
    cout << thang <<"-";
    cout << nam << endl ;

    string  ten;
    cout <<"ban ten gi : ";
    getline(cin, ten);
    cin.ignore(1);

    cout << "xin chao ban  " << ten << endl ;

    system("pause");
    return 0;
}

Sau khi em xuất ra màn hình đến phần nhập tên thì em nhập vào bất cứ ký tự nào thì nó xuất ra là >>>>> Xin chao ban

*grab popcorn* viết 19:38 ngày 30/09/2018

đem cin.igonore(1) lên trên getline

Bùi Trung Thông viết 19:35 ngày 30/09/2018

bạn nên tìm hiểu lại về getline lại đi, bạn sai chỗ getline đấy

nhatlonggunz viết 19:26 ngày 30/09/2018

Anh tập làm quen với Markdown nha, code sẽ dễ nhìn hơn:

Làm sao để có thể hiển thị syntax highlighting bằng markdown? Các bạn phải đánh dấu ``` như ví dụ dưới đây Chú ý, dấu ``` được tạo ra bởi nút nằm bên trái số 1 trên bàn phím, nút này sẽ là ~ khi bấm giữ Shift Ví dụ cho C Nội dung: ``` void main() { } ``` Và đừng quên ``` ở cuối Kết quả void main() { } Ví dụ cho Pascal Nội dung: ``` Program HelloWorld; Begin WriteLn('Hello world!') {no ";" is required after the last statement of a block - adding one adds a "null stateme…

Còn về lỗi thì như anh @drgnz nói, đem cin.ignore(1) lên trên getline là ổn

Bài liên quan
0