30/09/2018, 22:03
Hỏi về switch ngày tháng
#include <stdio.h>
#include <stdlib.h>
int main()
{
int nam,thang;
printf("Nhap thang:");
scanf("%d",&thang);
switch(thang){
case 1:
printf(" thang 1 co 31 ngay");
break;
case 2:
if( (nam%400==0) || (nam%4==0 && nam%100!=0))
printf("Day la nam nhan");
printf("thang 2 co 29 ngay");
else
printf("Day khong la nam nhuan");
printf("thang 2 co 28 ngay");
break;
default:
printf("tui khong biet");
}
return 0;
}
chạy thì nó cứ đề lỗi ở else
Bài liên quan
Indent lại đi bạn. Chóng mặt quá =))
ok mà xóa sao ấy nhỉ?
Có nút hình cây bút ở góc bên phải post của bạn đó. . Click vô rồi sửa.
Cậu lệnh
if - else
, từ 2 lệnh trở lên phải đc đặt trong ngoặc móc{}
Còn tháng 2 chưa cho nhập năm mà so sánh luôn là sao.
Tại sao thế? case 2:
if( (nam%400==0) || (nam%4==0 && nam%100!=0))
{printf(“Day la nam nhuan nen thang 2 co 29 ngay”);}
else
printf(“Day khong phai la nam nhuan nen thang 2 co 28 ngay\n”);
break;
nếu mình bỏ {} thì sao?
ủa, ở trên là vầy mà
à ra rồi anh em ạ. Mình để khá nhiều sai sót. Cám ơn các bạn đã xem
Tại vì đó là quy tắc của ngôn ngữ C, bắt buộc phải tuân theo. Bỏ đi thì bạn thấy rồi đấy - lỗi.
đây nè tui làm xong rồi
Lần sao nếu post sourse thì nhớ đưa vô markdown cho dễ nhìn nhé
Mình mới biết trang này. Mà markdown là gì thế?
Là như thế này
ok, cám ơn bạn
This post was flagged by the community and is temporarily hidden.
Cái này là do hàm if của bạn in ra màn hình 2 câu lệnh. Thì sau đến cái else kia nó sẽ không hiểu else của ai, nên báo lỗi là phải. Không có {} thì chỉ đc 1 câu lệnh thôi nhé. Câu lệnh thứ 2 thì biên dịch sẽ hiểu là ngoài if.