final project for c#

32
using Ben3A_B; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; //Ben Fulker this is project 3A and 3B //Originally it was just about data structures, but now it’s the main interface //of my final project. There are 7 tabs the first is the the exception button. //This button has picture found on www.google.com and it was resized and raised. All of //my still photos were edited with www.picresize.com. I took this project and //added references from my other projects and they were consumed into this //project. I have many forms and many buttons with animations throughout the //project and took a boring GUI interface and made it into an exciting GUI. //All animations were done with http://ezgif.com/resize. Look to the GUI for //examples. This project covers everything but the webpage and window service as //required for the project. //It is all about data structures and exceptions // and stepping into and out of breakpoints namespace Ben3A_B //namespace is used in referencing a form EX.= Ben3A_B.Form1 { public partial class Form1 : Form { public Form1() //form1 inherits from the base class form { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { textBox1.Text = "Button was clicked!"; //Change(); // this line would cause unhandled exception try { changeText(); } catch (Exception) { textBox1.Text = "Find This Code In button1_Click Event!!"; //this would catch divide by 0 in changeText as long //as call is in a try since catch in changeText doesn't //catch the DivideByZeroException } //insert break point by right clicking mouse on line you want } public void changeText() { textBox1.Text = "In changeText1!"; textBox1.Text = "Break Points Annoy me"; int a, b, c; a = 5; b = 0; try { c = a / b; //program flows to nearest catch up the call stack } catch (IndexOutOfRangeException) {

Upload: benjamin-fulker

Post on 26-Jan-2017

184 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: final project for C#

using Ben3A_B; using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; //Ben Fulker this is project 3A and 3B //Originally it was just about data structures, but now it’s the main interface //of my final project. There are 7 tabs the first is the the exception button. //This button has picture found on www.google.com and it was resized and raised. All of //my still photos were edited with www.picresize.com. I took this project and //added references from my other projects and they were consumed into this //project. I have many forms and many buttons with animations throughout the //project and took a boring GUI interface and made it into an exciting GUI. //All animations were done with http://ezgif.com/resize. Look to the GUI for //examples. This project covers everything but the webpage and window service as //required for the project. //It is all about data structures and exceptions // and stepping into and out of breakpoints namespace Ben3A_B //namespace is used in referencing a form EX.= Ben3A_B.Form1 { public partial class Form1 : Form { public Form1() //form1 inherits from the base class form { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { textBox1.Text = "Button was clicked!"; //Change(); // this line would cause unhandled exception try { changeText(); } catch (Exception) { textBox1.Text = "Find This Code In button1_Click Event!!"; //this would catch divide by 0 in changeText as long //as call is in a try since catch in changeText doesn't //catch the DivideByZeroException } //insert break point by right clicking mouse on line you want } public void changeText() { textBox1.Text = "In changeText1!"; textBox1.Text = "Break Points Annoy me"; int a, b, c; a = 5; b = 0; try { c = a / b; //program flows to nearest catch up the call stack } catch (IndexOutOfRangeException) {

Page 2: final project for C#

