2016-11-03 2 views
0

사용자에게 시간을 입력하도록 요청하는 프로그램을 작성 중입니다 (시간은 12 시간 모드라고 가정 함). 프로그램은 또한 사용자에게 원본에서 시간을 더하거나 뺄 것인지 묻습니다 그들이 입력 한 시간. 이것은 시간 및 분을 입력하도록 요청할 것이다C++ 더하기 및 빼기 시간

void getTime(int &h, int &m, bool mode); 

,

같은 H = 7 m = 30 I 원할

the time is 7:30 

표시 할 사용자가 시간을 더하거나 뺄 수있는 또 다른 void 함수를 포함합니다. 사용자가 메뉴를 표시하고 사용자가 시간을 추가 선택하고,

h=2 m=30 

입력되면 새로운 시간이 나는 시간 않도록 while 루프를 포함해야합니다 생각

The new time is 10:00 

표시해야 12를 초과하지 않으며 분은 60을 초과하지 않으며, 그러나 나는 어디에서 시작해야하는지 혼란 스럽다.

+1

좋아하는 책에서 '%'연산자에 대해 읽었습니다. – molbdnilo

+2

시간은 [복잡하다] (http://infiniteundo.com/post/25326999628/falsehood-programmers-believe-about-time)입니다. 가능한 경우 라이브러리를 사용하십시오. C++ 11을 사용할 수 있으면 ['std :: chrono'] (http://en.cppreference.com/w/cpp/chrono)를 사용할 수 있습니다. –

+0

@molbdnilo yup mod이이를위한 접근 방식이어야합니다. –

답변

0
Time Addition steps : 

1)Convert float to integer. 
    Time1 is 7.30 x 100 = 730 
    Time2 is 2.30 x 100 = 230 

    Addition => Time3 is = 960 

2) Use divide & module operator (/,%). 
    minutes = 960 % 100 ; (60) 
    hours = 960/100 ; (9) 

3) check two condition: 
    if(min== 60){ 
     hours+1; 
     minutes=0; 
    } 

    if(hour==12 && min==60){ 
     hours=1; 
     minutes=0; 
    } 

4) final result is : 10.00 
관련 문제