/* Written by Jeremy Glassford
* June 11th, 2007
* Last Modified: June 14th, 2007
*
* The program contains an array that holds 10 ZIP codes to which a company delivers.
* Prompt the user of the program to input a ZIP code and then display a message on screen
* that indicates whether the ZIP code is one to which the company delivers or not.
* Finally display all ZIP codes in the array in descending order.
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Text;
using System.IO;
namespace JeremyGlassford_Lab7
{
class Program
{
static void Main()
{
// The next three liens dispaly the name of the program.
// And provide a space for charismatic purposes.
System.Console.WriteLine("Jeremy Glassford");
System.Console.WriteLine("Lab 7");
System.Console.WriteLine();
// Create a file object named "ZIPCodeFile".
StreamReader ZIPCodeFile = new StreamReader("ZIPCode.txt");
// This gets the size to declare the array from the first line of the file.
int iArraySize = System.Convert.ToInt32(ZIPCodeFile.ReadLine());
// This declares the array the program will use;
// "ZIPCode" array to the size given by the first line of the file.
string[] ZIPCode = new string[iArraySize];
// This reads each line of the file into the array elements.
// From the beginning the array to the end of the array.
// Zero being the first element, and if the array has 10 elements 9 is it's last element.
// 9 - 1 = 10.
// So from zero to one less then the size given for the array.
for (int i = 0; i < iArraySize; i++)
// Place the line into the array.
// FileObject.ReadLine() moves to the next line after each read.
// So it reads and then moves to the next line 'automatically' for the programmer(s).
ZIPCode[i] = ZIPCodeFile.ReadLine();
// Prompt the user to input a zip code.
System.Console.Write("Please Input ZIP Code : ");
// Get the user's input and place it into a string.
string sUserInput = System.Console.ReadLine();
// Declare a tempary integer variable named 'a' and set it to 0.
int a = 0;
// Declare a boolean variable bMatch and set it to false.
bool bMatchFound = false;
// while 'a' is less then the length of the array named ZIPCode,
// AND bMatch is false (hasn't found a match);
while(a < ZIPCode.Length && bMatchFound == false)
{
// If the element numbered 'a' is the same as the user's input;
if (ZIPCode[a] == sUserInput)
// Set bMatch to true. This way we know a match was found.
bMatchFound = true;
//Increment 'a' by one.
a++;
}
// If a match is found, tell the user the company delivers there.
if (bMatchFound)
System.Console.WriteLine("Yes, we deliver here!");
// If no match is found inform the user that the company does not deliver there.
else
System.Console.WriteLine("I'm sorry, we do not deliver to this area.");
// Pause so the user can read the program's output.
System.Console.ReadLine();
// This wasn't necessary for the assignment,
// but I feel this is should be here.
System.Console.WriteLine("These are the ZIP codes we deliver to: ");
System.Console.WriteLine();
// I could have made this program modular.
// This sorts ZIPCode.
ZIPCode.Sort();
// This reverses ZIPCode (so it will be displayed in descending order.)
ZIPCode.Reverse();
// From the start of the array (zero) to the end (Length);
for (int p = 0; p < ZIPCode.Length; p++)
// Write out each of the numbers (ZIP Codes) in IZIPCode.
System.Console.WriteLine(ZIPCode[p]);
// Pause so the user(s) can see the end result.
System.Console.ReadLine();
}
}
}