C ode: if (truongthanh)
Diện tích của một hình chữ nhật
Khá đơn giản để tính diện tích của một hình chữ nhật: chiều dài x chiều rộng. Và function với tên gọi là dientichHinhChuNhat sẽ nhận 2 parameters (tham số): chieuDai và chieuRong, nó sẽ
trả về giá trị diện tích.
Code C:
double dientichHinhChuNhat(double chieuRong, double chieuDai) {
return chieuRong * chieuDai; }
int main(int argc, char *argv[]) {
printf("Hinh chu nhat voi chieu rong 5 va chieu dai 10 co dien tich la %f\n", dientichHinhChuNhat(5, 10));
printf("Hinh chu nhat voi chieu rong 2.5 va chieu dai 3.5 co dien tich la %f\n", dientichHinhChuNhat(2.5, 3.5));
printf("Hinh chu nhat voi chieu rong 4.2 va chieu dai 9.7 co dien tich la %f\n", dientichHinhChuNhat(4.2, 9.7));
return 0; }
Console:
Có cách viết nào khác không?
Có chứ! Trong trường hợp này, function sẽ không trả về kết quả nào, nó sẽ tính toán diện tích và hiển thị luôn kết quả.
Code C:
void dientichHinhChuNhat(double chieuRong, double chieuDai) {
double dientich = 0;
dientich = chieuRong * chieuDai;
printf("Hinh chu nhat voi chieu rong %f va chieu dai %f co dien tich la %f\n", chieuRong, chieuDai, dientich);
}
int main(int argc, char *argv[]) { dientichHinhChuNhat(5, 10); dientichHinhChuNhat(2.5, 3.5); dientichHinhChuNhat(4.2, 9.7); return 0; }
Console:
Giống như bạn thấy, printf nằm bên trong function dientichHinhChuNhat và hiển thị tương tự đoạn code trước.
Đây là ví dụ về hai cách viết khác nhau của cùng một chương trình.
Một Menu
Đoạn code sau khá thú vị và cụ thể, người ta tạo một menu( ) không nhận bất kì parameter (tham số) nào.
Function này sẽ hiện thị một menu và yêu cầu người sử dụng lựa chọn. Function sẽ trả về lựa chọn đó.
Code C:
int menu() {
int luachon = 0;
while (luachon < 1 || luachon > 4) {
printf("=== Menu ===\n"); printf("1. Pho\n");
printf("2. Bun bo Hue\n"); printf("3. Mi Quang\n"); printf("4. Thit cay\n");
printf("Lua chon cua ban ? "); scanf("%d", &luachon); }
return luachon; }
int main(int argc, char *argv[]) {
switch (menu()) {
case 1:
printf("Ban da chon Pho. Mot lua chon tuyet voi !\n"); break;
case 2:
printf("Ban da chon Bun bo Hue. Mot lua chon chinh xac !\n"); break;
case 3:
printf("Ban da chon Mi Quang. Qua tuyet !\n"); break;
case 4:
printf("Ban da chon Thit cay. Nao ta cung den quan nhau !\n"); break;
}
return 0; }
Tranh thủ, tôi đã cải tiến luôn menu trên mà bạn đã thấy trước đó. Lần này menu sẽ hiển thị lại mỗi khi người sử dụng không nhập đúng giá trị từ 1 đến 4. Như vậy, không có lỗi xảy ra nếu như function trả lại một con số không liên quan gì đến các lựa chọn trong menu !
Trong main, bạn thấy ta sử dụng một switch (menu()).Một khi function menu() kết thúc, nó sẽ trả về lựa chọn của người sử dụng trực tiếp vào function switch. Một phương pháp khá nhanh và hiệu quả.
Nào đến phiên bạn! Đoạn code trên vẫn có thể cải tiến tiếp được: Thay đổi chương trình để hiển thị một thông báo lỗi nếu như người sử dụng lựa chọn một số khác ngoài menu thay vì hiển thị lại toàn bộ menu như trên.
Một bài tập nhỏ trước khi kết thúc
Bạn còn nhớ trò chơi "Lớn hơn hay nhỏ hơn" không? Tôi hi vọng bạn vẫn không quên nó.
Bạn sẽ thay đổi bằng cách sử dụng những function. Bạn sẽ tạo ra 2 function: taoSoNgauNhien
(có tác dụng tạo ngẫu nhiên một số nằm giữa MIN và MAX) và sosanh (có tác dụng so sánh 2 số và hiển thị lớn hơn, nhỏ hơn hay kết quả đúng)
Bạn không cần gấp gáp để tiến sang chương II của bài hướng dẫn vì ở đó tôi sẽ hướng dẫn các bạn về con trỏ. Khá khó nuốt đấy
Và chương hiện tại là con đường bắt buộc bạn phải bước qua để có thể học những kiến thức mới hơn, nên hãy cố gắng nắm thật vững.
Nhớ là phải luôn cố gắng, đừng bỏ dở giữa chừng, vì phần khó khăn nhất bạn sẽ học nằm ở chương 2, nếu qua được, bạn sẽ thu được kết quả lớn hơn rất nhiều.
Sau đó, ở chương 3, bạn sẽ học cách viết những trò chơi, mở những cửa sổ, sử dụng bàn phím, chuột, joystick, âm thanh ...
Bạn thấy hứng thú hơn chưa?
Thế là xong những kiến thức nền tảng cho một người mới tập tành về C. Những điều mới mẻ nghiêm túc hơn sẽ bắt đầu ở chương thứ 2 !!!