mml403249087 2016-05-18 06:48 采纳率: 50%
浏览 1512
已采纳

关于C++的赋值问题!!!!

 #include <iostream>

struct Time{
    int hour, minute;
    double second;
};

#include <iostream>
#include "increment.h"

Time increment(Time& time, double sec);
double convertToSeconds (const Time& t);
Time makeTime(double sec);
using namespace::std;
int main(Time& time)
{
    Time t;
    double seconds;
    cout<<"请输入时间"<<endl;
    cin>>t.hour>>t.minute>>t.second;
    cout<<"请输入需要增加的时间"<<endl;
    cin>>seconds;
    time = increment(t, seconds);
    return 0;
}

double convertToSeconds (const Time& t)
{
    int minutes = t.hour*60 + t.minute;
    double seconds = minutes*60 + t.second;
    return seconds;
}

Time makeTime(double sec)
{
    Time time;
    time.hour = int(sec/3600.0);
    sec -= time.hour*3600;
    time.minute = int(sec/60.0);
    sec -= time.minute*60;
    time.second = sec;
    return time;
}

Time increment(Time& time, double sec)
{
    double seconds = convertToSeconds(time) + sec;
    Time t = makeTime(seconds);
    return t;
}

这是代码,在运行的函数increment中给变量t赋值的时候是乱码,本人新手没有c币悬赏,求各位大神指导

  • 写回答

3条回答 默认 最新

  • Valtava 2016-05-18 07:33
    关注

    可能是main()函数的问题。

    你的main函数里面 Time& time 这个引用的time从哪儿来? 你试试把main函数的参数取消,然后在函数里面声明time试试。可能是我太菜,我是没见过main函数里面可以这么传参的。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 为什么nacos注册失败了呀?
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 游戏盾如何溯源服务器真实ip?
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。
  • ¥50 win10链接MySQL
  • ¥15 抖音看过的视频,缓存在哪个文件