Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 23 kết quả

Đề tài: cách sử dụng hàm scanf để kiểm soát dữ liễu nhập vao!

  1. #1
    Ngày gia nhập
    04 2012
    Nơi ở
    tp.hcm
    Bài viết
    6

    Wink cách sử dụng hàm scanf để kiểm soát dữ liễu nhập vao!

    mấy anh giúp e phần này với:

    while( scanf( "%d" , &n) != 1 )
    printf( "\nnhap vao n kieu integer" );

    tại sao lại không dược vậy? (e xài vs08). e nhớ là hàm scanf trả về số phần tử được gán thành công mà.

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

    thay = getch(n) đi bạn
    Yahoo: ladykillah_rapproduction

  3. #3
    Ngày gia nhập
    02 2012
    Nơi ở
    Xanhpetecbua-Nga
    Bài viết
    34

    ô "vn00494999" getch(n) lại có kiểu này nữa àh, mình chỉ thấy có dạng này thôi getch();
    "losetowin" uhm nhớ đúng rồi, không đc như thế nào thì phải nói rõ ra, không mất công người khác
    nghĩ các lỗi cho cậu
    sửa theo code cậu đưa, còn có lỗi gì khác nữa thì tôi không biết, thêm cái thằng fflush(stdin); vào
    C Code:
    1. while( scanf( "%d" , &n) != 1 ){
    2. printf( "\nnhap vao n kieu integer" );
    3. fflush(stdin);
    4. //nhìn tù thế không biết dùng {do while} đi
    5. }

  4. #4
    Ngày gia nhập
    04 2012
    Nơi ở
    tp.hcm
    Bài viết
    6

    Trích dẫn Nguyên bản được gửi bởi buithetai Xem bài viết
    ô "vn00494999" getch(n) lại có kiểu này nữa àh, mình chỉ thấy có dạng này thôi getch();
    "losetowin" uhm nhớ đúng rồi, không đc như thế nào thì phải nói rõ ra, không mất công người khác
    nghĩ các lỗi cho cậu
    sửa theo code cậu đưa, còn có lỗi gì khác nữa thì tôi không biết, thêm cái thằng fflush(stdin); vào
    C Code:
    1. while( scanf( "%d" , &n) != 1 ){
    2. printf( "\nnhap vao n kieu integer" );
    3. fflush(stdin);
    4. //nhìn tù thế không biết dùng {do while} đi
    5. }

    đoạn code mình sai là khi nhập vào số thập phân nó vẫn lấy.
    theo cách của cậu thì fflush(stdin) dùm làm gì vậy?

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

    Trích dẫn Nguyên bản được gửi bởi buithetai Xem bài viết
    ô "vn00494999" getch(n) lại có kiểu này nữa àh, mình chỉ thấy có dạng này thôi getch();
    "losetowin" uhm nhớ đúng rồi, không đc như thế nào thì phải nói rõ ra, không mất công người khác
    nghĩ các lỗi cho cậu
    sửa theo code cậu đưa, còn có lỗi gì khác nữa thì tôi không biết, thêm cái thằng fflush(stdin); vào
    C Code:
    1. while( scanf( "%d" , &n) != 1 ){
    2. printf( "\nnhap vao n kieu integer" );
    3. fflush(stdin);
    4. //nhìn tù thế không biết dùng {do while} đi
    5. }
    ai nói không có ==! Ông nói như thế chứng tỏ chưa hiểu công dụng của hàm Getch();. Chắc ông dùng nó vào cuối chương trình để tạm dừng chương trình chứ gì. Getch là tạm dừng để gán 1 giá trị nhưng chỉ nhập được 1 ký tự )..nhầm lẫn 1 tý thôi. ở đây getch(n) tức là tạm dừng để nhập 1 giá trị cho n từ bàn phím.
    Yahoo: ladykillah_rapproduction

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

    Mặc định cách sử dụng hàm scanf để kiểm soát dữ liễu nhập vao!

    Trích dẫn Nguyên bản được gửi bởi buithetai Xem bài viết
    ô "vn00494999" getch(n) lại có kiểu này nữa àh, mình chỉ thấy có dạng này thôi getch();
    "losetowin" uhm nhớ đúng rồi, không đc như thế nào thì phải nói rõ ra, không mất công người khác
    nghĩ các lỗi cho cậu
    sửa theo code cậu đưa, còn có lỗi gì khác nữa thì tôi không biết, thêm cái thằng fflush(stdin); vào
    C Code:
    1. while( scanf( "%d" , &n) != 1 ){
    2. printf( "\nnhap vao n kieu integer" );
    3. fflush(stdin);
    4. //nhìn tù thế không biết dùng {do while} đi
    5. }
    Trích dẫn Nguyên bản được gửi bởi losetowin Xem bài viết
    mấy anh giúp e phần này với:

    while( scanf( "%d" , &n) != 1 )
    printf( "\nnhap vao n kieu integer" );

    tại sao lại không dược vậy? (e xài vs08). e nhớ là hàm scanf trả về số phần tử được gán thành công mà.
    C Code:
    1. while( n != 1 )
    2. {
    3. fflush(stdin)
    4. printf( "\nnhap vao n kieu integer" );
    5. scanf("%d",&n);
    6. }
    Yahoo: ladykillah_rapproduction

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

    Trích dẫn Nguyên bản được gửi bởi losetowin Xem bài viết
    đoạn code mình sai là khi nhập vào số thập phân nó vẫn lấy.
    theo cách của cậu thì fflush(stdin) dùm làm gì vậy?
    cậu khai báo n ở trên theo kiểu intelger hay float?
    fflush(stdin) ở đây là xóa bộ nhớ đệm trước đó để tránh gây nhầm lẫn trong việc nhập dữ liệu bạn à
    Yahoo: ladykillah_rapproduction

  8. #8
    Ngày gia nhập
    04 2012
    Nơi ở
    tp.hcm
    Bài viết
    6

    mình khai báo n là kiểu int , mà mình xét trường hợp người dùng nhập vào là số thập phân thì máy sẽ bảo nhập lại.
    mình thử rồi mà không được ,chỉ trường hợp nhập vào là kí tự là làm được thôi.

  9. #9
    Ngày gia nhập
    12 2010
    Nơi ở
    Cần thơ
    Bài viết
    273

    Trích dẫn Nguyên bản được gửi bởi losetowin Xem bài viết
    mình khai báo n là kiểu int , mà mình xét trường hợp người dùng nhập vào là số thập phân thì máy sẽ bảo nhập lại.
    mình thử rồi mà không được ,chỉ trường hợp nhập vào là kí tự là làm được thôi.
    Khai báo kiểu float a;
    nếu như a bình phương bằng chính nó thì nó là kiểu nguyên không thì nó là kiểu thực.

    @buithetai cái hàm fflush(stdin); sài cho scanf("%c",&biến) hoặc scanf("%s",&biến) thì mới có hiệu quả bạn à...để đó cũng như k để.
    @vn00494999 mình cũng chưa từng thấy hàm getch(tham số); bạn thử code rồi build xem, trong C khác pascal bạn à
    Ai bất tài, tôi nhìn hoài chẳng thấy,
    Đi khắp phòng tôi lấy 1 tấm gương,
    Khẽ đặt lên một góc phía bức tường,
    Nhìn vào đó, tôi tận tường kẻ đó.

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

    mình vẫn dùng nó bình thường mà bạn getch(tham số) vẫn được mà :-/
    Yahoo: ladykillah_rapproduction

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

  1. bài tập nhập xuất bằng hàm print,scanf,biến luôn nhận giá trị bằng 0,giải thích dùm??
    Gửi bởi khoaitayran2012 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 12-09-2011, 11:16 AM
  2. Lỗi không nhập được dữ liệu với hàm scanf???
    Gửi bởi david10 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 16
    Bài viết cuối: 24-07-2011, 04:34 PM
  3. Mã nguồn C Lỗi Lỗi runtime trong hàm nhập scanf()?
    Gửi bởi daihai_hdh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 21
    Bài viết cuối: 30-05-2011, 10:28 AM
  4. Kỹ thuật C ấn định thời gian nhập xâu bằng scanf như thế nào?
    Gửi bởi chelsea trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 10-11-2010, 01:00 PM
  5. Bài tập C lỗi dòng lệnh nhập với gets và scanf. Giúp sửa
    Gửi bởi vovietnghia trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 9
    Bài viết cuối: 14-10-2010, 08:54 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