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ố 11 kết quả

Đề tài: cách kiểm tra dữ liệu đầu vào trong c

  1. #1
    Ngày gia nhập
    06 2011
    Bài viết
    1

    Mặc định cách kiểm tra dữ liệu đầu vào trong c

    bài toán của em yêu cầu kiểm tra dữ liệu đầu vào.bai toan yeu cau nhap vao so nguyen,nhung khi nguoi dung nhap vao 1 ky tu.thi chuong trinh bao loi vao bat nguoi dung nhap lai

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    Nếu dùng hàm scanf để nhập một số nguyên (dạng "%d"), thì chỉ cần xét trị trả về của hàm.
    Hàm này trả về số dữ liệu mà nó đọc được. Nếu đọc được 1 số nguyên thì nó trả về 1, nếu bạn nhập 1 ký tự không phải là số thì nó không đọc được, và sẽ trả về 0.

  3. #3
    Ngày gia nhập
    06 2011
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Nếu dùng hàm scanf để nhập một số nguyên (dạng "%d"), thì chỉ cần xét trị trả về của hàm.
    Hàm này trả về số dữ liệu mà nó đọc được. Nếu đọc được 1 số nguyên thì nó trả về 1, nếu bạn nhập 1 ký tự không phải là số thì nó không đọc được, và sẽ trả về 0.
    xet giá trị trả về của hàm scanf như thế nào?bác nói rõ hơn 1 chú nhé

  4. #4
    Ngày gia nhập
    01 2011
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi dangy1989 Xem bài viết
    xet giá trị trả về của hàm scanf như thế nào?bác nói rõ hơn 1 chú nhé
    ví dụ bạn cần kiểm tra xem người dùng nhập vào phải là số nguyên ko, thì kiểm tra kết quả trả về của hàm
    C++ Code:
    1. #include <stdio.h>
    2.  
    3. int main()
    4. {
    5.     int check, a;
    6.     check = scanf("%d", &a);
    7.     if(check == 0)
    8.     {
    9.         printf("Du lieu ban nhap khong phai so nguyen");
    10.     }
    11.     else printf("Du lieu ban nhap la so: %d", a);
    12.     return 0;
    13. }

  5. #5
    Ngày gia nhập
    06 2011
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi nekyvn Xem bài viết
    ví dụ bạn cần kiểm tra xem người dùng nhập vào phải là số nguyên ko, thì kiểm tra kết quả trả về của hàm
    C++ Code:
    1. #include <stdio.h>
    2.  
    3. int main()
    4. {
    5.     int check, a;
    6.     check = scanf("%d", &a);
    7.     if(check == 0)
    8.     {
    9.         printf("Du lieu ban nhap khong phai so nguyen");
    10.     }
    11.     else printf("Du lieu ban nhap la so: %d", a);
    12.     return 0;
    13. }
    thanks bạn nhiều nhé,đơn giản vậy mà mình ko nghĩ ra

  6. #6
    No Avatar
    smartgoat Khách

    Mặc định cách kiểm tra dữ liệu đầu vào trong c

    Trích dẫn Nguyên bản được gửi bởi nekyvn Xem bài viết
    ví dụ bạn cần kiểm tra xem người dùng nhập vào phải là số nguyên ko, thì kiểm tra kết quả trả về của hàm
    C++ Code:
    1. #include <stdio.h>
    2.  
    3. int main()
    4. {
    5.     int check, a;
    6.     check = scanf("%d", &a);
    7.     if(check == 0)
    8.     {
    9.         printf("Du lieu ban nhap khong phai so nguyen");
    10.     }
    11.     else printf("Du lieu ban nhap la so: %d", a);
    12.     return 0;
    13. }
    vậy nếu kiểu dữ liệu là float thì làm sao bạn? mình đổi %d thành %f làm tương nhự nhưng không được

  7. #7
    Ngày gia nhập
    01 2011
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi smartgoat Xem bài viết
    vậy nếu kiểu dữ liệu là float thì làm sao bạn? mình đổi %d thành %f làm tương nhự nhưng không được
    Vẫn được bạn, 1 nếu nhập vào số, và 0 nếu nhập ký tự, nhưng nếu bạn muốn kiểm tra rộng hơn, ví dụ như giá trị nhập vào phải là số thập phân luôn thì cách này có lẽ không được
    Đã được chỉnh sửa lần cuối bởi nekyvn : 09-02-2012 lúc 09:55 PM.
    Code is more than binary. Its poetry

  8. #8
    Ngày gia nhập
    01 2012
    Nơi ở
    Hà Tĩnh
    Bài viết
    25

    Mặc định dùng while...do

    bạn có thể dùng while... do được mà, hoặc có thể dùng hàm dùng while...do

  9. #9
    Ngày gia nhập
    01 2011
    Bài viết
    11

    Trích dẫn Nguyên bản được gửi bởi xuannam2620 Xem bài viết
    bạn có thể dùng while... do được mà, hoặc có thể dùng hàm dùng while...do
    Ở đây đang nói về kiểm tra giá trị nhập vào, ko nói đến cách xử lý, ko biết điều kiện thì sao bạn dùng vòng lặp được?
    Code is more than binary. Its poetry

  10. #10
    Ngày gia nhập
    01 2012
    Nơi ở
    Hà Tĩnh
    Bài viết
    25

    Mặc định ý của mình thế này

    Trích dẫn Nguyên bản được gửi bởi nekyvn Xem bài viết
    Ở đây đang nói về kiểm tra giá trị nhập vào, ko nói đến cách xử lý, ko biết điều kiện thì sao bạn dùng vòng lặp được?
    thì while...do cũng có thể kiểm tra điều kiện mà

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