建立一个简单的花店管理系统不使用窗口
using System;
using System.IO;
using System.Linq;
using System.Reflection;
using tryagain;
using static System.Net.Mime.MediaTypeNames;
namespace AccountManagementSystem
{
class Program
{
static void Main(string[] args)
{
kaishi();
}
static void kaishi()
{
bool isRunning = true;
while (isRunning)
{
Console.WriteLine("花店管理系统");
Console.WriteLine("请输入相应的数字进行操作:");
Console.WriteLine("1. 注册新账号");
Console.WriteLine("2. 登录账号");
Console.WriteLine("3. 注销账号");
Console.WriteLine("4. 退出系统");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
RegisterAccount();
break;
case "2":
Login();
break;
case "3":
zuxiaoaccount();
break;
case "4":
isRunning = false;
break;
default:
Console.WriteLine("无效的选择,请重新输入!");
break;
}
}
}
static void RegisterAccount()
{
FileStream f = new FileStream("accounts.txt", FileMode.OpenOrCreate);
f.Close();
using (StreamWriter s = File.AppendText("accounts.txt"))
{
Console.WriteLine("请输入账号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
s.WriteLine(account + password);
Console.WriteLine("账号注册成功!");
s.Close();
}
kaishi();
}
static void zuxiaoaccount()
{
string a = "x";
Console.WriteLine("输入想要注销的账号");
string account = Console.ReadLine();
Console.WriteLine("请输入该账号密码:");
string password = Console.ReadLine();
string key = account + password;
int i = 0;
while (a != "")
{
FileStream f = new FileStream("accounts.txt", FileMode.OpenOrCreate);
StreamReader sw = new StreamReader(f);
a = sw.ReadLine();
f.Close();
i++;
if(key == a)
{
i--;
try
{
var lines = File.ReadAllLines("accounts.txt").ToList();
lines.RemoveAt(i);
File.WriteAllLines("accounts.txt", lines);
Console.WriteLine("注销成功");
kaishi();
}
catch
{
Console.WriteLine("没有该账号");
kaishi();
}
sw.Close();
f.Close();
break;
}
}
}
static void Login()
{
FileStream a = new FileStream("accounts.txt", FileMode.OpenOrCreate);
Console.WriteLine("请输入账号:");
string account = Console.ReadLine();
Console.WriteLine("请输入密码:");
string password = Console.ReadLine();
bool cunzai = false;
StreamReader sr = new StreamReader(a);
string inflie = sr.ReadToEnd();
sr.Close();
try
{
inflie.Trim().Contains(account + password);
}
catch(NullReferenceException)
{
Console.WriteLine("无该账号");
}
if (inflie.Trim().Contains(account + password))
{
cunzai = true;
}
if (cunzai)
{
Console.WriteLine("登陆成功");
main();
}
else
{
Console.WriteLine("账号或密码错误");
}
}
static void main()
{
Console.WriteLine("1.查询鲜花数据2.储存鲜花数据3.删除鲜花数据4.退出系统");
string num = Console.ReadLine();
bool running = true;
indexaaa huahua = new indexaaa();
while (running)
{
switch (num)
{
case "1":
{
chaxun();
}break;
case "2":
{
chucun();
}break;
case "3":
{
sanchu();
}break;
case "4":
{
tuichu();
}break;
default :
{
Console.WriteLine("无效的选择请重新输入。");
num = Console.ReadLine();
}
break;
}
}
}
static void tuichu()
{
System.Environment.Exit(0);
}
static void chucun()
{
indexaaa hua1 = new indexaaa();
string a = "hua.txt";
FileStream hua = new FileStream(a, FileMode.OpenOrCreate);
hua.Close();
StreamWriter sw = File.AppendText("hua.txt");
Console.WriteLine("请按顺序输入鲜花编号:");
int hao = Convert.ToInt32(Console.ReadLine());
Console.WriteLine("请输入鲜花名称:");
string huaname = Console.ReadLine();
Console.WriteLine("请输入鲜花价格:");
string huaprice = Console.ReadLine();
sw.WriteLine(hao + " " + huaname + " " + huaprice);
hua1[hao] = hao + " " + huaname + " " + huaprice;
Console.WriteLine("储存成功");
sw.Close();
main();
}
static void chaxun()
{
string a = "hua.txt";
FileStream huahua = new FileStream(a, FileMode.OpenOrCreate);
indexaaa hua2 = new indexaaa();
StreamReader sr = new StreamReader(huahua);
bool kk = true;
int i = 0;
while (kk)
{
hua2[i] = sr.ReadLine();
//Console.WriteLine(hua2[i]);
if (hua2[i] == null)
{
kk = false;
}
i++;
}
sr.Close();
huahua.Close();
Console.WriteLine("输入要查询的花的编号:");
int num = Convert.ToInt32(Console.ReadLine());
try
{
Console.WriteLine("编号 名称 价格");
Console.WriteLine(hua2[num]);
}
catch { Console.WriteLine("没有该鲜花数据"); }
main();
}
static void sanchu()
{
string a = "hua.txt";
FileStream huahuahua = new FileStream(a, FileMode.OpenOrCreate);
Console.WriteLine("输入想要删除鲜花的编号:");
int num = Convert.ToInt32(Console.ReadLine());
huahuahua.Close();
var lines = File.ReadAllLines(a).ToList();
try
{ lines.RemoveAt(num); }
catch
{
Console.WriteLine("没有该编号花朵");
sanchu();
}
File.WriteAllLines(a, lines);
Console.WriteLine("删除成功");
main();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace tryagain
{
internal class indexaaa
{
string[] huas = new string[100];
public string this[int index]
{
get
{
return huas[index];
}
set
{
huas[index] = value;
}
}
}
}
以上值得注意的是当一个鲜花的数据被删除,其后鲜花的编码会向前挪动一位。