Ejemplo n.º 1
0
/**
 * Reads a new teacher
 * @param teacher t     [teacher's vector]
 * @param date    today [today's date]
 */
void readTeacher(teacher *t, date today) {
  char buffer[MAX_BUFFER_SIZE];
  printf("Teacher's name?\n");
  fgets(buffer, MAX_BUFFER_SIZE, stdin);
  t->name = (char *) malloc((strlen(buffer)+1)*sizeof(char)); //Name dynamic memory alloc

  if(t->name == NULL) {
    printf("Not enough memory\n");
    exit(1);
  }
  strcpy(t->name, buffer);
  t->name[strlen(t->name)-1] = '\0'; //Terminate the string with nullbyte

  printf("Teacher's birthdate?\n");
  fgets(buffer, MAX_BUFFER_SIZE, stdin);
  sscanf(buffer, "%d/%d/%d", &t->birthdate.day, &t->birthdate.month, &t->birthdate.year);
  t->age = calcAge(t->birthdate, today);
}
Ejemplo n.º 2
0
int main(void)
{
    printf("today's date (dd mm yyyy)>>>\n");

    printf("today's day: ");
    scanf("%d", &today.day);
    printf("today's month: ");
    scanf("%d", &today.month);
    printf("today's year: ");
    scanf("%d", &today.year);

    if (today.day <= 0 || today.month <= 0 || today.year <= 0) {
        throwException();
        return -1;
    }

    if (sanitizeDate(&today) == false) {
        throwException();
        return -1;
    }

    printf("birth date (dd mm yyyy)>>>\n");

    printf("bithday's day: ");
    scanf("%d", &birthday.day);
    printf("bithday's month: ");
    scanf("%d", &birthday.month);
    printf("bithday's year: ");
    scanf("%d", &birthday.year);

    if (birthday.day <= 0 || birthday.month <= 0 || birthday.year <= 0) {
        throwException();
        return -1;
    }

    if (sanitizeDate(&birthday) == false) {
        throwException();
        return -1;
    }

    calcAge(&today, &birthday);

    return 0;
}