-
28-06-2016, 12:47 PM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Máy báo lỗi thiếu ";" nhưng không thấy thiếu?
Mọi người xem hộ mình xem là code của mình sai ở đâu mà máy cứ báo lỗi ??
Máy báo lỗi ở dòng 41, lỗi thiếu ;, nhưng mình không hiểu sao lại như thế. Ai giải thích hộ mình được không.
Mã:#include <stdio.h>#include <conio.h> void main(){ int j, i=0, d, m, y, bl=1, count; printf("TINH SO THU TU NGAY TRONG NAM" " Nhap vao ngay thang nam: "); scanf("%d%d%d",&d, &m, &y); //Kiem tra tinh hop le if (y<0) bl=0; else if (y%4==0) if (y%100!=0) i = 1; else if (y%400==0) i = 1; if (m==1||m==3||m==5||m==7||m==8||m==10||m==12) { if (d<0||d>32) bl=0; } else if (m==4||m==6||m==9||m==11) { if (d<0&&d>31) bl=0; } else if (m==2&&i==0) { if (d<0||d>29) bl=0; } else if (m==2&&i==1) { if (d<0||d>30) bl=0; } else bl=0; if (bl==0) printf("Ban nhap ngay thang khong hop le."); //Dem so ngay else { count = d; for (j=1,j<m,j++) switch (j) { case 1||3||5||7||8||10||12: count+=31;break; case 2: if(i==0) count+=28; else count+=29;break; case 4||6||9||11: count+=30;break; } printf("Ngay %d thang %d la ngay thu %d trong nam",d,m,count); } getch();}
View more random threads:
- bạn nào biết giúp mình vẽ sơ đồ khối bài này giúp mình với
- lớp nghiệp vụ sư phạm
- Cách include file trong lập trình C?
- Các vấn đề Liên quan đến Thuật Toán QHD
- mong mọi người giúp đỡ!
- [Thắc mắc] Khi sử dụng kiểu string của C++ trong Studio 2013
- Kiến thức căn bản C++ thì cần bắt đầu học ASP.NET như thế nào ?
- Thắc mắc con trỏ và mảng 2 chiều
- Thắc mắc về sắp xếp!
- Ai muôn phá pass bằng C ko ??
-
28-06-2016, 01:05 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Phần case ko ai viết vậy đâu. Dòng 41 cũng sai.
-
28-06-2016, 02:10 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
cái chố case 1||3||5||7||8||10||12: bạn viết lại thành
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
count+=31;break; các case dưới tuơg tự nhá
-
28-06-2016, 03:09 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Đang ở
- 24 Rạch Bùng Binh , P10,Q3 , HCM
- Bài viết
- 0
Một forum có đến 15 vạn thành viên, bàn chuyện syntax error
Chưa biết bò đã lo học chạy.
Bạn cho tôi biết bạn học trường nào, tôi sẽ giúp bạn ngay
-
28-06-2016, 03:33 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi legiondark
for (lệnh khởi dầu; lệnh điều kiện vào vòng; lệnh thực hiện sau mỗi vòng)
Trong code của bạn có 3 biểu thức, cách nhau bằng dấu phẩy ",". Đối với C, dấu phẩy là toán tử cho nên 3 biểu thức trên được gộp lại thành 1 biểu thức kép và rốt lại chỉ là 1 lệnh.
Có lẽ vì vậy mà trình dịch bảo là bạn thiếu ";" (mỗi trình dịch có báo lỗi khác nhau, tôi chỉ có thể cho bạn biết câu 41 của bạn sai chỗ nào thôi, còn việc trình dịch nói cái gì thì tôi khong thể bảo đảm). Sửa dấu phẩy thành chấm phẩy thì hết sai chỗ đó (còn sai chỗ nào nữa không thì toi khong biết)
Chú thêm:
Cách tính ngày trong năm của bạn như vậy quá rườm rà. Ngừoi ta chỉ đặt ra 2 mảng:
int sn1[] = { 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 };
int sn2[] = { 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366 };
int ** sn; // con trỏ vào mảng 1 hay 2 tùy theo có phải năm nhuần, tức là: sn = (năm nhuần)? &sn1: &sn2;
Như vậy thứ tự ngày là: thutungay = ngay + (*sn)[thang-1];
Để kiểm tra ngày có hợp lệ: (*sn)[thang-1] <= thutungay && thutungay <= (*sn)[thang]
Nếu bạn không rành dùng con trỏ thì dùng mảng 2 chiều cũng được. Năm nhuần là 1, năm khong nhuần là 0.
-
28-06-2016, 04:23 PM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Ai từng học qua Trình Biên Dịch, ai từng ngâm cú, nghiên cứu - tham gia viết trình biên dịch ?
keyboard not found
press f2 to continue
Trên là ví dụ kinh điển về chuẩn đoán lỗi
-
28-06-2016, 06:17 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cảm ơn mọi người rất nhiều. Mình nhận ra rồi
Gửi bởi Hien62Van8
Gửi bởi NguNhuheo
-
28-06-2016, 06:24 PM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Tốt nhất bạn viết lại code đã sửa - nhận ra rồi.
Như trên tôi có đề cập, lỗi nó báo - không chính xác như người - là lỗi tại thời điểm đó; sửa xong lỗi đó nó lòi lỗi khác.
Lỗi syntax error là dễ, lỗi logic mới là thảm họa
-
28-06-2016, 06:43 PM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
^ Đây là code sau khi đã sửa của mình. Mình đã test và thấy khá ok. Cảm ơn bạn vì lời nhắc, công nhận là có lỗi logic thật.
Mã:#include <stdio.h>#include <conio.h> void main(){ int j, i=0, d, m, y, bl=1, count; printf("TINH SO THU TU NGAY TRONG NAM" " Nhap vao ngay thang nam: "); scanf("%d%d%d",&d, &m, &y); //Kiem tra tinh hop le if (y<0) bl=0; else if (y%4==0) if (y%100!=0) i = 1; else if (y%400==0) i = 1; if (m==1||m==3||m==5||m==7||m==8||m==10||m==12) { if (d<0||d>31) bl=0; } else if (m==4||m==6||m==9||m==11) { if (d<0||d>30) bl=0; } else if (m==2&&i==0) { if (d<0||d>28) bl=0; } else if (m==2&&i==1) { if (d<0||d>29) bl=0; } else bl=0; if (bl==0) printf("Ban nhap ngay thang khong hop le."); //Dem so ngay else { count = d; for (j=1;j<m;j++) { if (j==1||j==3||j==5||j==7||j==8||j==10||j==12) count+=31; if (j==2) if(i==0) count+=28; else count+=29; if (j==4||j==6||j==9||j==11) count+=30; } printf("Ngay %d thang %d la ngay thu %d trong nam %d",d,m,count,y); } getch();}
-
29-06-2016, 02:25 PM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
1. Mình dùng C-Free, không hiểu ý bạn chỗ dùng TV có dấu lắm? Mình thấy các comment thuật toán người ta vẫn viết tiếng Việt không dấu mà. Với cái IDE này mình k gõ có dấu được.
2. Mình chưa biết nên cmt thuật toán kiểu gì cho đúng, với code kia toàn if với for thì chẳng lẽ cũng lại giải thích ra ? Code này mình nghĩ chứ có phải thuật toán nào đâu. Cám ơn bạn vì lời nhắc, mình sẽ để ý vụ này.
Bước 1: Xem nhãn áo quần để biết cách chăm sóc vải hợp Dù hồ hết vải đều có thể giặt bằng máy, bạn vẫn nên kiểm tra nhãn chỉ dẫn coi ngó, đặc biệt là với đồ len và đồ mỏng. Một số...
Các bước dùng máy giặt đúng cách,...