2015-10-10 2 views
-2

В качестве части назначения мне нужно написать код на C, чтобы дать время окончания, когда время начала и продолжительность добавляются вместе.Нужна помощь в исправлении кода, чтобы он мог соответствовать

Например, "Начало времени 1245. Продолжительность 345. Время окончания является 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 
+0

Для функции addTime() требуется открывающая фигурная скобка '' '. – lit

ответ

3

Вам не хватает фигурных скобок ({}) вокруг 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 */ 
Смежные вопросы