Practical Learning: Creating the Application |
|
- Start Microsoft Visual C# and create a Windows Application named Algebra1
- On the main menu, click Project -> Add Class...
- In the Templates list, make sure Class is selected.
Change the Name to Algebra and click Add
- Change the file as follows:
using System;
namespace Algebra2
{
public class Algebra
{
public static long Factorial(long x)
{
if (x <= 1)
return 1;
else
return x * Factorial(x - 1);
}
public static long Permutation(long n, long r)
{
if (r == 0)
return 0;
if (n == 0)
return 0;
if ((r >= 0) && (r <= n))
return Factorial(n) / Factorial(n - r);
else
return 0;
}
public static long Combinatorial(long a, long b)
{
if (a <= 1)
return 1;
return Factorial(a) / (Factorial(b) * Factorial(a - b));
}
}
}
- In the Solution Explorer, right-click Form1.cs and click Rename
- Type Exercise.cs and press Enter twice (to save and to open the
form)
- Click the body of the form to make sure it is selected.
In the Properties window, change the following characteristics
FormBorderStyle: FixedDialog
Text: Factorial, Permutation, and Combination
Size: 304, 208
StartPosition: CenterScreen
MaximizeBox: False
MinimizeBox: False
- In the Containers section of the Toolbox, click TabControl and click the
form
- On the form, right-click the right side of tabPage2 and click Add Page
- Design
the form as follows:
|
Control |
Text |
Name |
Additional Properties |
TabControl |
|
tclAlgebra |
HotTrack: True
Location: 12, 12
Size: 304, 235 |
TabPage |
Factorial |
tabFactorial |
|
Label |
Number: |
|
Location: 22, 21 |
TextBox |
|
txtNumber |
TextAlign: Right
Location: 88, 18
Size: 50, 20 |
Label |
Result: |
|
Location: 22, 56 |
TextBox |
|
txtFactorial |
TextAlign: Right
Location: 88, 54
Size: 140, 20 |
|
|
Control |
Text |
Name |
Location |
Size |
TabPage |
Permutation |
tabPermutation |
|
|
Label |
n: |
|
22, 21 |
|
TextBox |
|
txtPermutationN |
88, 18 |
50, 20 |
Label |
r: |
|
22, 56 |
|
TextBox |
|
txtPermutationR |
88, 54 |
50, 20 |
Label |
P(n, r): |
|
22, 92 |
|
TextBox |
|
txtPermutation |
88, 90 |
140, 20 |
|
|
Control |
Text |
Name |
Location |
Size |
TabPage |
Combination |
tabCombination |
|
|
Label |
n: |
|
22, 21 |
|
TextBox |
|
txtCombinationN |
88, 18 |
50, 20 |
Label |
r: |
|
22, 56 |
|
TextBox |
|
txtCombinationR |
88, 54 |
50, 20 |
Label |
C(n, r): |
|
22, 92 |
|
TextBox |
|
txtCombination |
88, 90 |
140, 20 |
|
- In the combo box on top of the Properties window, select tabFactorial
- From the Common Controls section of the Toolbox, click Button and click on
the right side of the top text box
- Access each tab page and add a button to it
- Add a button to the form and under the tab control
- Complete the design of the form as follows:
|
Control |
Text |
Name |
Button |
Calculate |
btnCalcFactorial |
Button |
Close |
btnClose |
|
|
Control |
Text |
Name |
Button |
Calculate |
btnCalcPermutation |
|
|
Control |
Text |
Name |
Button |
Calculate |
btnCalcCombination |
|
- Access the Factorial tab page and double-click its Calculate button
- Implement the event as follows:
private void btnCalcFactorial_Click(object sender, EventArgs e)
{
long number = 0;
long result;
try
{
number = long.Parse(txtFactNumber.Text);
result = Algebra.Factorial(number);
txtFactorial.Text = result.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid Number");
}
}
- Return to the form
- Access the Permutation tab page and double-click its Calculate button
- Implement the event as follows:
private void btnCalcPermutation_Click(object sender, EventArgs e)
{
long n = 0, r = 0;
long result;
try
{
n = long.Parse(txtPermutationN.Text);
}
catch (FormatException)
{
MessageBox.Show("Invalid Number");
}
try
{
r = long.Parse(txtPermutationR.Text);
result = Algebra.Permutation(n, r);
txtPermutation.Text = result.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid Number");
}
}
- Return to the form
- Access the Combination tab page and double-click its Calculate button
- Implement the event as follows:
private void btnCalcCombination_Click(object sender, EventArgs e)
{
long n = 0, r = 0;
long result;
try
{
n = long.Parse(txtCombinationN.Text);
}
catch (FormatException)
{
MessageBox.Show("Invalid Number");
}
try
{
r = long.Parse(txtCombinationR.Text);
result = Algebra.Combinatorial(n, r);
txtCombination.Text = result.ToString();
}
catch (FormatException)
{
MessageBox.Show("Invalid Number");
}
}
- Return to the form and double-click the Close button
- Implement the event as follows:
private void btnClose_Click(object sender, EventArgs e)
{
Close();
}
- Execute the application to test the calculations
- Close the form and return to your programming environment
|
|