Skip to content

Instantly share code, notes, and snippets.

@simonsickle-old
Created January 12, 2015 03:18
Show Gist options
  • Save simonsickle-old/8448abe5d3a28085f449 to your computer and use it in GitHub Desktop.
Save simonsickle-old/8448abe5d3a28085f449 to your computer and use it in GitHub Desktop.
birthday-checker.c
/* Copyright 2015 Simon Sickle <simon@simonsickle.com>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include <stdio.h>
int main(void)
{
/* Always initalize vars at the top and 0 them out in RAM. */
int dob = 0;
int age = 0;
int future = 0;
/* Ask user for input */
printf("What year were you born? ");
scanf("%i", &dob);
printf("How old are you? ");
scanf("%i", &age);
/* If user reports age as current year - dob then theyre telling
* the truth. If they report current age - dob - 1 then they
* havent had a birthday yet
*/
if ((2015 - dob) == age || ((2015 - dob) - 1) == age) {
future = (2055 - dob);
printf("You're %i now and will be %i in 2055!\n", age, future);
} else {
printf("You pesky little liar! You can't be %i!\n", age);
}
/* main returns an int */
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment