zoukankan      html  css  js  c++  java
  • C#语言和SQL Server数据库技术_My Bank银行系统

    第一个类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace  My Bank

    {
    class Bank
    {
    Person[] user = new Person[30];
    public void CreatAccount()
    {
    bool result;
    for (int i = 0; i < user.Length; i++)
    {
    if (user[i] == null)
    {
    user[i] = new Person();
    Console.WriteLine("请输入用户名:");
    user[i].name = Console.ReadLine();
    user[i].number = user[i].name;
    do
    {
    Console.WriteLine("请输入密码");
    user[i].password = Console.ReadLine();
    Console.WriteLine("请再次输入密码:");
    string passwords = Console.ReadLine();
    result = IsSame(user[i].password, passwords);
    if (!result)
    {
    Console.WriteLine("两次密码不一致,重新输入:");
    }
    } while (!result);
    Console.WriteLine("请输入身份证号:");
    user[i].idNumber = Console.ReadLine();
    Console.WriteLine("请输入存款金额:");
    user[i].money = int.Parse(Console.ReadLine());
    Console.WriteLine("账户:{0},用户名:{1},存款金额:{2},创建成功!", user[i].number, user[i].name, user[i].money);
    break;
    }

    }

    }
    private bool IsSame(string password, string passwords)
    {
    if (password == passwords)
    {
    return true;
    }
    return false;
    }
    public void WithDraw()
    {
    Console.WriteLine("请输入账号:");
    string account = Console.ReadLine();
    Console.WriteLine("请输入密码");
    string pwd = Console.ReadLine();
    Person a = checkOutAccount(account, pwd);
    if (a != null)
    {
    Console.WriteLine("请输入取款金额");
    double outmoney = double.Parse(Console.ReadLine());
    double result = UserMoney(outmoney, a);
    if (result == -1)
    {
    Console.WriteLine("取款失败");
    }
    else
    {
    Console.WriteLine("取款成功,当前金额{0}", a.money);
    }

    }
    else
    {
    Console.WriteLine("账号或密码不存在");
    }
    }
    private double UserMoney(double outmoney, Person people05)
    {
    if (outmoney > 0)
    {
    if (outmoney <= people05.money)
    {
    people05.money -= outmoney;
    return people05.money;
    }
    else
    {
    return -1;
    }
    }
    else
    {
    return -1;
    }
    }
    public void Show()
    {
    Console.WriteLine("请输入账号:");
    string account = Console.ReadLine();
    Console.WriteLine("请输入密码:");
    string password = Console.ReadLine();
    Person checkIn = checkOutAccount(account, password);
    if (checkIn == null)
    {
    Console.WriteLine("账号或密码错误");
    }
    else
    {
    Console.WriteLine("账户余额是{0}", string.Format("{0:F3}", checkIn.money.ToString()));
    }

    }
    public void Theme()
    {
    Console.WriteLine("=================欢迎使用自动银行服务============================");
    Console.WriteLine("1.存款2.取款3.转账4.查询余额5.退出6.修改密码 7.继续注册账户");
    Console.WriteLine("================================================================");
    do
    {
    Console.WriteLine("请选择:");
    int choice = int.Parse(Console.ReadLine());
    switch (choice)
    {
    case 1:
    AddMoney();
    continue;
    case 2:
    WithDraw();
    continue;
    case 3:
    Transfer();
    continue;
    case 4:
    Show();
    continue;
    case 5:
    break;
    case 6:
    Change();
    continue;
    case 7:
    CreatAccount();
    continue;
    default:
    Console.WriteLine("输入无效");
    continue;
    }
    break;
    } while (true);

    }
    public void Transfer()
    {
    Console.WriteLine("请输入转出账号:");
    string outAccount = Console.ReadLine();
    Console.WriteLine("请输入转出账户密码");
    string outPassword = Console.ReadLine();
    Console.WriteLine("请输入转入账号");
    string inAccount = Console.ReadLine();
    Console.WriteLine("请输入转账金额");
    double tranMoney = double.Parse(Console.ReadLine());
    double outMoney = 0, inMoney = 0;
    int result = Back(outAccount, outPassword, inAccount, tranMoney, ref outMoney, ref inMoney);
    if (result == 1)
    {
    Console.WriteLine("转账成功,转出账号{0}余额为:{1},转入账号{2}余额为:{3}", outAccount, outMoney, inAccount, inMoney);
    }
    else if (result == -1)
    {
    Console.WriteLine("转出账户账号或密码错误");
    }
    else if (result == -2)
    {
    Console.WriteLine("转入账号不正确");
    }
    else if (result == -3)
    {
    Console.WriteLine("转账操作失败");
    }
    }
    public void AddMoney()
    {
    Console.WriteLine("请输入账号:");
    string account = Console.ReadLine();
    Person a = InAccount(account);
    if (a != null)
    {
    Console.WriteLine("请输入存款:");
    int addMoney = int.Parse(Console.ReadLine());
    a.money += addMoney;
    Console.WriteLine("存款成功:余额{0}", a.money);
    }
    else
    {
    Console.WriteLine("账号不存在");
    }
    }
    public void Change()
    {
    Console.WriteLine("请输入账号:");
    string isAccount = Console.ReadLine();
    Console.WriteLine("请输入密码:");
    string isPassword = Console.ReadLine();
    Person c = AChange(isAccount, isPassword);
    if (c != null)
    {
    Console.WriteLine("请输入新密码:");
    string password1 = Console.ReadLine();
    Console.WriteLine("请再次输入密码:");
    string password2 = Console.ReadLine();
    if (PChange(password1, password2, ref c) == null)
    {
    Console.WriteLine("两次密码不一致");
    }
    else
    {
    Console.WriteLine("密码修改成功");
    }
    }
    else
    {
    Console.WriteLine("账号或密码错误");
    }
    }
    private Person InAccount(string inAccount)
    {
    foreach (Person temp in user)
    {
    if (inAccount == temp.number)
    {
    return temp;
    }

    }
    return null;
    }
    private int Back(string outAccount, string outPassword, string inAccount, double tranMoney, ref double outMoney, ref double inMoney)
    {
    Person a = checkOutAccount(outAccount, outPassword);
    if (a == null)
    {
    return -1;
    }
    Person b = checkInAccount(inAccount, outAccount);
    if (b == null)
    {
    return -2;
    }
    outMoney = checkOutMoney(tranMoney, ref a);
    if (outMoney <= 0)
    {
    return -3;
    }
    inMoney = checkInMoney(ref b, tranMoney);
    if (inMoney < b.money)
    {
    return -3;
    }

    return 1;
    }
    private Person checkOutAccount(string outAccount, string outPassword)
    {
    foreach (Person temp in user)
    {
    if (outAccount == temp.number && outPassword == temp.password)
    {
    return temp;
    }
    }
    return null;
    }
    private Person checkInAccount(string inAccount, string outAccount)
    {
    foreach (Person temp in user)
    {
    if (inAccount == temp.number && outAccount != inAccount)
    {
    return temp;
    }

    }
    return null;
    }
    private double checkOutMoney(double tranMoney, ref Person people01)
    {
    if (people01 != null)
    {
    if (tranMoney <= people01.money)
    {
    people01.money -= tranMoney;
    return people01.money;
    }
    return people01.money;
    }
    return people01.money;
    }
    private double checkInMoney(ref Person people02, double tranMoney)
    {
    people02.money += tranMoney;
    return people02.money;
    }
    private Person AChange(string account, string oldPassword)
    {
    foreach (Person temp in user)
    {
    if (account == temp.number && oldPassword == temp.password)
    {
    return temp;
    }
    return null;
    }
    return null;
    }
    private string PChange(string num1, string num2, ref Person people03)
    {
    if (num1 == num2)
    {
    people03.password = num1;
    return people03.password;
    }
    return null;
    }
    }
    }

     第二个类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace My Bank
    {
    class Person
    {
    public string name;
    public double money;
    public string password;
    public string idNumber;
    public string number;
    }
    }

    测试类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;

    namespace My Bank
    {
    class Program
    {
    static void Main(string[] args)
    {
    Bank demo = new Bank();
    demo.CreatAccount();
    demo.Theme();
    Console.ReadLine();
    }
    }
    }

  • 相关阅读:
    艾伟_转载:把事件当作对象进行传递 狼人:
    艾伟_转载:AOP in Asp.net MVC 狼人:
    艾伟_转载:基于.NET平台的Windows编程实战(一)——前言 狼人:
    艾伟_转载:闲说继承 狼人:
    艾伟_转载:面向对象封装了啥 狼人:
    艾伟_转载:LINQ to SQL、NHibernate比较(二) LINQ to SQL实例 狼人:
    艾伟_转载:我对NHibernate的感受(1):对延迟加载方式的误解 狼人:
    艾伟_转载:用C#编程合并多个WORD文档 狼人:
    艾伟_转载:基于.NET平台的Windows编程实战(二)—— 需求分析与数据库设计 狼人:
    艾伟_转载:从ASP.NET的PHP执行速度比较谈起 狼人:
  • 原文地址:https://www.cnblogs.com/tinghao/p/10077386.html
Copyright © 2011-2022 走看看