01/10/2018, 00:29

Chương trình xuất số ngày của tháng

cho em hoi sai o dau vay a

#include<iostream>
using namespace std;
int main()
{
int Thang;
cout<<"Ban muon xem so ngay cua thang nao";
cin>>Thang;
switch(Thang)
{
case 1:case 3: case 5: case 7: case 8: case 10: case 12: cout<<"Thang Nay co 31 ngay/end1 ";
case 4: case 6: case 9: case 11: cout<<"Thang nay co 30 ngay/end1";
case 2: goto lab;
default: cout<<"Thang ban nhap khong ton tai";
lab:
	int nam;
	cout<<" Ban muon xem thang 2 cua nam nao";
	cin>>nam;
	If (nam%4==0) cout<<"Thang Nay co 29 ngay";
	else cout<<"Thang nay co 28 ngay";	
}
}
Nguyễn Hoàng Trung viết 02:30 ngày 01/10/2018

Sai chỗ If nhe bác, chữ if viết thường không có viết hoa

Pt Pan viết 02:44 ngày 01/10/2018

muon dap ban phim qua, cam on nha

chichi viết 02:34 ngày 01/10/2018

Mình tưởng năm nhuận là chia hết cho 4 nhưng không chia hết cho 100 chứ

Pt Pan viết 02:45 ngày 01/10/2018

điêu kiện cho có thôi

Pham Van Hai viết 02:32 ngày 01/10/2018

Code của bạn sai về mặt logic, cho dù bạn nhập tháng nào đi chăng nữa nó cũng in hết ra 30/31 hay 28 ngày.
Bạn tìm hiểu lại lệnh switch đi.

Pt Pan viết 02:42 ngày 01/10/2018

Vâng,em cũng đang không biêt phải làm sao,sẽ cố gắng từ từ vậy ạ

Nguyễn Hoàng Trung viết 02:32 ngày 01/10/2018

Bác thêm dòng break vào cuối mỗi case là được nhé
#include

using namespace std;

int main()
{
int Thang;
cout<<"Ban muon xem so ngay cua thang nao: ";
cin>>Thang;
switch(Thang)
{
case 1:case 3: case 5: case 7: case 8: case 10: case 12:
cout<<"Thang Nay co 31 ngay";
break;
case 4: case 6: case 9: case 11: cout<<"Thang nay co 30 ngay";
break;
case 2: goto lab;
break;
default: cout<<"Thang ban nhap khong ton tai";
break;
lab:
	int nam;
	cout<<" Ban muon xem thang 2 cua nam nao";
	cin>>nam;
	if (nam%4==0) cout<<"Thang Nay co 29 ngay";
	else cout<<"Thang nay co 28 ngay";
}
}

Tham khảo thêm: http://stackoverflow.com/questions/4494170/grouping-switch-statement-cases-together
p/s; cảm ơn bác , nhờ bài này em mới biết cách kết hợp nhiều case với nhau

Pt Pan viết 02:39 ngày 01/10/2018

Nếu ko nhập tháng 2 thì nhãn LAB vẫn dc thực thi và xuất ra “Ban muon xem thang 2 cua nam naò”

Nguyễn Hoàng Trung viết 02:38 ngày 01/10/2018

Đâu có đâu bác

Ideone.com

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

Bò Lúc Lắc viết 02:44 ngày 01/10/2018

việc dùng lệnh ngảy cóc kiểu này: case 2: goto lab; không nên xài. Thực tế có khí còn bị cấm dùng, vì code thiếu tường mình và gây rối người đọc code
Nói về tổng thế code bạn thì đây là cách cơ bản đối với bài này. Ngoài ra còn cách khác

#include<iostream>
using namespace std;
int main()
{
    int thang;
    int nam;
    int ngayNamThuong[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    int ngayNamNhuan[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
    cout << "Nhap nam: ";
    cin >> nam;
    cout << "Nhap thang: ";
    cin >> thang;
    if(nam < 1 && thang > 12 && thang < 1) {
        cout << "Nam thang khong hop le";
    } else if( (nam%4 == 0 && nam%100 != 0) || nam%400 == 0) {
        count << "Thang nay co " << ngayNamNhuan[thang-1] << " ngay";
    } else {
        count << "Thang nay co " << ngayNamThuong[thang-1] << " ngay"
    }
}
Bài liên quan
0