textBox1.Text = "Catch in changeText!"; } } private void dataStructure_Click(Object sender, EventArgs e) { int[] EmployeeId = new int[5] { 9933, 1909, 9823, 7890, 3394 }; string[] EmployeeName = new string[5] {" - Matt Smith - - ", " - Joanne Thomas- ", " - Robert Blake- - ", " - Ben Fulker- - - ", " - Tom Dickens- - "}; string[] Identification = new string[5] { " - ID # ", "ID # ", " ID # ", " - ID # ", "ID # " }; string[] Title = new string[5] { " Name: ", " Name: ", " Name: ", " Name: ", " Name: " }; PrintValues(EmployeeId, EmployeeName, Identification, Title); } private void PrintValues(IEnumerable employId, IEnumerable names, IEnumerable id, IEnumerable title) { //listBox1.Items.Clear(); // we cast it as an array in or der to for it to the data from the // array at the begining int[] EmployeeId = employId.Cast<int>().ToArray(); string[] EmployeeName = names.Cast<string>().ToArray(); string[] Identification = id.Cast<string>().ToArray(); string[] Title = title.Cast<string>().ToArray(); for (int i = 0; i < 5; i++) listBox1.Items.Add(Title[i] + " - " + EmployeeName[i] + " " + Identification[i] + " " + EmployeeId[i]); } private void Queue_Click(object sender, EventArgs e) { // Creates and initializes a new Queue. Queue myQ = new Queue(); myQ.Enqueue(" I am (dequeued)"); myQ.Enqueue("This is also (dequeued)"); myQ.Enqueue(" Ben is "); myQ.Enqueue(" a fox "); // all the message boxes below show the process of is being done // at that time Displays the Queue. MessageBox.Show("Queue values:" + myQ); // Removes an element from the Queue. MessageBox.Show("(Dequeue)\t{0}" + myQ.Dequeue()); // Displays the Queue. MessageBox.Show("Queue values:" + myQ); // Removes another element from the Queue. MessageBox.Show("(Dequeue)\t{0}" + myQ.Dequeue()); // Displays the Queue. MessageBox.Show("Queue values:" + myQ); // Views the first element in the Queue but does not remove it. MessageBox.Show("(Peek) \t{0}" + myQ.Peek()); // Displays the Queue. MessageBox.Show("Queue values:" + myQ); PrintValues(myQ); } // this print values populates listbox 2 after it the process // is shown with message boxes of how or what each commmand // above indicates public void PrintValues(IEnumerable myCollection) { foreach (Object obj in myCollection) listBox2.Items.Add(obj.ToString()); } //This print values below is an extra one I created to //populate list box 3, but I have it done another way // in the myStack button event so I could show differnt

Page 3: final project for C#

// ways of populating the list and I don't want to comment // this out incase I ever change it public void PrintValuesStack(IEnumerable myCollection) { foreach (Object obj in myCollection) listBox3.Items.Add(obj.ToString()); } // this populates my listButton event code to DS ListBox //Tab into listButtonBox4. public void PrintValuesList(IEnumerable myCollection) { foreach (Object obj in myCollection) listButtonBox4.Items.Add(obj.ToString()); } public void PrintValuesLink(IEnumerable myCollection) { foreach (Object obj in myCollection) listButtonBox5.Items.Add(obj.ToString()); } private void stackButton_Click(object sender, EventArgs e) { // new instance of a stack and de Stack myStack = new Stack(); bool aBoolean = true; char aCharacter = '#'; int anInteger = 1; string aString = " Ben "; string bString = " is "; //create objects to store in the stack //use method Push to add items to stack myStack.Push(aBoolean); myStack.Peek(); myStack.Push(anInteger); myStack.Peek(); myStack.Push(aCharacter); myStack.Peek(); myStack.Push(bString); myStack.Push(aString); myStack.Peek(); bool myBoolean = true; //remove items from stack try { int count = 0; while (myBoolean) { if (myStack.Count >= count) { object removedObject = myStack.Pop(); //populates listBox3 with removed objects and say it // was popped listBox3.Items.Add(removedObject + " popped"); //PrintValuesStack(myStack); // this PrintValues is another way of poputlating // I created a whole new PrintValueStack in order // populate list 3 so if I un comment // PrintValuesStack(myStack) above it will // populate the list 2 times count++; } else myBoolean = false; } // end while } // end try catch (EmptyListException emptyListException) { //if exception occurs, write stack trace

Page 4: final project for C#

MessageBox.Show(emptyListException.StackTrace); } PrintValuesStack(myStack); } private void listButton_Click(object sender, EventArgs e) { // Create a list of strings. //Creates an instance of a string list Variable var ben = new List<string>(); ben.Add(" Professor Vanselow "); ben.Add(" Is A"); ben.Add(" Great "); ben.Add(" Professor "); // Iterate through the list. foreach (var benjamin in ben) { MessageBox.Show(benjamin + " "); //this message boxs runs through the process // So someone learning like me it shows us what is // happening as it goes through the list } PrintValuesList(ben); // this just outputs or populates the associated listButtonBox4 // it show you the final result of the code // Output: chinook coho pink sockey } private void linkedListButton_Click(object sender, EventArgs e) //this is an event handler { LinkedList<int> alist = new LinkedList<int>(); //this is creation of an instance of a list in a linkedlist //These are all the commands or for what we want the //list to do alist.AddFirst(10); // Contents: ->10 alist.AddLast(15); // Contents: ->10->15 alist.AddLast(3); // Contents: ->10->15->3 alist.AddLast(99); // Contents: ->10->15->3->99 alist.AddBefore(alist.Last, 25); // Contents: ->10->15->3->25->99 //this line foreach (int linklist in alist) { MessageBox.Show(linklist + " "); //This message box show the user what step the code is //iterating through its not needed, but useful for a // beginier } PrintValuesLink(alist); //listButtonBox5.Items.Add(alist); } private void project1InitButton_Click(object sender, EventArgs e) { //Form1 proj1 = new Form1(); //proj1.RefToForm1 = this; //this.Visible = false; Form frm1 = new Ben_1B.Form1(); frm1.Show(); //this brings up project 1B's form and allows the user to acess its GUI } private void proj1BInitButton_Click(object sender, EventArgs e) { Form frm1 = new Ben_1A.Form2(); frm1.Show(); //this brings up project 1A's form and allows the user to acess its GUI

Page 5: final project for C#

} private void button2_Click(object sender, EventArgs e) { Hide(); // this is a button click to close the program } private void dataBaseButton3_Click(object sender, EventArgs e) { Form frm1 = new WindowsFormsApplication1.Main(); frm1.Show(); } private void OOPbutton3_Click(object sender, EventArgs e) { Form frm1 = new Ben_Project_2A.form1(); frm1.Show(); } private void button3_Click(object sender, EventArgs e) { Form frm1 = new Ben3A_B.Form2(); frm1.Show(); } } }

Page 6: final project for C#
Page 7: final project for C#
Page 8: final project for C#
Page 9: final project for C#

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Ben_1A { //Benjamin Fulker //Project 1A // this project was for the GUI interface with many different lines // of code that had labels, or text boxes that are filled with data // when you click the established button public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void showInteger_Click(object sender, EventArgs e) //the line above is an event handler it generates automatically //generated by double clicking the button //private is an access modifier can only call this file within //this file //edit - advanced - format document will fix indentation { int a = 5; //OK click the show int a is assigned a value //this next line is an example of a basic algorithm declared inside //of an int variable type and it's answer becomes the actual

Page 10: final project for C#

//assigned value of the declared variable and it's put in place //of all instances of the int = b. int b = a + 2; //Then for int b it take int = a and adds 2 ** // Error. Operator '+' cannot be applied to operands of type 'int' //and 'bool'. //int c = a + test; demoOutput.Text = b.ToString(); // this calls the int b only // the the named demoOutput because '+' can be called as a string //even though it was instantained as an int type //also in this text box I have an initial set text value of //My 1A Demo Program and when I call int = b as b = "" it changes //the initial set text value to the called value from declared variable //assigned as a string with the value of "7" not 7 because it is now an //assigned string value "" and not an int value } private void DataDefinition_Click(object sender, EventArgs e) { string Data = "A data type determines what value a variable can" + "contain/hold and what operations can be performed by an" + "instance of that variable"; DatatextBox.Text = Data.ToString(); //this is the command that //calls the string variable called Data to the text box named //DatatextBox DataDefinitioin button when clicked activates and //initiates the method so the string variable Data = "" and makes //it visible in the in the DatatextBox } private void garbageCollectionDefinition_Click(object sender, EventArgs e) { string Garbage = "A process for automatic recovery of a" + "heap in memory"; GarbagetextBox.Text = Garbage.ToString(); //garbageCollectionDefintion button it activates the variable //Garbage = "" and makes it's contents visible in the in Text box //titled GarbagetextBox } private void stackDefinition_Click(object sender, EventArgs e) { string Stack = "A region of reserved memory in which programs store" + "status data such as a procedures and function calls and " + " the functions's location or index address, " + "passed parameters, and sometimes local variables."; StacktextBox.Text = Stack.ToString(); // stackDefinition button activates the string variable Stack = "" //and it calls the string to the text box titled StacktextBox } private void heapDefinition_Click(object sender, EventArgs e) { string Heap = "is a portion of memeory for running programs to" + "allocate temporary memory for the purpose of storing data" + "in the form of structures whose existence" + "or size cannot be determined until the program is running"; HeaptextBox.Text = Heap.ToString(); // heapDefinition button calls the string variable Heap = "" to // the Heaptextbox in the GUI } private void algorithmDefintion_Click(object sender, EventArgs e) { string Algorithm = "A finite sequence of steps for solving logical" + "or mathematical problem or performing a task."; AlgorithmtextBox.Text = Algorithm.ToString(); // algorithmDefinition button initiates the string variable //Algorithm = "" and calls the algoritim defintion to the text box //titled AlgorithmtextBox }

Page 11: final project for C#

private void ParseInteger_Click(object sender, EventArgs e) { int Double = 7; { Double value = (Double * Double); DoublertextBox.Text = value.ToString(); // most of the lines of code below were pulled from w3shools //and copied So I chould have a local reference of how this is //done for later with out having open the site later to have an //example System.Console.WriteLine(array1[x].ToString()); //x++; /* NOT bool result = true; if (!result) { Console.WriteLine("The condition is true (result is false)."); } else { Console.WriteLine("The condition is false (result is true)."); } // Short-circuit AND int m = 9; int n = 7; int p = 5; if (m >= n && m >= p) { Console.WriteLine("Nothing is larger than m."); } // AND and NOT if (m >= n && !(p > m)) { Console.WriteLine("Nothing is larger than m."); } // Short-circuit OR if (m > n || m > p) { Console.WriteLine("m isn't the smallest."); } // NOT and OR m = 4; if (!(m >= n || m >= p)) { Console.WriteLine("Now m is the smallest."); } // Output: // The condition is false (result is true). // Nothing is larger than m. // Nothing is larger than m. // m isn't the smallest. // Now m is the smallest. */ } // private void ParseInteger_DoubleClick(object sender, EventArgs e); // int caseSwitch = 1; // switch (caseSwitch) // { // case 1: // Console.WriteLine("Case 1"); // break; // case 2:

Page 12: final project for C#

// Console.WriteLine("Case 2"); // break; // default: // Console.WriteLine("Default case"); // break; /* } private void iterateDefinition_Click(object sender, EventArgs e) { string Iterate = "To execute one statements or a block of statements" + "repeatedely. its what make a loop go around one loop is one iteration"; IterationtextBox.Text = Iterate.ToString(); // example // for(int i = 0; i < 10; i++) // Console.WriteLine("it iterates or repeats this line 10 times") // there } private void recursionDefinition_Click(object sender, EventArgs e) { string Recursion = "Is the ability of a routine to call itself."; RecursiontextBox.Text = Recursion.ToString(); // the purpose of a recursion is for it to call itself and factor // out a portion until it get as close to the base case as possible // base case is base of something like in math (2n, 2n-1) etc. // on Proj portion 2 } private void exceptionsDefinition_Click(object sender, EventArgs e) { string Exception = "a problem or change in conditions that causes" + "the microprocessor to stop what it is doing and handle the" + "situation in a separate routine."; exceptionTextBox.Text = Exception.ToString(); //This is an Exception which programming language for an Error // if done right you try a decision statement or loop or if or for // statement then you use a catch which hopefully catches your //exception and show a error message and you have a choice how //that messages is shown to the user. In C# it has 21 library // functions for exceptions plus you can really type what ever //message for the error you are catching that you want. } private void button1_Click(object sender, EventArgs e) { Hide(); //This button hides this form and takes us back to my //main project titled Form and project Ben3A-3B } } }

Page 13: final project for C#
Page 14: final project for C#

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Ben_1B { // Ben Fulker //This is part of my final project its reference was imported to my //final project // Project 1B // This Project was to create GUI interface with a loop, recursion and // division. Every Instance has more than one method or option // of coding I left one active so the GUI will run and the commented out // I have one in each active and the other commented out, They are all //worked without bugs and were tested. There is a for loop that was converted //from a while loop. An dandy recursion example with a mean Algorithm it calls //itself and over and over until the final answer is 79 // in this project I also made some examples of try, catch, throw in terms of // exception handling public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void ShowLoop_Click_1(object sender, EventArgs e) { //for (int x = 0; x < 3; x++) // listOutput.Items.Add(x); for (int num = 1; num < 20; num++) listOutput.Items.Add(num); // I chose l because loops

Page 15: final project for C#

//this for loop was changed from a while loop. //The condition (num < 20), the iteration is num++, the int and // counteris (num =1) //int n = 5; //while (++n < 6); //listOutput.Items.Add(n); //Console.WriteLine("Current value of n is {0}", n); } private void Recursionbutton_Click(object sender, EventArgs e) { int result2 = negative(-3); RecursiontextBox.Text = "The Final Answer is " + result2; //int result = identity(10); //RecursiontextBox.Text = "The Final Answer is " + result; } public int negative(int num) // negative = identity { if(num >= 20) return -5; else return negative(num + 4) + 2 * num; // here is where // the identity = negative calls itself and then calculates the // the rest algorithm // I have 2 recursion options in here I chose the more difficult // of the 2 for my working example //public int identity(int num) //if(num < 1) //return 10; //else //return num + identity(num - 2); } private void Divide_Click(object sender, EventArgs e) { int num1 = 0; try { num1 = Int32.Parse(txtNum1.Text); //this lets you put a number // in the text box titled txtNum1 //this if statement and messagebox lets you know you know // if there is an error in num1 box } catch (Exception) // this catches errors like not entering //a number in the box { MessageBox.Show("Error"); //This brings up a Messagebox // says error for num1 text box //throw; } int num2; if (Int32.TryParse(txtNum2.Text, out num2) == false) //this lets // you put a number in the text box titled txtNum2 //this if statement and messagebox lets you know you know // if there is an error in num2 box { MessageBox.Show("Num 2 Error"); //This brings up a Messagebox // says error for num2 text box return; } double result = 0; // type try then tab tab to create code block for try and catch try { result = num1 / num2; //try do divide entered numbers }

Page 16: final project for C#

catch (Exception) //exception if you Num2 box is 0 // you can't divide by 0 it would be undefined. { MessageBox.Show("Cant divide by 0"); return; //I added this exception so it would catch divided by 0 error //throw; } try { result = Convert.ToDouble(num1) / num2; // this line allows // decimal answers other wise it would just say 0 if it was an //answer less than 1 now it gives a decimal answer. label1.Text = result.ToString(); } catch (Exception ex) { MessageBox.Show(ex.Message); // The second argument to Show appears // at the top of the messagebox. // Paramater variable ex is an exception object. // The Throw part of a try catch throw block allows you to //continue on manually with the errors } } private void button1_Click(object sender, EventArgs e) { Hide(); //this hides form 1B and brings you back to Ben3A-3B } // label text erased and I changed border style to fixed 3d; and //Auto-size dimension changed from true to false so label is visible } }

Page 17: final project for C#
Page 18: final project for C#
Page 19: final project for C#
Page 20: final project for C#
Page 21: final project for C#
Page 22: final project for C#
Page 23: final project for C#
Page 24: final project for C#
Page 25: final project for C#
Page 26: final project for C#
Page 27: final project for C#
Page 28: final project for C#
Page 29: final project for C#
Page 30: final project for C#
Page 31: final project for C#
Page 32: final project for C#