C,
pasted
on Sep 11:
|
#include<stdio.h>
#include<conio.h>
const int minYear = 1900, maxYear = 10000;
int KiemTraNamNhuan(int nam)
{
return (nam % 4 == 0 && nam % 100 != 0) || (nam % 400 == 0);
}
int TimSoNgayTrongThang(int thang, int nam)
{
int NgayTrongThang;
switch(thang)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
NgayTrongThang = 31;
break;
case 4: case 6: case 9 : case 11:
NgayTrongThang = 30;
break;
case 2:
int Check = KiemTraNamNhuan(nam);
if(Check == 1)
{
NgayTrongThang = 29;
}
else
{
NgayTrongThang = 28;
}
}
return NgayTrongThang;
}
void TimNgayTruocDo(int Ngay, int Thang, int Nam)
{
int NgayTrongThang = TimSoNgayTrongThang(Thang, Nam);
if(Ngay == 1) // Nếu ngày nhập vào là 1
{
Ngay = NgayTrongThang; // ngày trước đó là số ngày trong tháng trước
if(Thang == 1) // Nếu tháng là 1
{
Thang = 12;
Nam--;
}
else // Tháng khác 1
Thang--;
}
else // Ngày khác 1
Ngay--;
printf("\nNgay truoc do la: %d - %d - %d ", Ngay, Thang, Nam);
}
int main()
{
int Ngay, Thang, Nam;
do
{
printf("\nNhap vao nam: ");
scanf("%d", &Nam);
if(Nam < minYear || Nam > maxYear)
{
printf("\nDu lieu nam khong hop le. Xin kiem tra lai!");
}
}while(Nam < minYear || Nam > maxYear);
do
{
printf("\nNhap vao thang: ");
scanf("%d", &Thang);
if (Thang < 1 || Thang > 12)
printf("\nDu lieu thang khong hop le. Xin kiem tra lai!");
}while(Thang < 1 || Thang > 12);
int NgayTrongThang = TimSoNgayTrongThang(Thang, Nam);
do
{
printf("\nNhap vao ngay: ");
scanf("%d",&Ngay);
if(Ngay < 1 || Ngay > NgayTrongThang)
{
printf("\nDu lieu ngay khong hop le. Xin kiem tra lai!");
}
}while(Ngay < 1 || Ngay > NgayTrongThang);
TimNgayTruocDo(Ngay, Thang, Nam);
getch();
return 0;
}
|
Output:
|
Line 17: error: conio.h: No such file or directory
In function 'TimSoNgayTrongThang':
Line 21: error: expected expression before 'int'
Line 22: error: 'Check' undeclared (first use in this function)
Line 22: error: (Each undeclared identifier is reported only once
Line 22: error: for each function it appears in.)
|
|
Create a new paste based on this one
Comments:
posted by
muatranchau
on May 17
Em chào thầy ạ.Thầy ơi chỗ tìm ngày trước đó
Ngay = NgayTrongThang;
thì chỗ này nó sẽ cho kết quả là ngày của tháng mình nhập vào chứ không phải là ngày của tháng trước đó ạ. Nên e sửa nó thành
Ngay= TimSoNgayTrongThang(Thang-1, Nam);
E chạy trong dev C thì ok, nhưng chạy bên visual thì phải đổi vị trí như phía dưới ạ( sao lại thế nhỉ?)
if (day == 1)
{
if (month == 1) /
{
day = 31;
month = 12;
year = year - 1;
}
else
{
day = find_number_day_in_month(month - 1, year);
month = month - 1;
}
reply
posted by
muatranchau
on May 17
còn trong dev C thì như này ạ
if (day == 1)
{
day = find_number_day_in_month(month - 1, year);
if (month == 1)
{
month = 12;
year = year - 1;
}
else
{
month = month - 1;
}
}
reply
posted by
HuyDZ
on Mar 10
Code phía trên chưa đúng nếu như nhập 1/3/2020 sẽ trả về 31/2/2020.
/******************************************************************************
Online C++ Compiler.
Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.
*******************************************************************************/
#include <iostream>
using namespace std;
int Ktnamnhuan(int nam){
return (nam%100==0 && nam%400==0) || (nam%4==0);
}
int Ktngaytheothang(int nam, int thang){
int ngaytieptheo;
switch(thang){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
ngaytieptheo=31;
break;
case 4:case 6:case 9:case 11:
ngaytieptheo=30;
break;
case 2:
int flag = Ktnamnhuan(nam);
if(flag==1){
ngaytieptheo=29;
}else{
ngaytieptheo=28;
}
}
return ngaytieptheo;
}
void Ktngaytieptheo(int ngay, int thang, int nam){
int ngaytieptheo = Ktngaytheothang(nam,thang);
if(ngay==1){
if(thang==1){
nam--;
thang=12;
ngay=ngaytieptheo;
}else{
ngay=Ktngaytheothang(nam,thang-1);
//thang--;
}
}
else{
ngay--;
}
cout<<"\nNgay "<<ngay<<", thang "<<thang<<", nam "<<nam<<"";
}
int main()
{
int ngay, thang, nam;
do{
std::cout << "Nhap ngay: " << std::endl;cin>>ngay;
}while(ngay<1 || ngay>31);
do{
std::cout << "Nhap thang: " << std::endl;cin>>thang;
}while(thang<1 || thang>12);
cout<<"Nhap nam: ";cin>>nam;
cout<<"\nKiem tra nam nhuan - Tinh so ngay trong thang";
// Ktngaytheothang(nam,thang);
cout<<"\nKiem tra ngay tiep theo";
Ktngaytieptheo(ngay,thang,nam);
return 0;
}
reply
posted by
yonnon
on Jul 16
#include<bits/stdc++.h>
using namespace std;
int main()
{
int day;
int month;
int year;
int datetemp=0;
int temp=0;
int minday=0;
int maxday=0;
do
{
cout << "Enter year: ";
cin >> year;
if(year < 0 )
{
cout << "Nam ban nhap qua nho xin nhap lai! "<<
endl;
}
else if(year > 5000)
{
cout << "Nam ban nhap qua lon xin nhap lai! "<<
endl;
}
}while(year < 0 || year > 5000);
do
{
cout << "Enter month: ";
cin >> month;
if( month < 1 || month >12)
{
cout << "Ban da nhap sai xin nhap lai"<<
endl;
}
}while( month < 1 || month > 12 );
//check year
if (year % 4 == 0)
{
temp = 1;
}
else if( year % 4 != 0)
{
temp = 0;
}
//check month
if( month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12)
{
minday = 1;
maxday = 31;
}
else if( month == 4 || month == 6 || month == 9 || month == 11)
{
minday = 1;
maxday = 30;
}
else if( month == 2 && temp == 1 )
{
minday = 1;
maxday = 29;
}
else if( month == 2 && temp == 0)
{
minday = 1;
maxday = 28;
}
do
{
cout << "Enter day: ";
cin >> day;
if( day < minday || day > maxday)
{
cout << "Ban da nhap sai xin nhap lai!"<<
endl;
}
}while( day < minday || day > maxday );
if( month == 12 || month == 5 || month == 7 || month == 8 && day==minday)
{
cout <<"30-"<<month-1<<"-"<<year<<" "<<
endl;
return 0;
}
else if(month == 4 || month == 6 || month == 9 || month == 11 || month == 2 && day == minday)
{
cout << "31-"<<month-1<<"-"<<year<<""<<
endl;
return 0;
}
else if( month == 10 && day==minday)
{
cout << "30-"<<month-1<<"-"<<year<<""<<
endl;
return 0;
}
else if(month == 1 && day == minday)
{
cout << "31-12-"<<year-1<<
endl;
return 0;
}
//
else if( month == 3 && temp == 1 && day == minday)
{
cout <<"29-"<<month-1<<"-"<<year<<
endl;
return 0;
}
else if( month == 3 && temp==0 && day == minday)
{
cout <<"28-"<<month-1<<"-"<<year<<
endl;
return 0;
}
else
{
cout<<day-1<<"-"<<month<<"-"<<year<<
endl;
return 0;
}
cin.ignore();
system("pause");
return 0;
}
reply
posted by
cuong.luucb8921
on Sep 3
#include<stdio.h>
int main(){
int ngay;
int thang;
int nam;
printf("Nhap vao ngay:\n");
scanf("%d",&ngay);
printf("Nhap vao thang:\n");
scanf("%d",&thang);
printf("Nhap vao nam:\n");
scanf("%d",&nam);
ngay = ngay - 1;
switch(thang)
{
case 5:
case 7:
case 8:
case 10:
case 12:
if(ngay==0)
{
ngay = 30;
thang = thang-1;
}
break;
case 2:
case 4:
case 6:
case 9:
case 11:
if(ngay==0)
{
ngay = 31;
thang = thang-1;
}
break;
case 3:
if(nam%4==0)
{
if(ngay==0)
{
ngay = 29;
thang = thang-1;
}
}
else
{
if(ngay==0)
{
ngay = 28;
thang = thang-1;
}
}
break;
case 1:
if(ngay==0)
{
ngay = 31;
thang = 12;
nam = nam-1;
}
break;
}
printf("%d/%d/%d",ngay,thang, nam);
return 0;
}
reply
posted by
dattndev@gmail.com
on Feb 1
#include <iostream>
#include<algorithm>
#include<cmath>
using namespace std;
bool checkNamNhuan(int year);
int findDayInMonth(int month, int year);
void findPreviousDay(int day,int month,int year);
int main(){
int day,month,year;
int dayinmonth = findDayInMonth(month,year);
cout<<"Enter day, month and year";
cin >>day>> month >> year;
findPreviousDay(day,month,year);
return 0;
}
bool checkNamNhuan(int year){
if(( year % 4 ==0 && year % 100 != 0)||(year % 400 == 0))
return true;
else
return false;
}
int findDayInMonth(int month,int year){
int dayinmonth;
switch(month){
case 1:case 3:case 5:case 7:case 8:case 10:case 12:
dayinmonth = 31;
break;
case 4:case 6:case 11:
dayinmonth =30;
break;
case 2:
bool check = checkNamNhuan(year);
if ( check == true )
dayinmonth =28;
else
dayinmonth =29;
}
return dayinmonth;
}
void findPreviousDay(int day, int month, int year){
if(day ==1){
int dayinmonth =findDayInMonth(month,year);
if(month == 1){
month = 12;
year--;
day = dayinmonth;
}
else{
day = dayinmonth;
month --;
}
}
else
day--;
cout << day <<", "<< month <<", "<<year;
}
reply