C語(yǔ)言小程序 計(jì)算第二天日期示例代碼
更新時(shí)間:2013年07月22日 11:34:44 作者:
輸入一個(gè)日期,判斷下一個(gè)日期是哪一天,如果日期輸入錯(cuò)誤,則調(diào)用Linux下的cal命令顯示輸入的月份
復(fù)制代碼 代碼如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int year, month, day;
const int day_30 = 30;
const int day_31 = 31;
int day_month_2 = 0;
char err_flag = 0;
void compute()
{
printf("輸入年月日(1992-7-19):");
scanf("%d-%d-%d",&year, &month, &day);
if((year%4==0 && year%100!=0) || (year%400==0))
{
day_month_2 = 29;
}
else
{
day_month_2 = 28;
}
if(month>=1 && month<=12)
{
if(month == 2)
{
if(day > day_month_2)
{
err_flag = 1;
}
else if(day == day_month_2)
{
month++;
day = 1;
}
else
{
day++;
}
}
else if(month==1 || month==3 || month==5 || month==7 ||\
month==8 || month==10 || month==12)
{
if(day > day_31)
{
err_flag = 1;
}
else if(day == day_31)
{
month++;
day = 1;
}
else
{
day++;
}
}
else
{
if(day > day_30)
{
err_flag = 1;
}
else if(day == day_30)
{
month++;
day = 1;
}
else
{
day++;
}
}
if(month > 12)
{
year++;
month = 1;
}
}
else
{
err_flag = 1;
}
}
int main()
{
time_t now;
char ch, c;
char call_cal[30];
do
{
compute();
if(err_flag)
{
err_flag = 0;
printf("日期輸入錯(cuò)誤,調(diào)用cal命令查詢(xún)%d年%d月:\n\n",year, month);
sprintf(call_cal, "/usr/bin/cal %d %d",month, year);
system(call_cal);
//system("clear");
while((c=getchar())!='\n' && (c=getchar())!=EOF);
printf("是否重新輸入(y/n):");
}
else
{
printf("第二天為%d-%d-%d。\n",year, month, day);
while((c=getchar())!='\n' && (c=getchar())!=EOF);
printf("是否再次輸入日期(y/n):");
}
ch = getchar();
}
while(ch=='y' || ch=='Y' || ch=='\n');
time(&now);
printf("Now is %s",ctime(&now));
puts("Having a goodday!");
return 0;
}
相關(guān)文章
詳解C++編程中對(duì)二進(jìn)制文件的讀寫(xiě)操作
這篇文章主要介紹了C++編程中對(duì)二進(jìn)制文件的讀寫(xiě)操作,是C++入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-09-09
C++用指針變量作為函數(shù)的參數(shù)接受數(shù)組的值的問(wèn)題詳細(xì)總結(jié)
以下是對(duì)C++中用指針變量作為函數(shù)的參數(shù)接受數(shù)組的值的問(wèn)題進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下,希望對(duì)大家有所幫助2013-10-10
c++動(dòng)態(tài)庫(kù)調(diào)用的實(shí)現(xiàn)
本文主要介紹了c++動(dòng)態(tài)庫(kù)調(diào)用的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
C++中for循環(huán)與while循環(huán)的區(qū)別總結(jié)
這篇文章主要給大家介紹了關(guān)于C++中for循環(huán)與while循環(huán)的區(qū)別的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10
C語(yǔ)言的getc()函數(shù)和gets()函數(shù)的使用對(duì)比
這篇文章主要介紹了C語(yǔ)言的getc()函數(shù)和gets()函數(shù)的使用對(duì)比,從數(shù)據(jù)流中一個(gè)是讀取字符一個(gè)是讀取字符串,需要的朋友可以參考下2015-08-08

