using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;
using System.Diagnostics;
namespace ConsoleApplication1
{
class Program
{
static string UserName = "gsw";
static string Password = "000000";
static double Money = 0;
static bool Mark = false;
static String[][] Arri = new string[5][];
static int[] Num ={10,10,10,10,0};
static void Main(string[] args)
{
Arri[0]=new string[]{ "1、", "果粒橙", "3.00" };
Arri[1]=new string[]{ "2、", "绿茶", "3.00" };
Arri[2]=new string[]{ "3、", "矿泉水", "1.00"};
Arri[3]=new string[]{ "4、", "营养快线", "4.00" };
Arri[4] = new string[] {"","","" };
SS(Arri, Num);
}
/// <summary>
/// 后台维护
/// </summary>
/// <param name="Arri">商品信息</param>
/// <param name="Num">商品价格</param>
static void WeiHu(string[][] Arri, int[] Num)
{
while (true)
{
Console.Clear();
Console.WriteLine("管理员,欢迎你!");
Console.WriteLine("请根据提示输入,并进行操作!");
Console.WriteLine("1、添加种类 2、删除种类 3、修改数量 4、修改价格 5、返回主目录");
switch (Console.ReadLine())
{
case "1":
if (Arri[4][0] == "")
{
Arri[4][0] = "7、";
Console.WriteLine("请输入你所添加的商品名称:");
string Name = Console.ReadLine();
if (Name != Arri[0][1] && Name != Arri[1][1] && Name != Arri[2][1] && Name != Arri[3][1])
{
Arri[4][1] = Name;
//Console.WriteLine();
}
else
{
Console.WriteLine("对不起!商品已出售!");
Thread.Sleep(1500);
break;
}
Console.WriteLine("请输入商品的价格如:\"3.00\":");
Arri[4][2] = Console.ReadLine();
Console.WriteLine("请输入出售的数量:");
Num[4] = int.Parse(Console.ReadLine());
}
else
{
Console.WriteLine("对不起!所出售的商品数量已达上限!");
Thread.Sleep(1500);
}
break;
case "2":
Console.WriteLine("请输入你要删除的商品的名称:");
string Del = Console.ReadLine();
for (int i = 0; i < 5; i++)
{
if (Arri[i][1] == Del)
{
Arri[i][1] = "";
break;
}
}
break;
case "3":
Console.WriteLine("请输入你要修改数量的商品名称:");
string Dell = Console.ReadLine();
for (int i = 0; i < 5; i++)
{
if (Arri[i][1] == Dell)
{
Console.WriteLine("请输入商品数量:");
Num[i] = int.Parse(Console.ReadLine());
break;
}
}
break;
case "4":
Console.WriteLine("请输入你要修改价格的商品名称:");
string Delll = Console.ReadLine();
for (int i = 0; i < 5; i++)
{
if (Arri[i][1] == Delll)
{
Console.WriteLine("请输入商品价格如:\"3.00\":");
Arri[i][2] = Console.ReadLine();
break;
}
}
break;
case "5":
return;
break;
default:
Console.WriteLine("输入错误!请重新输入!");
Thread.Sleep(1000);
break;
}
}
}
/// <summary>
/// 出售
/// </summary>
/// <param name="Arri">商品信息</param>
/// <param name="Num">商品价格</param>
static void SS(string[][] Arri,int[] Num)
{
while (true)
{
Console.Clear();
Console.WriteLine("******欢迎使用本自动售货机!******");
if (Arri[0][1] != "")
{
Console.WriteLine("{0}{1} 价格:{2:c}元 剩余数量{3}", Arri[0][0], Arri[0][1], Arri[0][2], Num[0]);
}
if (Arri[1][1] != "")
{
Console.WriteLine("{0}{1} 价格:{2:c}元 剩余数量{3}", Arri[1][0], Arri[1][1], Arri[1][2], Num[1]);
}
if (Arri[2][1] != "")
{
Console.WriteLine("{0}{1} 价格:{2:c}元 剩余数量{3}", Arri[2][0], Arri[2][1], Arri[2][2], Num[2]);
}
if (Arri[3][1] != "")
{
Console.WriteLine("{0}{1} 价格:{2:c}元 剩余数量{3}", Arri[3][0], Arri[3][1], Arri[3][2], Num[3]);
}
Console.WriteLine("5、维护");
Console.WriteLine("6、退出");
if (Arri[4][1] != "")
{
Console.WriteLine("***********新增加的商品************");
Console.WriteLine("{0}{1} 价格:{2:c}元 剩余数量{3}", Arri[4][0], Arri[4][1], Arri[4][2], Num[4]);
}
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("请输入你要买的商品号,若要维护请按\"5\"");
Console.ResetColor();
switch (Console.ReadLine())
{
case "1":
if (Arri[0][1] != "")
{
if (Num[0] > 0)
{
SellGLC();
if (Mark == true)
{
Num[0]--;
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("对不起,已售完!将返回主目录!");
Console.ResetColor();
Thread.Sleep(2000);
}
}
else
{
Console.WriteLine("对不起!没有该商品!");
Thread.Sleep(500);
}
break;
case "2":
if (Arri[1][1] != "")
{
if (Num[1] > 0)
{
SellGreenTea();
if (Mark == true)
{
Num[1]--;
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("对不起,已售完!将返回主访目录!");
Console.ResetColor();
Thread.Sleep(2000);
}
}
else
{
Console.WriteLine("对不起!没有该商品!");
Thread.Sleep(500);
}
break;
case "3":
if (Arri[2][1] != "")
{
if (Num[2] > 0)
{
SellWater();
if (Mark == true)
{
Num[2]--;
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("对不起,已售完!将返回主目录!");
Console.ResetColor();
Thread.Sleep(2000);
}
}
else
{
Console.WriteLine("对不起!没有该商品!");
Thread.Sleep(500);
}
break;
case "4":
if (Arri[3][1] != "")
{
if (Num[3] > 0)
{
SellYingYang();
if (Mark == true)
{
Num[3]--;
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("对不起,已售完!将返回主目录!");
Console.ResetColor();
Thread.Sleep(2000);
}
}
else
{
Console.WriteLine("对不起!没有该商品!");
Thread.Sleep(500);
}
break;
case "5":
GetPassword();
break;
case "6":
Voice("谢谢您的使用,欢迎下次再来!");
Thread.Sleep(4500);
return;
case "7":
if (Arri[4][1] != "")
{
if (Num[3] > 0)
{
SellW();
if (Mark == true)
{
Num[4]--;
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("对不起,已售完!将返回主目录!");
Console.ResetColor();
Thread.Sleep(2000);
}
}
else
{
Console.WriteLine("对不起!没有该商品!");
Thread.Sleep(500);
}
break;
default:
Console.WriteLine("对不起!输入错误,请重新输入:");
Thread.Sleep(1000);
break;
}
}
}
/// <summary>
/// 出售果粒橙
/// </summary>
static void SellGLC()
{
Console.WriteLine("您选择购买果粒橙!请投币");
Money = double.Parse(Console.ReadLine());
if (Money < 3)
{
Set();
Mark = false;
}
else
{
Console.Beep();
Console.WriteLine("交易成功!找零{0:c}元", Money - 3);
Mark = true;
SetVoice();
}
}
/// <summary>
/// 出售绿茶
/// </summary>
static void SellGreenTea()
{
Console.WriteLine("您选择购买绿茶!请投币");
double.TryParse(Console.ReadLine(),out Money);
if (Money < 3)
{
Set();
Mark = false;
}
else
{
Console.Beep();
Console.WriteLine("交易成功!找零{0:c}元", Money - 3);
Mark = true;
SetVoice();
}
}
/// <summary>
/// 出售矿泉水
/// </summary>
static void SellWater()
{
Console.WriteLine("您选择购买矿泉水!请投币");
Money = double.Parse(Console.ReadLine());
if (Money < 1)
{
Set();
Mark = false;
}
else
{
Console.Beep();
Console.WriteLine("交易成功!找零{0:c}元", Money - 1);
Mark = true;
SetVoice();
}
}
/// <summary>
/// 出售新添加的商品
/// </summary>
static void SellW()
{
Console.WriteLine("您选择购买{0}!请投币",Arri[4][1]);
Money = double.Parse(Console.ReadLine());
if (Money <double.Parse(Arri[4][2]))
{
Set();
Mark = false;
}
else
{
Console.Beep();
Console.WriteLine("交易成功!找零{0:c}元", Money - double.Parse(Arri[4][2]));
Mark = true;
SetVoice();
}
}
/// <summary>
/// 出售营养快线
/// </summary>
static void SellYingYang()
{
Console.WriteLine("您选择购买营养快线!请投币");
Money = double.Parse(Console.ReadLine());
if (Money < 4)
{
Set();
Mark = false;
}
else
{
Console.Beep();
Console.WriteLine("交易成功!找零{0:c}元", Money - 4);
Mark = true;
SetVoice();
}
}
/// <summary>
/// 设置使用语音
/// </summary>
static void Set()
{
Console.Beep();
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("投入金额太小,请取回您的钱,任意键返回主目录");
Console.ResetColor();
Voice("投入金额太小,请取回您的钱,任意键返回主目录");
Console.ReadKey(true);
}
/// <summary>
/// 交易成功后的语音
/// </summary>
static void SetVoice()
{
Voice("请拿好您的钱与物品!任意键返回主目录");
Console.ReadKey(true);
}
/// <summary>
/// 设置语音
/// </summary>
/// <param name="i">要说的话</param>
static void Voice(string i)
{
string content = "CreateObject(\"SAPI.SpVoice\").Speak\"" + i + "\"";
File.WriteAllText(Environment.CurrentDirectory + @"/a.vbs", content, Encoding.Default);
Process.Start(Environment.CurrentDirectory+@"/a.vbs");
}
/// <summary>
/// 密码验证
/// </summary>
static void GetPassword()
{
int mark = 3;
while (mark > 0)
{
string password = "";
Console.WriteLine("请输入用户名:");
string temun = Console.ReadLine();
Console.WriteLine("请输入密码:");
for (int i = 0; i < 6; i++)
{
ConsoleKeyInfo ski = Console.ReadKey(true);
Console.Write("*");
if (int.Parse(ski.KeyChar.ToString()) < 6)
{
password = password + ski.KeyChar.ToString();
}
}
Console.ReadKey(true);
Console.WriteLine();
if (UserName == temun && Password == password)
{
WeiHu(Arri,Num);
return;
}
else
{
mark--;
Console.WriteLine("用户名或密码错误,还余{0}次输入机会,请重新输入:", mark);
}
}
}
}
}
转载于:https://blog.51cto.com/benxiaozi/615109