So I’m writing a program that is supposed to take a year that someone was born in and then tell them how old they are and a fact about the year they were born in. So I wrote out a Hashtable with facts and ages for 1950-2012 and now I’m trying to get them to be output when someone enters a year. Right now what it is doing is taking the year, and doing the calculation I was trying to get, and the right age number, but it get the direct opposite from the hashtable (for instance, if you said you were born in 1950, the program will give the response that it ought to give someone who said their birth year was 2012 etc.).
This is the code so far. I hope there is a way to fix it without having to start all over.
Imports System
Imports System.Collections
Module Module1
Sub Main()
Console.WriteLine("This program tells you your age based off of your birth year, and gives you a fact about that year. Please note, this year does not account for the recent year change to 2013 due to the majority of the work on it being done prior to 2013")
Dim Years As New Hashtable
Years.Add(0, "You are most likely less than 1 year old, your birth year (2012) was the year that the US Embassy in Lybia was attacked, leaving the US ambassador dead.")
Years.Add(1, "You are most likely 1 year old, your birth year (2011) was the year that Osama Bin Laden, the master mind behind the September 11th attacks, was killed by Seal Team 6 in Pakistan.")
Console.WriteLine("Please input the year of your birth.")
Dim x As Integer
Dim Y As Integer
Try
x = Console.ReadLine
Catch ex As InvalidCastException
Console.WriteLine("Please input a year between 1950 and 2012, the program will not work with an empty number.")
End
End Try
Y = 2012 - x
Console.WriteLine(Years.Values(Y))
Console.ReadKey()
End Sub
End Module
I removed most of the hashtable as to not post a wall of text as the hashtable is 63 units long, but I left in a couple in case the issue lies with how I did them. They are are all identical except for the fact and the number.
HashTabletakes akey, as you can see from theAdd(key, value)method that you are calling.To access the data based on the
key(year) you would do:Where x is the year (or
key).