| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:[求助]关于结构指针的用法,在线waiting
只看楼主 加入收藏
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
 问题点数:0 回复次数:5 
[求助]关于结构指针的用法,在线waiting

#include "Stdio.h"
struct date
{ int month;
int day;
int year;
};
/*是否为润年*/
int ruinian(struct date *d)
{ if ((*d.year%4==0&&*d.year%100!=0)||*d.year%400==0)
return 1;
else -1;
}
/*返回月的最后一天*/
int chazhao(struct date *d)
{int days[]={31,28,31,30,31,30,31,31,30,31,30,31};
if (ruinian(*d)==1&&*d.month==2)
return 29;
else
return days[*d.month-1];

}


/*查找下一天*/
void update(struct date *today)
{ if (today->day!=chazhao(*today))
{today->day=today->+1;
today->month=today->month;
today->year=today->year;
}
else if (today->month==12)
{ today->day=1;
today->mont=1;
today->year=today->year+1;
}
else
{today->day=1;
today->month=today->month+1;
today->year=today->year;
}
}


int main(void)
{int ruinian(struct date *d);
int chazhao(struct date *d);
void update(struct date *today);
struct date today;
struct date *next=&today;
printf ("input today's date : mm/dd/yy\n");
scanf ("%i/%i/%i",today.month,today.day,today.year):

update(next);

printf ("%i/%i/%i",today.mont,today.day,today.year);




getch();
return 0;
}


这是关于以前输出下一天日期的程序。以前没有学过指针。所以也能写出来。现在讲到指针了,并且要用指针来改写这个程序。可是我怎么都搞不好。一开始就出错。。有没有哪位朋友帮帮偶呀。。我跪求。。。或者有没有哪位帮帮我在这个程序上修改一下。。。大家帮帮我呀5555555555555555



求求大家帮帮我呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

[此贴子已经被作者于2007-7-26 22:20:27编辑过]

搜索更多相关主题的帖子: waiting 指针 用法 结构 
2007-07-26 22:19
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
你的问题具体是?

~~我的明天我知道~~
2007-07-26 22:25
Javal
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2006-5-7
收藏
得分:0 
[CODE]#include <stdio.h>

struct date
{
int month;
int day;
int year;
};

/*是否为润年*/
int ruinian(struct date *d)
{
if ((d->year % 4 == 0 && d->year % 100 != 0) || d->year % 400 == 0)
return 1;
else -1;
}
/*返回月的最后一天*/
int chazhao(struct date *d)
{
int days[]={31,28,31,30,31,30,31,31,30,31,30,31};

if (ruinian(d) == 1 && d->month == 2)
return 29;
else
return days[d->month-1];
}

/*查找下一天*/
void update(struct date *today)
{
if (today->day != chazhao(today))
{
++today->day;
//today->month=today->month;
//today->year=today->year;
}
else if (today->month==12)
{
today->day = 1;
today->month = 1;
++today->year;
}
else
{
today->day=1;
++today->month;
//today->year=today->year;
}
}

int main(void)
{
int ruinian(struct date *d);
int chazhao(struct date *d);
void update(struct date *today);
struct date today;
struct date *next=&today;
printf("input today's date : mm/dd/yy\n");
scanf("%d/%d/%d", &today.month, &today.day, &today.year);

update(next);

printf ("tomorrow is %d/%d/%d\n", today.month, today.day, today.year);

//getch();
return 0;
}[/CODE]

猝然临之而不惊,无故加之而不怒 /?spaced" target="_blank">Linux C资料
2007-07-26 22:42
jstxlwl118
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2007-6-1
收藏
得分:0 
为什么前面两个函数要把*号去掉。。有些不理解。。因为我刚刚学指针。。。有没有谁可以讲解一下呀
2007-07-26 22:48
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
因为*D就是结构体指针,就是这么引用的,不用在加*号了。你可以先看看书。
还有一种是结构体变量,引用为d.year

~~我的明天我知道~~
2007-07-26 22:54
Javal
Rank: 1
等 级:新手上路
威 望:1
帖 子:108
专家分:0
注 册:2006-5-7
收藏
得分:0 
用指向结构体的指针来取得结构体成员时,要用“->”运算符,不能用“.”,这个是结构体指针的基本使用方法

猝然临之而不惊,无故加之而不怒 /?spaced" target="_blank">Linux C资料
2007-07-26 22:54
快速回复:[求助]关于结构指针的用法,在线waiting
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019495 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved