标题:关于结构体作为参数的问题
只看楼主
百里
Rank: 2
等 级:论坛游民
帖 子:34
专家分:66
注 册:2016-10-1
结帖率:100%
已结贴  问题点数:20 回复次数:2 
关于结构体作为参数的问题
用结构体定义时钟类型,编程从键盘任意输入两个时间(例如4时55分和1时25分),计算并输出这两个时间之间的间隔。要求不输出时间差的负号。结构体类型定义如下:
typedef struct clock
{
    int hour;
    int minute;
    int second;
} CLOCK;

函数原型: CLOCK CalculateTime(CLOCK t1, CLOCK t2);
函数功能:计算并返回两个时间t1和t2之间的差

程序运行结果示例1:
Input time one:(hour,minute):4,55↙
Input time two: (hour,minute):1,25↙
3hour,30minute
程序运行结果示例2:
Input time one:(hour,minute):1,33↙
Input time two: (hour,minute):5,21↙
3hour,48minute
//////////////////////////////////////////////////////////////////
/////////////我的错误代码///////////////////////////////////////////
///////////////////////////////////////////////////////////////
#include <stdio.h>
#include <stdlib.h>
#include"math.h"
typedef struct clock
{
    int hour ;
    int minute ;
    int second ;

}CLOCK ;
CLOCK CalculateTime(CLOCK t1, CLOCK t2) ;
int main()
{
    int hour1, minute1, hour2, minute2 ;
    CLOCK t1,t2 ;
    printf("Input time one:(hour£¬minute):") ;
    scanf( "%d,%d",&hour1,&minute1) ;
    printf( "Input time two: (hour£¬minute):") ;
    scanf("%d,%d",&hour2, &minute2) ;
    CalculateTime(t1, t2) ;
    printf("%dhour,%dminute\n",CalculateTime.hour, CalculateTime.minute) ;
    return 0 ;
}
CLOCK CalculateTime(CLOCK t1, CLOCK t2)
{

    CalculateTime.hour=fabs(t1.hour-t2.hour) ;
    CalculateTime.minute=fabs(t1.minute-t2.minute) ;
    CalculateTime.second=fabs(t1.second-t2.second) ;
}
//////////////////////////////////////////////////
///////////////////////////////////////////////////
我想知道的是 CLOCK CalculateTime(CLOCK t1, CLOCK t2);这个作为函数原型时,我该怎么设定才使得他成为符合条件的被调用函数???谢谢!
搜索更多相关主题的帖子: minute second 结构体 时间差 
2016-12-17 17:07
bjut_Allen
Rank: 9Rank: 9Rank: 9
来 自:平乐园工业技术学校
等 级:蜘蛛侠
威 望:8
帖 子:323
专家分:1223
注 册:2016-10-16
得分:20 
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct clock
{
    int hour ;
    int minute ;
    //int second ;

}CLOCK ;
CLOCK CalculateTime(CLOCK t1, CLOCK t2) ;
int main()
{
    int hour1, minute1, hour2, minute2 ;
    CLOCK t1,t2,t3;
    printf("Input time one:(hour£?minute):") ;
    scanf("%d%d",&t1.hour,&t1.minute) ;
    printf( "Input time two: (hour£?minute):") ;
    scanf("%d%d",&t2.hour,&t2.minute) ;
    t3=CalculateTime(t1, t2) ;
    printf("%dhour,%dminute\n",t3.hour, t3.minute) ;
    return 0 ;
}
CLOCK CalculateTime(CLOCK t1, CLOCK t2)
{
    CLOCK t3;
t3.hour=fabs((t1.hour*60+t1.minute)-(t2.hour*60+t2.minute))/60;
t3.minute=fabs(((t1.hour*60+t1.minute)-(t2.hour*60+t2.minute))%60);
    return t3;
}

Code is my life.
2016-12-17 18:15
啦啦林
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2017-11-14
得分:0 
#include <math.h>后面那行有何用处
CLOCK是一种函数吗?
2017-11-14 00:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-472524-1-1.html




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

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