程序设计之二:测试你活了多少天(C)

今天看到一个网页,其功能是计算一个人从出生到今天,共有多少天,然而多次尝试,均提示输入格式错误,便萌生了自己用C语言写这个程序的想法。

本程序实现的基本思想:采用控制台方式输入生日,并将该数据赋给一个结构体变量YearStart。计算这个日期距1900年的天数。同时调用系统函数,获得系统时间,将其赋给另一个结构体变量YearEnd,并计算它距1900年的天数。最后将后者减去前者,得到的数据便是生日那天据今天的天数。

运行结果举例:

程序设计之二:测试你活了多少天(C)_第1张图片

以下是我的程序代码:

// 测试你活了多少天.cpp : 定义控制台应用程序的入口点。
//
/*
********************************************************
*作者:钩鸿踏月,2011年3月20日
*版本:1.0——2011年3月20日
*	   1.1——2011年8月28日
********************************************************
*/
#include "stdafx.h"
#include  
#include  
#include  

//定义结构体Date,声明相关成员,并声明两个变量
struct Date
{
	int year;
	int month;
	int day;
}YearStart,YearEnd;
int main()
{
	int i;//变量用于年份的循环
	int	sum=0,s=0;//保存起始年份至1900年份的天数
	int	sum1=0,s1=0;//保存系统年份至1900年份的天数
	int month[13];//该数组用来保存输入年份和当前年份的月份数列
	int	sumday[13];//用来保存本月初至年初天数
	int	monthdayr[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
	//定义闰年每个月的天数,分别保存为monthdayr[1]至monthdayr[12]中
	int monthday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
	//定义平年每个月的天数,分别保存为monthdayr[1]至monthdayr[12]中
	printf("请输入您的生日:\n");
	printf("年:");
	scanf("%d",&YearStart.year);
	printf("月:");
	scanf("%d",&YearStart.month);
	printf("日:");
	scanf("%d",&YearStart.day);
	//输入出生年月,将其分别赋给结构体变量YearStart的各成员
	struct tm *p;
	time_t timep;
	time(&timep);
	p=localtime(&timep); //取得系统时间
	YearEnd.year=1900+p->tm_year;
	YearEnd.month=1+p->tm_mon;
	YearEnd.day= p->tm_mday;//将系统时间赋给结构体变量YearEnd各成员
	for(i=1900;i

2011年3月20日星期日

你可能感兴趣的:(测试,c,struct,system,date,语言)