You can’t do this. You can’t pass the table name as a parameter the way you did:
SqlCommand com = new SqlCommand("insert into @table ...");
...
com.Parameters.AddWithValue("@table", tblname);
You can do this instead:
Console.WriteLine("Enter table name:");
Console.Write(">> ");
string tblname = Console.ReadLine();
string sql = String.Format("insert into {0} (time, date, pin) values ... ", tblname);
SqlCommand com = new SqlCommand(sql, con);
...