Giúp em với!!
đề là Viết chương trình cho phép người dùng nhập vào bộ ngày tháng năm. người dùng nhập 0 0 0 để kết thúc.Xác định ngày tháng năm sớm nhất theo lịch.
Em code đúng được cách kiểm tra xem ngày tháng nhập vào có hợp lệ hay không thôi… còn lại em không biết sai chỗ nào nữa… sửa giúp em với ạ
//Khai bao thu vien
#include<iostream>
#include<conio.h>
#include<cmath>
using namespace std;
//Chuong trinh chinh
void main()
{
//Khai bao bien
int iNgay, iThang, iNam, iNgaySomNhat , iThangSomNhat , iNamSomNhat , iDem = 0;
bool bFlag = false;
//Nhap du lieu
do
{
cout << "Nhap vao 3 so nguyen tuong ung voi Ngay, Thang va Nam: ";
cin >> iNgay >> iThang >> iNam;
//Xu li gia tri
//Kiem tra Ngay, Thang, Nam nhap vao co hop le hay khong
if (iNam > 0)
{
switch (iThang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if (iNgay >= 1 && iNgay <= 31)
bFlag = true;
break;
case 4:
case 6:
case 9:
case 11:
if (iNgay >= 1 && iNgay <= 30)
bFlag = true;
break;
case 2:
if ((iNam % 4 == 0 && iNam % 100 != 0) || (iNam % 400 == 0))
{
if (iNgay >= 1 && iNgay <= 29)
bFlag = true;
}
else
if (iNgay >= 1 && iNgay <= 28)
bFlag = true;
break;
default:
bFlag = false;
}
}
else
bFlag = false;
if (bFlag == true)
{
iDem++;
cout << "Ngay, Thang, Nam ban nhap hop le!" << endl;
}
else
cout << "Ngay, Thang, Nam ban nhap khong hop le!" << endl;
if (bFlag == true)
{
if (iDem == 1)
{
iNamSomNhat = iNam;
iThangSomNhat = iThang;
iNgaySomNhat = iNgay;
}
else
{
if (iNam < iNamSomNhat)
iNamSomNhat = iNam;
if (iThang < iThangSomNhat)
iThangSomNhat = iThang;
if (iNgay < iNgaySomNhat)
iNgaySomNhat = iNgay;
}
}
} while (iNgay != 0 && iThang != 0 && iNam != 0);
cout << iNgaySomNhat << " " << iThangSomNhat << " " << iNamSomNhat << "la ngay som nhat!";
_getch();
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?