使用C#编写一个windows窗体抽奖小程序,要求从候选名单中txt文档,随机选择中奖人员及显示抽奖结果,名单与获奖等级结果输出到文件,一等奖一人,二等奖两人,三等奖四人,优秀奖十人
时间: 2024-06-14 11:06:05 浏览: 17
以下是使用C#编写的一个简单的Windows窗体抽奖小程序的示例:
```csharp
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace LotteryProgram
{
public partial class MainForm : Form
{
private List<string> candidates;
private List<string> winners;
public MainForm()
{
InitializeComponent();
}
private void MainForm_Load(object sender, EventArgs e)
{
// 从候选名单的txt文档中读取候选人名单
string filePath = "候选名单.txt";
candidates = File.ReadAllLines(filePath).ToList();
}
private void btnStart_Click(object sender, EventArgs e)
{
// 随机选择中奖人员
Random random = new Random();
winners = new List<string>();
// 一等奖一人
string firstPrizeWinner = candidates[random.Next(candidates.Count)];
winners.Add(firstPrizeWinner);
candidates.Remove(firstPrizeWinner);
// 二等奖两人
for (int i = 0; i < 2; i++)
{
string secondPrizeWinner = candidates[random.Next(candidates.Count)];
winners.Add(secondPrizeWinner);
candidates.Remove(secondPrizeWinner);
}
// 三等奖四人
for (int i = 0; i < 4; i++)
{
string thirdPrizeWinner = candidates[random.Next(candidates.Count)];
winners.Add(thirdPrizeWinner);
candidates.Remove(thirdPrizeWinner);
}
// 优秀奖十人
for (int i = 0; i < 10; i++)
{
string excellentPrizeWinner = candidates[random.Next(candidates.Count)];
winners.Add(excellentPrizeWinner);
candidates.Remove(excellentPrizeWinner);
}
// 显示抽奖结果
string result = "一等奖:\n" + winners[0] + "\n\n二等奖:\n" + winners[1] + "\n" + winners[2] + "\n\n三等奖:\n";
for (int i = 3; i < 7; i++)
{
result += winners[i] + "\n";
}
result += "\n优秀奖:\n";
for (int i = 7; i < winners.Count; i++)
{
result += winners[i] + "\n";
}
txtResult.Text = result;
// 将名单与获奖等级结果输出到文件
string outputFilePath = "抽奖结果.txt";
File.WriteAllLines(outputFilePath, winners);
}
}
}
```
请注意,上述示例假设候选名单的txt文档中每行包含一个候选人的姓名。