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

Đề tài: Viết hàm nhập so nguyên dương-Mong mọi ngưởi giúp đỡ

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

    Mặc định Viết hàm nhập so nguyên dương-Mong mọi ngưởi giúp đỡ

    Ai giúp mình viết hàm này với , đơn giản ko thể tin dc =))
    Yêu cầu : nhập vào 1 số nguyên dương, nếu nhập số <=0 thì báo nhập sai và thoát ra khỏi hàm main() luôn.Nếu nhập đúng thì báo nhập đúng và đc thực hiện các hàm tiếp theo ( sau nó).
    Mình viết như sau nhưng nó vẫn báo lỗi.
    Code:
    long Nhap(long n)
    {
           long n;
          printf("Nhap so nguyen duong n :");
          scanf("%ld",&n);
         if (n<=0)
         printf("Nhap sai.Hay nhap lai");
         return;
          else
        printf("Nhap dung.");
         return n;
    }
    Mong sự giúp đỡ.

    Cảnh cáo: lần sau post bài thì cho source vào thẻ code. Không biết thì đọc Nội Quy để biết cách sử dụng thẻ CODE.
    Đã được chỉnh sửa lần cuối bởi Xcross87 : 26-12-2007 lúc 11:57 AM.

  2. #2
    Ngày gia nhập
    09 2006
    Nơi ở
    /usr/share/.hack@
    Bài viết
    1,433

    Khối lệnh thì cho vào { }

    PHP Code:
    long Nhap(long n)
    {
        
    long n;
        
    printf("Nhap so nguyen duong n :");
        
    scanf("%ld",&n);
        if (
    n<=0) {
            
    printf("Nhap sai.Hay nhap lai");
            exit(
    0);
        } else {
            
    printf("Nhap dung.");
            return 
    n;
        }

    Đã được chỉnh sửa lần cuối bởi Xcross87 : 26-12-2007 lúc 11:58 AM.
    None!

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

    oh, cảm ơn bác Xcross87 nhiều nhé
    Vậy phải có khối lệnh { } bao biểu thức lệnh_1 của if thì ct mới chạy đúng hay sao ?.Nếu ko có khối lệnh thì có đc ko ?
    Chỗ exit(0) có nghĩa là gì vậy ?, có thể dùng lệnh return đc ko ?
    Mong giải đáp.

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

    Trích dẫn Nguyên bản được gửi bởi heaven007 Xem bài viết
    oh, cảm ơn bác Xcross87 nhiều nhé
    Vậy phải có khối lệnh { } bao biểu thức lệnh_1 của if thì ct mới chạy đúng hay sao ?.Nếu ko có khối lệnh thì có đc ko ?
    Chỗ exit(0) có nghĩa là gì vậy ?, có thể dùng lệnh return đc ko ?
    Mong giải đáp.
    Một khối lệnh bao giờ cũng phải đặt trong {}
    Ví dụ với vòng for:

    for (int i=0; i<10;i++){
    congviec1;
    congviec2;
    }

    Như thế này chương trình làm congviec1,congviec2,congviec1,congviec2,... cú như thế 10 lần

    Nếu không có {} thì nó làm 10 lần công viếc, sau đó làm 1 lần công việc 2

    Giả sử if của bạn ko có {}, tức :
    if (n<=0) printf("Nhap sai.Hay nhap lai");
    exit(0);

    thì cho dù n= mấy chương trình vẫn thoát ngay sau khi kiểm tra n

    exit(0) tương đương return 0 và exit;
    Lệnh exit thoát ra khỏi chương trình
    Lệnh return thì thoát khỏi hàm, ở đây là hàm main nên việc dùng return và exit không khác nhau. Tuy nhiên trong các hàm khác thì sẽ có khác biệt đấy

  5. #5
    Ngày gia nhập
    10 2007
    Bài viết
    7

    cảm ơn nhiều nhé, giờ hiểu rổi.
    Còn về khối lệnh trong vòng lắp for, tui thấy nhiều sách giáo trình viết như thế này :
    /---------------------/
    for (i =1;i<=10;i++)
    for(j=1;j<=5;j++)
    {
    ....
    }
    Vậy:
    1/ vòng for đầu tiên có cần phải bao { } vòng for ở dưới ko hay viết vậy vẫn đúng ?
    2/khi i=1(của For 1) thì vòng for 2 ( xem như lệnh của của vòng for 1) phài chạy hết các lần lặp từ j=1 --> j=5 rồi mới bắt đầu vòng lặp mới của For 1 (ứng với i=2 ) ?

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

    Mặc định Viết hàm nhập so nguyên dương-Mong mọi ngưởi giúp đỡ

    Trích dẫn Nguyên bản được gửi bởi heaven007 Xem bài viết
    for (i =1;i<=10;i++)
    for(j=1;j<=5;j++)
    {
    ....
    }
    Vậy:
    1/ vòng for đầu tiên có cần phải bao { } vòng for ở dưới ko hay viết vậy vẫn đúng ?
    2/khi i=1(của For 1) thì vòng for 2 ( xem như lệnh của của vòng for 1) phài chạy hết các lần lặp từ j=1 --> j=5 rồi mới bắt đầu vòng lặp mới của For 1 (ứng với i=2 ) ?
    Code:
    for (i =1;i<=10;i++)
    for(j=1;j<=5;j++)
    { 
       ....
    }


    Code:
    for (i =1;i<=10;i++)
    {
    for(j=1;j<=5;j++)
    { 
       ....
    }
    }
    Hai cái code trên hoàn toàn tương đương

    2/khi i=1(của For 1) thì vòng for 2 ( xem như lệnh của của vòng for 1) phài chạy hết các lần lặp từ j=1 --> j=5 rồi mới bắt đầu vòng lặp mới của For 1 (ứng với i=2 ) ?
    Hoàn toàn chính xát
    Nếu 1 mai anh thuộc về người khác
    Em mỉm cười 1 lít axit đủ không anh

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

  1. Bài tập C++ Mong mọi người giúp đỡ viết chương trình bằng C++
    Gửi bởi pdquang trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 11-11-2013, 11:26 PM
  2. Mong nhận được sự giúp đỡ của mọi người về cách đặt chỗ trên web viết bằng ASP.NET
    Gửi bởi kunkun1991 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 15-04-2013, 12:37 AM
  3. Lập trình C++ Thuật toán Prim viết bằng C++ của mình gặp lỗi, Mong mọi người sửa giúp với!
    Gửi bởi zenta 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: 08-09-2011, 12:04 AM
  4. bài dễ về số nguyên nhưng em ko hiểu lắm! Mong các anh giúp đỡ! giải thíc :
    Gửi bởi ngocgodwar trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 01-10-2009, 04:23 PM
  5. số nguyên lớn,mong anh em vào giúp!
    Gửi bởi hugo_lina_a2 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 04-04-2009, 09:42 AM

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