需要帮助修复代码以便它可以编译

Need help fixing code so that it can complie

作为作业的一部分,我必须用 C 编写代码,以在开始时间和持续时间相加时给出结束时间。

例如,"Start time is 1245. Duration is 345. End time is 1630"

这是我的代码:

#include <stdio.h>

void addTime(int start, int duration);
int main()

{
 addTime(1045, 345);
 addTime(800, 435);
 addTime(2300, 300);
}

void addTime(int start, int duration)

if(start + duration > 2400)
{
 printf("Start time is %d. Duration is %d. End time is %d\n", start, duration, (((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100)))/60) + (((((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100))/60)%)/3600)%))));
}

else
{
 printf("Start time %d. Duration is %d. End time is %d\n", start, duration, (((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100)))/60) + (((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100)))/60)%));
}

这是错误信息:

task3.c: In function ‘addTime’:
task3.c:14:1: error: expected declaration specifiers before ‘if’
 if(start + duration > 2400)
task3.c:19:1: error: expected declaration specifiers before ‘else’
 else
task3.c:22:1: error: expected ‘{’ at end of input

您缺少围绕 addTime 实现的大括号 ({}):

void addTime(int start, int duration) 
{ /* here */    
    if(start + duration > 2400)
    {
        printf("Start time is %d. Duration is %d. End time is %d\n", start, duration, (((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100)))/60) + (((((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100))/60)%)/3600)%))));
    }        
    else
    {
        printf("Start time %d. Duration is %d. End time is %d\n", start, duration, (((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100)))/60) + (((((60*(start/100))+(((start/100)%)*100)) + ((60*(duration/100))+(((duration/100)%)*100)))/60)%));
    }
} /* and here */