Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: Câu hỏi về input :(

  1. #1
    Ngày gia nhập
    09 2008
    Nơi ở
    Hà Nội
    Bài viết
    0

    Mặc định Câu hỏi về input :(

    Cho mình hỏi là làm thế nào để khi mình nhập vào giá trị khác giá trị mà mình đã gán thì nó bắt nhập lại.
    Ví dụ như

    printf(" The first integer number a:");
    scanf("%d",&a);

    Nếu như nhập a khác số nguyên thì nó bắt nhập lại
    Nothing is impossible.

  2. #2
    Ngày gia nhập
    04 2008
    Bài viết
    336

    ko làm trực tiếp với biến a được vì scanf("%d",&a) sẽ xem xét phần bạn nhập vào.
    Vd nếu bạn nhập vào 12.4 thì a=12, nhập vào abc1234 thì giá trị của a ko thay đổi.
    cho nên nếu muốn kiểm tra bạn phải dùng chuỗi để lưu stdin rồi kiểm tra chuỗi đó ...
    code ra gió bão

  3. #3
    Ngày gia nhập
    09 2008
    Nơi ở
    Hà Nội
    Bài viết
    0

    Please cho mình đoạn code :( mình mới học mà.
    Nothing is impossible.

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Code:
    int A;
    while(điều kiện của số được nhập)
    {
        cout<<"NHAP SO A:";
        cin>>A;
    }
    thế là được

  5. #5
    Ngày gia nhập
    09 2008
    Nơi ở
    Hà Nội
    Bài viết
    0

    Cái khó là điều kiện như thế nào :( vì số nhập vào bắt buộc là số nguyên. Mà lỡ may nhập vào là bảng chữ cái thì làm sao mà làm được điều kiện :(
    Nothing is impossible.

  6. #6
    Ngày gia nhập
    02 2008
    Nơi ở
    Việt Nam
    Bài viết
    577

    Mặc định Câu hỏi về input :(

    Vấn đề của bạn đặt ra khá hay, cách đây không lâu khi search mạng mình cũng đã đọc được một cái blog viết về vấn đề này, giờ phải bới mãi mới tìm lại được để post lên cho mọi người:
    Một đoạn code trong đó, thoả mãn nhu cầu của bạn: (nhưng viết bằng C++)
    Code:
    #include <iostream>
    using namespace std;
    
    int main() 
    {
         int x;
         while (!(cin >> x)) 
         {
              cin.clear();
              cin.ignore (80, '\n');
              cout << "Error " << endl;
              cout << "Try again: ";
         }
         cout << x;
         return 0;
    }
    Link gốc: http://blog.360.yahoo.com/blog-EKJyj...gQ--?cq=1&p=27
    Mọi người cùng bàn luận để hiểu sâu vấn đề này hơn nhé!

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    Demo của QuangHoang vẫn chưa hoàn toàn chính xác, ví dụ nhập double nó bị ép kiểu sang int.
    Vào box hướng dẫn C++ có 1 bài hoàn chính về đề tài này ! Trong C thì cậu thử ví dụ sau xem sao :
    C Code:
    1. #include <cstdio>
    2. #include <cstdlib>
    3.  
    4. int main()
    5. {
    6.     char  input[ 77 ];
    7.     int   number;
    8.     char* validate;
    9.     bool  flag = 0;
    10.  
    11.     while( flag == 0 )
    12.     {
    13.         printf( "Enter an integer: " );
    14.         scanf( "%s", input ) ;
    15.         number = strtol( input, &validate, 10 );
    16.         if( *validate != '\0')
    17.         {
    18.             fprintf( stderr, "%s is not valid.\n", validate );
    19.             fprintf( stdout, "...Try again \n" );
    20.         }
    21.         else
    22.         {
    23.             flag = true;
    24.         }
    25.     }
    26.    
    27.     printf( "Your number is %i\n", number );
    28.  
    29.     return 0;
    30. }
    Đã được chỉnh sửa lần cuối bởi rox_rook : 15-09-2008 lúc 06:54 AM.

  8. #8
    Ngày gia nhập
    04 2008
    Bài viết
    336

    wow 2 dòng này của anh RR quả là ăn tiền
    Code:
     scanf( "%s", input ) ;
     number = strtol( input, &validate, 10 );
    code ra gió bão

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

  1. Sự khác nhau giữa input type="text" và input type="submit" và type ="button"
    Gửi bởi tuanngocpt trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 2
    Bài viết cuối: 04-04-2012, 12:55 AM
  2. Cách input ngày tháng SQL
    Gửi bởi dotritiep trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 04-05-2011, 09:28 PM
  3. Hỏi về input box.
    Gửi bởi knatalia trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 2
    Bài viết cuối: 06-05-2010, 10:35 PM
  4. Cho em hỏi về input sau a.out và đọc kiểu dữ liệu
    Gửi bởi hocprogram trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 03-05-2010, 11:07 PM
  5. Input - Phân biệt giữ %1s và %c
    Gửi bởi highwind2501 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 14
    Bài viết cuối: 01-03-2008, 05:55 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