c06-基础,计算日期差

1.cin>>字符变量地址:把输入的一串字符从这个地址表示的内存单元开始一次摆放最后加'\0';

2.c++ string类型长度限制1G;

3.string类型仍可使用string[i],长度使用string.size();strlen(string.c_str());

4.计算两个日期相差天数及周几:

 

struct Data
{
	int year;
	int mouth;
	int day;
};
bool isleap(int i)
{
	return i%4 == 0 && i%100 != 0 || i%400 == 0;
}
int MouthOfDays(int y, int m)
{
	int mou[12] = {31,0,31,30,31,30,31,31,30,31,30,31};
	if (m != 2)
		return mou[m-1];
	else
		return 28 + isleap(y);
}
int Days(Data d)
{
	int day = d.day;
	for (int i = 1; i < d.year; ++i)
		day += 365 + isleap(i);
	for (int i = 1; i < d.mouth; ++i)
		day += MouthOfDays(d.year, i);
	return day;
}
void show(Data d1, Data d2)
{
	cout<<"相差:"<<Days(d2) - Days(d1)<<endl;
	cout<<Days(d2)%7<<endl;
	cout<<Days(d1)%7<<endl;
}

 

5.有extern即为声明,无则为定义

6.指针有类型,struct t{int i;int j}; t s; *&s为变量s;*&s.i为变量s.i;虽然&s和&s.i相同

7.typedef:1.定义变量:int *p; 2.要定义的名字替换变量名:int *A; 3.添加tepydef:tepydef int *A;

8.地址运算依变量长度为单位

9.*p++运算顺序,* ,++均为单目平级,从右向左运算

10.int a[5] = {1,2,3,4,5}; *(a+1) = a[1]; int *p = a+1; p-a = 1;

11.比较本质是相见

12.char *p = new char[10]; delete[] p;

13.使用空指针(NULL)编译程序会报错

14.getline(cin, str);读取整行数据,包括中间的空格,其中str为string类型。get相关几个函数:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值