界面:
代码部分:
C# Code:
Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
程序主体:
Code
namespace Factorial
{
/**//// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void calculatorClick(object sender, RoutedEventArgs e)
{
try
{
string line = numInput.Text;
uint number = uint.Parse(line);
uint firstResult = Facorial.firstFactorial(number);
firstFact.Text = firstResult.ToString();
}
catch (OverflowException oEx)
{
firstFact.Text = oEx.Message;
}
catch (FormatException fEx)
{
firstFact.Text = fEx.Message;
secondFact.Text = fEx.Message;
}
try
{
string line = numInput.Text;
uint number = uint.Parse(line);
uint secondResult = Facorial.secondFactorial(number);
secondFact.Text = secondResult.ToString();
}
catch (OverflowException oEx)
{
secondFact.Text = oEx.Message;
}
catch (FormatException fEx)
{
firstFact.Text = fEx.Message;
secondFact.Text = fEx.Message;
}
}
private void quitClick(object sender, RoutedEventArgs e)
{
this.Close();
}
}
class Facorial
{
public static uint firstFactorial(uint n)
{
checked
{
uint sum = 1;
for (uint i = 1; i <= n; i++)
{
sum *= i;
}
return sum;
}
}
public static uint secondFactorial(uint n)
{
checked
{
uint sum = 1;
for (uint i = 1; i <= n; i++)
{
if (i % 2 == n % 2)
{
sum *= i;
}
else
{
sum *= 1;
}
}
return sum;
}
}
}
}
namespace Factorial
{
/**//// <summary>
/// Window1.xaml 的交互逻辑
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
private void calculatorClick(object sender, RoutedEventArgs e)
{
try
{
string line = numInput.Text;
uint number = uint.Parse(line);
uint firstResult = Facorial.firstFactorial(number);
firstFact.Text = firstResult.ToString();
}
catch (OverflowException oEx)
{
firstFact.Text = oEx.Message;
}
catch (FormatException fEx)
{
firstFact.Text = fEx.Message;
secondFact.Text = fEx.Message;
}
try
{
string line = numInput.Text;
uint number = uint.Parse(line);
uint secondResult = Facorial.secondFactorial(number);
secondFact.Text = secondResult.ToString();
}
catch (OverflowException oEx)
{
secondFact.Text = oEx.Message;
}
catch (FormatException fEx)
{
firstFact.Text = fEx.Message;
secondFact.Text = fEx.Message;
}
}
private void quitClick(object sender, RoutedEventArgs e)
{
this.Close();
}
}
class Facorial
{
public static uint firstFactorial(uint n)
{
checked
{
uint sum = 1;
for (uint i = 1; i <= n; i++)
{
sum *= i;
}
return sum;
}
}
public static uint secondFactorial(uint n)
{
checked
{
uint sum = 1;
for (uint i = 1; i <= n; i++)
{
if (i % 2 == n % 2)
{
sum *= i;
}
else
{
sum *= 1;
}
}
return sum;
}
}
}
}