I have a perfect running code, BUT one criteria for this homework is that it has atleast two different functions. How can i devide this code into one more functions?
I want to sort the alarmClock() function into more functions. There's alot going on in there. Maybe a updateTime() function. I tried something like this but this doesn't work:
#include <stdio.h>
void alarmClock(int, int);
void updateTime(int, int, int);
int main() {
  int present_time;
  int time_for_alarm;
  printf("Time indicates in HHMMSS! \nPresent time: ");
  scanf("%d", &present_time);
  printf("Time for alarm: ");
  scanf("%d", &time_for_alarm);
  if (present_time == time_for_alarm)
    printf("ALARM!");
  else
    alarmClock(present_time, time_for_alarm);
  return 0;
}
void alarmClock(int presT, int alarmT) {
  int presentHH = presT / 10000;
  int presentMM = (presT / 100) % 100;
  int presentSS = presT % 100;
  int combineTime;
  while (presT != alarmT) {
    printf("%02d:%02d:%02d \n", presentHH, presentMM, presentSS);
    presentSS++;
    updateTime(presentHH, presentMM, presentSS);
    combineTime = presentHH * 100 + presentMM;
    presT = combineTime * 100 + presentSS;
  }
  printf("ALARM!");
}
void updateTime(int presentHH, int presentMM, int presentSS) {
  if (presentSS > 59) {
    presentSS = 0;
    presentMM++;
    if (presentMM > 59) {
      presentMM = 0;
      presentHH++;
      if (presentHH > 24) {
        presentHH = 1;
      }
    }
  }
}
My teacher hinted me saying "you could make on printTime() function and one updateTime() function sending present_time as arguments". But i dont know how...
This is my working code that needs atleast one more function.
#include <stdio.h>
void alarmClock(int, int);
int main() {
  int present_time;
  int time_for_alarm;
  printf("Time indicates in HHMMSS! \nPresent time: ");
  / scanf("%d", &present_time);
  /
      printf("Time for alarm: ");
  scanf("%d", &time_for_alarm);
  if (present_time == time_for_alarm)
    printf("ALARM!");
  else
    alarmClock(present_time, time_for_alarm);
  return 0;
}
void alarmClock(int presT, int alarmT) {
  int presentHH = presT / 10000;
  int presentMM = (presT / 100) % 100;
  int presentSS = presT % 100;
  int combineTime;
  while (presT != alarmT) {
    printf("%02d:%02d:%02d \n", presentHH, presentMM, presentSS);
    presentSS++;
    if (presentSS > 59) {
      presentSS = 0;
      presentMM++;
      if (presentMM > 59) {
        presentMM = 0;
        presentHH++;
        if (presentHH > 24) {
          presentHH = 1;
        }
      }
    }
    combineTime = presentHH * 100 + presentMM;
    presT = combineTime * 100 + presentSS;
  }
  printf("ALARM!");
}
The working code gives this output (correct output);
if present_time = 115957
and time_for_alarm = 120001
output is 11:59:57 11:59:58 11:59:59 12:00:00 ALARM
but when i created the updateTime() function the code keeps running forever if i have these values:
if present_time = 115957
and time_for_alarm = 120001
output is 11:59:57 11:59:58 11:59:59 11:59:60 11:59:61 11:59:62 11:59:63 ... and so on and on (presentSS keeps going +=1 forever)
 
     
    