Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 14 kết quả

Đề tài: Kiểm soát lỗi khi nhập chuỗi

  1. #1
    Ngày gia nhập
    03 2009
    Bài viết
    36

    Mặc định Kiểm soát lỗi khi nhập chuỗi

    Giả sử mình có đoạn code như sau:

    int i;
    cin>>i;


    Nhưng thay vì nhập số thì lại nhầm sang nhập chữ thì phải làm sao để bắt được lỗi của nó?????

  2. #2
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà Nôi
    Bài viết
    464

    Nếu nhập xuất theo C, thì dễ kiểm soát lắm, còn C++ thì ko rõ lắm !!!

  3. #3
    Ngày gia nhập
    03 2009
    Bài viết
    36

    Trích dẫn Nguyên bản được gửi bởi dehin Xem bài viết
    Nếu nhập xuất theo C, thì dễ kiểm soát lắm, còn C++ thì ko rõ lắm !!!
    Hình như giống nhau mà bạn

  4. #4
    Ngày gia nhập
    10 2012
    Bài viết
    3

    có hàm isdigit để kiểm tra có phải la chữ số không đó.

  5. #5
    Ngày gia nhập
    01 2012
    Nơi ở
    hà nôi 2
    Bài viết
    59

    Trích dẫn Nguyên bản được gửi bởi messi_0510 Xem bài viết
    có hàm isdigit để kiểm tra có phải la chữ số không đó.
    Nhưng cái này chỉ dùng được cho kiểu dữ liệu là kí tự mà thôi chứ có phải là định dạng số ngay từ đầu đâu nhỉ http://www.cplusplus.com/reference/cctype/isdigit/
    I'm still a chicken
    rất vui khi được làm quen với mọi người ^_^ http://www.facebook.com/chung.v.nguyen.14

  6. #6
    Ngày gia nhập
    09 2011
    Bài viết
    16

    Mặc định Kiểm soát lỗi khi nhập chuỗi

    Trích dẫn Nguyên bản được gửi bởi hoanglamth1 Xem bài viết
    Giả sử mình có đoạn code như sau:

    int i;
    cin>>i;


    Nhưng thay vì nhập số thì lại nhầm sang nhập chữ thì phải làm sao để bắt được lỗi của nó?????
    nếu vậy thì phải kiểm tra từng ký tự nhập một => không dùng cin được vì cin nhập một loạt luôn.

    C++ Code:
    1. int i;
    2. do {
    3.   i = getch();
    4. }while(!(i >= '0' && i <= '9'));

  7. #7
    Ngày gia nhập
    01 2012
    Nơi ở
    hà nôi 2
    Bài viết
    59

    Trích dẫn Nguyên bản được gửi bởi vipzero Xem bài viết
    nếu vậy thì phải kiểm tra từng ký tự nhập một => không dùng cin được vì cin nhập một loạt luôn.

    C++ Code:
    1. int i;
    2. do {
    3.   i = getch();
    4. }while(!(i >= '0' && i <= '9'));
    Nhưng trong trường hợp mình muốn nhập 1234 chứ không phải là nhập từng số thì làm thế nào, như vậy i của bạn bị thay đổi liên tục theo mình ở đây dùng một mảng kí tự sau đó kiểm tra toàn bộ kí tự trong chuỗi có phải là kí tự số hay không, nếu có lỗi thì yêu cầu nhập lại nếu không dùng hàm int atoi(const char *s) convert sang kiểu int
    http://www.cplusplus.com/reference/cstdlib/atoi/
    I'm still a chicken
    rất vui khi được làm quen với mọi người ^_^ http://www.facebook.com/chung.v.nguyen.14

  8. #8
    Ngày gia nhập
    11 2012
    Bài viết
    5

    Em vừa tìm trên mạng được bài này
    http://stackoverflow.com/questions/8...l-if-it-is-int

  9. #9
    Ngày gia nhập
    04 2012
    Bài viết
    42

    góp ý tí có gì sai xin được chỉ giáo.

    hàm này kiểm tra trong dòng stdin có còn kí tự nào không?
    C Code:
    1. int is_stdin(FILE *stream)
    2. {
    3.     char c;
    4.         int count;
    5.     for(count=0; (c = fgetc(stream))!='\n' && c!=EOF; ++count){}
    6.     return count==0;
    7. }
    Đã được chỉnh sửa lần cuối bởi kimlama : 16-12-2012 lúc 09:43 PM.
    C Code:
    1. while (!silly)
    2.     cout<<"Study everything !";

  10. #10
    Ngày gia nhập
    01 2012
    Nơi ở
    hà nôi 2
    Bài viết
    59

    int is_stdin(FILE *stream) kimlama cho mình hỏi cái này đối số là một con trỏ FILE vậy thì dữ liệu bạn lấy từ file , nhưng đề yêu cầu dữ liệu là bàn phím mà. bạn có thể giải thích thêm không??
    I'm still a chicken
    rất vui khi được làm quen với mọi người ^_^ http://www.facebook.com/chung.v.nguyen.14

Các đề tài tương tự

  1. Lập trình C++ Lệnh cin.getline() không thể nhập chuỗi kế tiếp khi trước đó đã nhập 1 chuỗi vượt quá số kí tự tối đa khi khai báo
    Gửi bởi alonesnail025 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 23-06-2013, 11:34 AM
  2. Bài tập C++ Cách để so sánh 2 chuỗi kí tự giữa chuỗi nhập từ phím và chuỗi từ file xem có giống nhau không?
    Gửi bởi davilson18 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 09-06-2012, 09:47 AM
  3. Trả lời: 0
    Bài viết cuối: 13-05-2012, 10:51 AM
  4. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  5. Kỹ thuật C++ Các quy tắc nhập chuỗi trong C++, làm thế nào để nhập chuỗi có khoảng trắng?
    Gửi bởi quyen1991 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 20-11-2010, 03:36 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn