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: xin hướng dẫn cách viết hàm như thế nào cho đúng

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

    Mặc định xin hướng dẫn cách viết hàm như thế nào cho đúng

    các bạn giải thích cho mình trong các hàm nhé ,chẳng hạn tính tổng hay cộng,trừ,nhân,chia thì mình có thể in kết quả ra trong hàm cũng được phải ko hay là phải khai tên hàm với kiểu int để trở về hàm main,ông thầy bảo không được in trong hàm mà phải có lệnh return để trở về hàm main, mà mình in kết quả trong hàm cũng đúng chứ có sai đâu, theo bạn thì cách nào mới đúng? giúp mình nhé.

  2. #2
    No Avatar
    zelda Khách

    Trích dẫn Nguyên bản được gửi bởi dragoncl12 Xem bài viết
    các bạn giải thích cho mình trong các hàm nhé ,chẳng hạn tính tổng hay cộng,trừ,nhân,chia thì mình có thể in kết quả ra trong hàm cũng được phải ko hay là phải khai tên hàm với kiểu int để trở về hàm main,ông thầy bảo không được in trong hàm mà phải có lệnh return để trở về hàm main, mà mình in kết quả trong hàm cũng đúng chứ có sai đâu, theo bạn thì cách nào mới đúng? giúp mình nhé.
    Cả 2 cách đều đúng, miễn sao đạt yêu cầu bài toán là ổn. Nhưng theo tui, thì tui chọn return, vì thật ra trong C, không còn ranh giới giữa hàm và thủ tục. Hàm thì trả về kết quả các phép tính, còn thủ tục thì để thực hiện 1 công việc nào đó mà không cần đòi hỏi kết quả. Do đó, để đúng với ý nghĩa của bài toán mà thầy bạn yêu cầu thì hay hơn hết là dùng return;

  3. #3
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    có thể in trong hàm được bạn ạ vd nhá
    Code:
    void gioithieu()
    {
         cout<<"toi la nam";
    }
    void main()
    {
         gioithieu();
    }
    Thì màn hình sẽ in ra:
    Code:
    toi la nam
    Nhưng thầy cậu nói cũng đúng ta return kết quả trong hàm rồi in trong main() vì ta viết hàm để còn sử dụng nhiều lần trong nhiều mục đích mà.
    In code we trust

  4. #4
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    UHm Cái này tớ "tếu" một chút là phải "Đọc Kĩ Hướng Dẫn Sử Dụng Trước Khi Dùng " nè . Trong phần lớn các sách C đều khuyến cáo anh em là phải return , hoặc dùng tham biến , con trỏ để lấy các trị trả về . Một hàm chức năng chỉ thực hiện đúng nhiệm vụ của nó mà thôi .

  5. #5
    No Avatar
    N.V.T Khách

    Bạn xem code dưới đây nhé :
    Code:
    #include <iostream.h>
    int tong(int a, int b)
    {
    	return a+b;
    }
    void In_tong(int a ,int b)
    {
    	cout<<"Tong la :"<<(a+b)<<endl;
    }
    void main()
    {
    	int a = 1 , b = 2;
    
    	cout<<"Tong la :"<<tong(a,b)<<endl;
    
    	In_tong(a,b);
    
    }

  6. #6
    Ngày gia nhập
    01 2007
    Nơi ở
    Somewhere I belong
    Bài viết
    168

    Mặc định xin hướng dẫn cách viết hàm như thế nào cho đúng

    Có lẽ bạn bỏ cái hàm in tổng đi nếu như thế thì viêt in tổng luôn trong main() hoặc trong hàm tổng luôn việc gì phải làm một hàm in tổng ra như thế.
    In code we trust

  7. #7
    No Avatar
    N.V.T Khách

    Đây là tớ đang đưa ra ví dụ như thế , chứ nếu tớ mà viết code thì dại gì mà viết thế .

  8. #8
    No Avatar
    N.V.T Khách

    À mà viết In_tong(int a , int b) như thế cũng có lợi đấy , đó là có thể sử dụng nhiều lần , chứ nếu viết trong hàm main thì cứ mỗi lần tính tổng lại viết lại à ? Hi hi !

  9. #9
    Ngày gia nhập
    09 2006
    Bài viết
    711

    Đúng rồi đấy, có 1 số nguyên tắc rất hay trong coding là:
    1. Chia nhỏ tới mức không thể chia nhỏ hơn được nữa, trong trường hợp của hàm thì hàm phải độc lập, làm chỉ và chỉ 1 công việc duy nhất, không phụ thuộc biến toàn cục bên ngoài, tất cả phải nhận qua biến truyền vào và trả ra qua return value hay output parameter.
    2. 1 nguyên tắc # nữa, tạm dịch qua tiếng Việt là coding bi quan, nghĩa là hàm của mình viết ra không tin vào ai cả, người khác gọi hay hàm # của mình gọi hàm đang viết. Phải luôn kiểm tra các điều kiện ouput và input, sự hợp lệ của các paramter, và làm sao trong mọi trường hợp, hàm mình viết ra không bị gãy đổ, không bug.
    3. Cố gắng viết hàm sao tổng quát nhất, cố gắng chạy đúng cho mọi trường hợp, dể nâng cấp.
    4. Cố gắng viết code với coding style thống nhất, rõ ràng, comment thật nhiều, không dư đâu. Sau này nếu người # bảo trì, fix bug code của mình, người ta còn biết đường đọc và hiểu. Tui thấy các cậu code còn ham viết tắt, làm sao cho code mình "nhìn thấy" ngắn lắm, vd viết nhiều lệnh trên 1 dòng, tiết kiệm {}.... Không nên đâu. Tui thử hỏi code do chính các cậu viết ra, sau 3 tháng, các cậu đọc lại còn hiểu không ???
    Hiện tại các cậu chỉ viết code cho nó run là thấy được rồi, nhưng sau này đi làm, trong 1 team, các cậu sẽ thấy sự phức tạp trong việc đọc code người khác, nâng cấp, bảo trì, fix bug. 4 nguyên tắc trên sẽ giúp các cậu dể thở hơn.

  10. #10
    Ngày gia nhập
    12 2006
    Bài viết
    72

    Em xin góp 1 ý kiến nữa về việc lập trình hàm:
    Một cách xa xôi hơn là bạn đang viết một chương trình cho người dùng,bạn phải đạt một yêu cầu là: khi người dùng muốn gọi một module nào đó trong chương trình thì module đó phải được gọi sao cho dễ nhất và càng gần chức năng mà người sử dụng muốn càng tốt.
    Một ví dụ là: trong một chương trình quản lí nào đó ví dụ quản lí sinh viên ,khi muốn thay đổi một thông tin nào đó như thông tin sinh viên chẳng hạn thì thường sau khi người dùng thay đổi ta cho save vào file luôn,nhưng một yêu cầu là nếu người dùng nhập sai hoặc không muốn save vào file luôn thì lúc này phải chia công đoạn sửa thành 2 module là :sửa và ghi vào file,trong đó việc ghi vào file có sự lựa chọn ghi hay không... Đó cũng là một lí do khá thực tế cho thấy việc phân chia chương trình thành các chương trình con là cần thiết.
    Chúc bạn học tốt!!

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

  1. ADO.NET Xác minh chuỗi ký tự nhập vào chương trình đến khi đúng thì viết thế nào??
    Gửi bởi vudat0987 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 27-08-2011, 01:49 PM
  2. Kỹ thuật C Xây dựng lại hàm malloc. Viết như thế này có đúng không?
    Gửi bởi panfider1 trong diễn đàn Thắc mắc lập trình C/C++ trên Linux
    Trả lời: 2
    Bài viết cuối: 25-05-2011, 10:48 AM
  3. Bài tập C Viết lại hàm strcpy() trong C, hiểu thế nào cho đúng?
    Gửi bởi taller trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 4
    Bài viết cuối: 10-04-2011, 06:54 PM
  4. Viết chương trình cho thuật toán xác định mệnh đề đúng
    Gửi bởi thangit 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: 09-09-2008, 10:11 PM
  5. Không đúng format (bài viết cũ)
    Gửi bởi Kevin Hoang 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: 05-03-2008, 07:01 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