Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Lỗi khó hiểu của cin.getline

    Code của em


    #include<stdio.h>
    #include<conio.h>
    #include<iostream>
    #include<string.h>
    #include<stdlib.h>


    typedef struct
    {
    char tentinh;
    int dientich;
    int danso;
    } data;

    typedef struct node
    {
    data info;
    struct node *pNext;
    }node;

    typedef struct
    {
    node *pHead;
    node *pTail;
    int n;
    }list;

    node *getnode(data x)
    {
    node *p;
    p = new node;
    p->info = x;
    p->pNext = NULL;
    return p;
    }

    void creatlist(list &L)
    {
    L.pHead = NULL;
    L.pTail = NULL;
    L.n = 0;
    }

    data province()
    {
    data pro;
    std::cout<<"Nhap ten tinh: ";
    fflush(stdin);
    std::cin.getline(pro.tentinh,20);

    std::cout<<"Nhap dien tich (Km2) : ";
    std::cin>>pro.dientich;
    fflush(stdin);

    std::cout<<"Nhap dan so (Nghin nguoi) : ";
    std::cin>>pro.danso;
    fflush(stdin);

    return pro;
    }
    em mới viết đến đó , em sử dụng Visual 2012 , nó báo lỗi ở phần cin.getline (gạch chân màu đỏ) , báo lỗi ngay dấu chấm . Còn khi em sử lại getline(std::cin,pro.tentinh) thì nó báo lỗi getline . Em phải sửa làm sao đây ạ , em cám ơn mọi người nhiều .

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Code này hơi dị ở chỗ là dùng cả stdio và cin :-O
    Nên viết hẳn theo C++, vì có 1 sự nhầm lẫn ở đây: <string.h> (C) là dành cho char[] -> <cstring> (C++), còn std::string thì dùng <string> thôi.
    Viết std::getline(cin,pro.tentinh) là đúng.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    trong struct data của bạn tên tỉnh là 1 biến char thì làm sao sài getline đc???
    phải 1 mảng char mới getline đc chứ.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi SexAngel
    trong struct data của bạn tên tỉnh là 1 biến char thì làm sao sài getline đc???
    phải 1 mảng char mới getline đc chứ.
    Chủ thớt nên dùng std::string thì hơn.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •