/*开户、存款、挂失、补卡、取款、转账、余额查询、密码修改、交易查询、锁定账号、解锁账号等*/
/*C#第7天 请参考by-Qy*/

using System;
using System.Collections.Generic;
using System.Threading;
using System.Collections;
namespace 模拟银行业务
{
//新卡不得继承错误次数 挂失金额要转移 3次输出提示
class Program
{
private ArrayList nums = new ArrayList();
////创建公开静态Dictionary方法使用集合
//public static Dictionary<int, User> Data = new Dictionary<int, User>();
//List泛型集合确实比Dictionary好用。。。
public static List<User> Data = new List<User>();

//判断是否可以载入柜员窗口
static bool Testing;
//记录挂失的索引
static int ReportNumber;
//用户界面的循环
static bool usMain = true;
//记录谁的卡号进入了用户界面[索引]
static int WhoCarsNumber;
//给编号使用
static int Number=9999;
static bool Testing2;
static void Main()
{
while (true)
{
HomePage();
if (Testing)
{
CounterEmployee();
}
if (Testing2)
{
UserMain();
}

}
}

/// <summary>
/// 主页面,判断入口代码
/// </summary>
public static void HomePage()
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\n\n **** 欢迎使用传销银行系统 ****\n\n\n\n\n\n");
Console.Write(" 1. 柜员入口 2. 用户入口\n\n\n");
Console.Write(" 请选择入口代码:");
Console.ForegroundColor = ConsoleColor.Yellow;
string entrance = Console.ReadLine();
if (entrance == "1")
{
//柜员入口
AuthorizationCode();
}
else if (entrance == "2")
{
//用户入口
UserAccess();
}
else
{
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write("\n\n\n 输入格式不正确按任意键重新输入。");
Console.ReadKey();
}
}

/// <summary>
/// 生成6位授权码,判断输入的授权码是否正确
/// </summary>
public static void AuthorizationCode()
{
Console.ForegroundColor = ConsoleColor.Red;
int AuthorizationCode = new Random().Next(100000, 1000000);
Console.Write("\n 本次登录授权码为:");
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(AuthorizationCode.ToString());
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 请输入授权码:");
Console.ForegroundColor = ConsoleColor.Yellow;
string inputAuthorizationCode = Console.ReadLine();
if (inputAuthorizationCode != AuthorizationCode.ToString())
{
Testing = false;
Console.ForegroundColor = ConsoleColor.Blue;
Console.Write("\n 错误授权码,请按任意键继续");
Console.ReadKey();
return;
}
Testing = true;

}

/// <summary>
/// 柜员窗口
/// </summary>
public static void CounterEmployee()
{
while (true)
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("\n\n\n **** 欢迎使用传销银行柜员系统 ****\n\n\n\n\n\n");
Console.Write(" 1. 开户 2. 挂失\n\n\n");
Console.Write(" 3. 补卡 4. 解锁\n\n\n");
Console.Write(" 5. 退出\n");
Console.Write(" -------------------------\n");
Console.Write(" 请选择操作代码:");
string Choice = Console.ReadLine();

if(Choice=="5")
{
Testing = false;//防止二次操作默认可进入柜员界面
break;
}
else if (Choice == "1")
{
OpenAnAccount();
}
else if (Choice == "2")
{
ReportTheLoss();
}
else if (Choice == "3")
{
FillCard();
}
else if (Choice == "4")
{
OnLocking();
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 无效的操作代码,按任意键继续...");
Console.ReadKey();
}
}
}

/// <summary>
/// 用户窗口
/// </summary>
public static void UserMain()
{
while (usMain)
{
Console.Clear();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\n\n\n **** 欢迎使用传销银行系统 ****\n\n\n\n\n\n");
Console.Write(" 1. 存款 2. 取款\n\n");
Console.Write(" 3. 转账 4. 交易查询\n\n");
Console.Write(" 5. 显示余额 6. 修改密码\n\n");
Console.Write(" 7. 账户信息 8. 退出\n\n");
Console.Write(" -------------------------\n");
Console.Write(" 请选择操作代码:");
string Choice = Console.ReadLine();
if (Choice == "8")
{
Testing2 = false;//防止二次操作默认可进入用户界面
Data[WhoCarsNumber].WrongTimess = 1;
break;
}
else if (Choice == "1")
{
Deposit();
}
else if (Choice == "2")
{
WithdrawMoney();
}
else if (Choice == "3")
{
TransferAccounts();
}
else if (Choice == "4")
{
Transaction();
}
else if (Choice == "5")
{
Balance();
}
else if (Choice == "6")
{
ModifyPpassword();
}
else if (Choice == "7")
{
Information();
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 无效的操作代码,按任意键继续...");
Console.ReadKey();
}
}
}

/// <summary>
/// 进入用户界面前的验证{存在、挂失、锁住、锁住三次记录}
/// </summary>
public static void UserAccess()
{

Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 卡号:");
Console.ForegroundColor = ConsoleColor.White;
if (DoesItExist(Console.ReadLine()))
{
if (TFReport())
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 此账户已挂失!按任意键继续操作");
Console.ReadKey();
}
else
{
if (TFLocking())
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 此账户已锁卡,请到柜台解锁!按任意键继续操作");
Console.ReadKey();
}
else
{//至此只要再判断密码
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 密码:");
Console.ForegroundColor = ConsoleColor.White;
if (PassWordReally(Console.ReadLine()))
{
if(Data[ReportNumber].WrongTimess<=3)
{

WhoCarsNumber = ReportNumber;
Testing2= true;
usMain = true;
return;
}

}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 密码错误,输错{0}次",Data[ReportNumber].WrongTimess);
Data[ReportNumber].WrongTimess++;
if (Data[ReportNumber].WrongTimess == 4)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 此账户已锁卡,请到柜台解锁!按任意键继续操作");
Console.ReadKey();
}
if (Data[ReportNumber].WrongTimess > 3)
{
Data[ReportNumber].Locking = true;
}
Console.ReadKey();
}
}
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n 此账户不存在!按任意键继续操作");
Console.ReadKey();
}
}

/// <summary>
/// 开户
/// </summary>
public static void OpenAnAccount()
{

Console.Write("\n 姓名:");
string name = Console.ReadLine();
while(name=="")
{
Console.Write("\n 姓名不能为空,请输入开户人姓名:");
name = Console.ReadLine();
}
Console.Write("\n\n 密码:");
string password = Console.ReadLine();
while (password == "")
{
Console.Write("\n 密码不能为空,请输入新用户密码:");
password = Console.ReadLine();
}
Console.Write("\n\n 该用户的卡号为:");
Console.ForegroundColor = ConsoleColor.Red;
string CarsNumberss = CarsNumber();
Console.Write(CarsNumberss);
Number++;
User Personal = new User(name, password, CarsNumberss,false,false,0,Number, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),1);
//UserIO PersonalIO = new UserIO(CarsNumberss, 999, 0, "", "");
//DataIO.Add(PersonalIO);
Data.Add(Personal);
Console.ForegroundColor = ConsoleColor.White;
Console.Write(",按任意键继续操作");
////遍历测试
//foreach (var item in Data.Values)
//{
// // Console.WriteLine("\n开户人姓名:{0},开户人密码{1},开户人卡号{2}", item.Name, item.Password, item.CarsNumber);
// if (item.Name == "1")
// {
// Console.WriteLine("存在了!");
// }
//}//成功咦!这个方法可行好得很
//判读输入的姓名是否存在
//bool a = User.Equals(Data.Values, "1");
//if (a)
//{
// Console.WriteLine("发现1了!");
//}
Console.ReadLine();

}

/// <summary>
/// 生成随机银行卡号且不重复
/// </summary>
public static string CarsNumber()
{
jump: int CarsNumber1 = new Random().Next(100000, 1000000);
Thread.Sleep(15);//延时15ms以上不然随机数前几位一样
int CarsNumber2 = new Random().Next(100000000, 1000000000);
string us_CarsNumber = CarsNumber1.ToString() + " " + CarsNumber2.ToString();
if (Data.Count == 0)//第一位办卡直接输出
{
return us_CarsNumber;
}
else if(DoesItExist(us_CarsNumber))//存在跳转重生
{
goto jump;
}
else
{
return us_CarsNumber;
}
}

/// <summary>
/// 输入卡号,判断卡号是否存在,存在true;得到输入卡号的索引
/// </summary>
/// <returns>bool值存在true</returns>
public static bool DoesItExist(string us_CarsNumbers)
{
for (int i = 0; i < Data.Count; i++)
{
if(Data[i].CarsNumberS==us_CarsNumbers)
{
ReportNumber = i;

return true;
}
}
return false;
}

/// <summary>
/// 输入姓名,判断姓名是否存在,存在true
/// </summary>
/// <returns>bool值存在true</returns>
public static bool NameExist(string us_Name)
{
for (int i = 0; i < Data.Count; i++)
{
if (Data[i].Name == us_Name)
{
return true;
}
}
return false;
}

/// <summary>
/// 挂失
/// </summary>
public static void ReportTheLoss()
{
Console.Write("\n\n 挂失卡号:");

if (DoesItExist(Console.ReadLine()))
{
if (TFReport())
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 该卡号已挂失!请按任意键继续操作");
Console.ReadKey();
return;
}
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 确定要挂失当前账号吗(Y/N)?");
if (YN(Console.ReadLine()))
{
//挂失操作不能登入可以补卡,补卡后挂失的账户被删除
Data[ReportNumber].ReportLoss = true;
Console.WriteLine("\n\n 挂失成功!\n\n 请按任意键继续操作");
Console.ReadKey();
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\n 系统找不到指定账户,请按任意键继续操作");
Console.ReadKey();
}
}

/// <summary>
/// 补卡
/// </summary>
public static void FillCard()
{
Console.Write("\n\n 姓名:");
string us_NameFC = Console.ReadLine();
Console.Write("\n\n 请输入已挂失的卡号:");
if (NameExist(us_NameFC)==true && DoesItExist(Console.ReadLine()))
{//姓名卡号存在判断是否挂失给予明了提示
if(TFReport())
{
long MoneyReport = Data[ReportNumber].Money;
//挂失过可以补卡操作 补卡?删除自身重新生成?恩
Data.RemoveAt(ReportNumber);
//DataIO.RemoveAt(ReportNumber);
Console.Write("\n\n 用户 {0} 新的卡号为:",us_NameFC);
Console.ForegroundColor = ConsoleColor.Red;
string CarsNumberss = CarsNumber();
Console.Write(CarsNumberss);
Console.ForegroundColor = ConsoleColor.White;
Console.Write("\n\n 请输入新的密码:");
string password = Console.ReadLine();
while (password == "")
{
Console.Write("\n 密码不能为空,请输入新用户密码:");
password = Console.ReadLine();
}
Number++;
User PersonalFC = new User(us_NameFC, password, CarsNumberss, false,false,MoneyReport,Number, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),1);
//UserIO PersonalIO = new UserIO(CarsNumberss, 999, 0, "", "");
//DataIO.Add(PersonalIO);
Data.Add(PersonalFC);
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\n\n 补卡成功,请按任意键继续操作");
Console.ReadKey();
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 未挂失的账户不能补卡,按任意键继续!");
Console.ReadKey();
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 系统找不到指定账户,按任意键继续!");
Console.ReadKey();
}

}

/// <summary>
/// 解锁
/// </summary>
public static void OnLocking()
{
Console.Write("\n\n 需解锁的卡号:");
if (DoesItExist(Console.ReadLine()))
{
if(TFReport())
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 此账号已挂失,按任意键继续操作");
Console.ReadKey();
}
else if(TFLocking())
{
Console.Write("\n\n 确定要解锁此账号么?(Y/N)");
if(YN(Console.ReadLine()))
{
Data[ReportNumber].Locking = false;
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 解锁成功,按任意键继续操作");
Data[ReportNumber].WrongTimess = 1;
Console.ReadKey();
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 此账号未锁住,按任意键继续操作");
Console.ReadKey();
}
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 系统找不到指定账号,按任意键继续操作");
Console.ReadKey();
}
}

/// <summary>
/// 判断是否已经挂失,挂失返回true
/// </summary>
public static bool TFReport()
{
if(Data.Count !=0)
{
return Data[ReportNumber].ReportLoss;
}
else
{
Console.WriteLine("本银行还木有顾客!望!眼!欲!穿!呐!");
return false;
}
}

/// <summary>
/// 判断是否已经锁住,锁住返回true
/// </summary>
public static bool TFLocking()
{
if (Data.Count != 0)
{
return Data[ReportNumber].Locking;
}
else
{
return false;
}
}

/// <summary>
///判断Y/N是Y输出true
/// </summary>
/// <param name="shuru">bool</param>
/// <returns></returns>
public static bool YN(string shuru)
{
if(shuru=="Y" || shuru == "y")
{
return true;
}
else
{
return false;
}
}

/// <summary>
/// 判断输入的密码是否正确,正确true
/// </summary>
public static bool PassWordReally(string pw)
{
if (Data[ReportNumber].Password==pw)
{
return true;
}
return false;
}
/// <summary>
/// 存款、100的倍数不为负数或0
/// </summary>
public static void Deposit()
{
Console.Write("\n\n 请输入交易金额:");
Console.ForegroundColor=ConsoleColor.White;
long input= Convert.ToInt64(Console.ReadLine());
if (input==0 || input<0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 存款金额不能为零或负数!");
Continue();
}
else
{
if (input % 100 == 0)
{
Data[ReportNumber].Money += input;

UserIO transaction = new UserIO(input, "存款");

Data[ReportNumber].List.Add(transaction);

Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 存款成功!");
Continue();
}
else//eg:1
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 交易额必须是 100 的整数倍!");
Continue();
}
}

}
/// <summary>
/// 取款
/// </summary>
public static void WithdrawMoney()
{
Console.Write("\n\n 请输入交易金额:");
Console.ForegroundColor = ConsoleColor.White;
int input = Convert.ToInt32(Console.ReadLine());
if (input == 0 || input < 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 取款金额不能为零或负数!");
Continue();
}
else
{
if (input % 100 == 0)
{
if (Data[ReportNumber].Money >= input)
{
Data[ReportNumber].Money -= input;
//记录
UserIO transaction = new UserIO(input, "取款");

Data[ReportNumber].List.Add(transaction);
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 取款成功!");
Continue();
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 余额不足!");
Continue();
}

}
else//eg:1
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 交易额必须是 100 的整数倍!");
Continue();
}
}

}

/// <summary>
/// 用户面板输出判断是否继续?输入Y继续,别的退出用户界面!
/// </summary>
public static void Continue()
{
Console.ForegroundColor = ConsoleColor.Green;
Console.Write("\n\n 还继续操作吗(Y/N)?");
if (!YN(Console.ReadLine()))
{
Testing2 = false;
Data[WhoCarsNumber].WrongTimess = 1;
usMain = false;
}
}
/// <summary>
/// 转账
/// </summary>
public static void TransferAccounts()
{
Console.Write("\n\n 收款方卡号:");
if (DoesItExist(Console.ReadLine()))
{//转账条件分析 挂失 不存在 均不能转 ,锁定可转-解锁与否不影响
//转账金额与交易额要求相同,不能转给自己
if (TFReport())
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write("\n\n 对方账户已挂失");
Continue();
}
else
{
if (ReportNumber == WhoCarsNumber)
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write("\n\n 不允许给自己转账");
Continue();
}
else
{
Console.Write("\n\n 请输入转账金额:");
Console.ForegroundColor = ConsoleColor.White;
int input = Convert.ToInt32(Console.ReadLine());
if (input == 0 || input < 0)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 转账金额不能为零或负数!");
Continue();
}
else
{
if (input % 100 == 0)
{//转账开始
Data[ReportNumber].Money += input;
Data[WhoCarsNumber].Money -= input;
//记录
UserIO transaction = new UserIO(input, "转入");

Data[ReportNumber].List.Add(transaction);
//----------++++--------------------------
UserIO transactions = new UserIO(input, "转出");

Data[WhoCarsNumber].List.Add(transactions);
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 转账 {0}元 成功!",input);
Continue();
}
else//eg:1
{
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 转账金额必须是 100 的整数倍!");
Continue();
}
}

}
}
}
else
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write("\n\n 系统找不到指定用户");
Continue();
}
}

/// <summary>
/// 余额
/// </summary>
public static void Balance()
{
Console.Write("\n\n 账户余额为: {0}.0 元",Data[WhoCarsNumber].Money);
Continue();
}
/// <summary>
/// 修改密码
/// </summary>
public static void ModifyPpassword()
{
Console.Write("\n\n 请输入新的密码:");
Console.ForegroundColor = ConsoleColor.White;
Data[WhoCarsNumber].Password = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.Red;
Console.Write("\n\n 重置密码成功");
Continue();
}
/// <summary>
/// 账户信息
/// </summary>
public static void Information()
{
Console.Write("\n\n 编号:{0}\n 姓名:{1}\n 密码:{2}\n 卡号:{3}\n 开户日期:{4}\n 余额: {5}.0 元",Data[WhoCarsNumber].Number,Data[WhoCarsNumber].Name,Data[WhoCarsNumber].Password,Data[WhoCarsNumber].CarsNumberS,Data[WhoCarsNumber].Time,Data[WhoCarsNumber].Money);
Continue();
}
/// <summary>
/// 交易查询
/// </summary>
public static void Transaction()
{
Console.ForegroundColor = ConsoleColor.White;
Console.Write("\n\n \t交易号\t交易额 \t\t日期 \t\t\t类型\n \t----------------------------------------------------------------------");
//输出当前用户的交易记录
foreach (UserIO u in Data[WhoCarsNumber].List)
u.ShowTransaction();

Continue();
}
}

//User集合
public class User
{
public string Name { get; set; }
public string Password { get; set; }
public string CarsNumberS { get; set; }
//挂失默认false
public bool ReportLoss { get; set; }
//锁住状态默认false
public bool Locking { get; set; }
public long Money { get; set; }
//编号
public int Number { get; set; }
public string Time { get; set; }

//错误次数
public int WrongTimess { get; set; }

public List<UserIO> List
{
get
{
return list;
}

set
{
list = value;
}
}

//交易列表???
List<UserIO> list = new List<UserIO>();

public User() { }
//改动集合必须改动 补卡 开户
public User(string us_Name, string us_Psw, string us_CarsNumber,bool us_ReportTheLoss,bool us_Locking,long us_Money,int us_Number,string us_Time,int us_WrongTimes)
{
Name = us_Name;
Password = us_Psw;
CarsNumberS = us_CarsNumber;
ReportLoss = us_ReportTheLoss;
Locking = us_Locking;
Money = us_Money;
Number = us_Number;
Time = us_Time;
WrongTimess = us_WrongTimes;
}

}

//User交易
public struct UserIO
{
//交易号
public int TransactionNumber { get; set; }
//交易额
public long IOMoney { get; set; }
//交易日期
public DateTime IOTime { get; set; }
//交易类型
public string IOType { get; set; }

static int no = 1000;

//改动集合必须改动 补卡 开户
public UserIO(long us_IOMoney,string us_IOType)
{

TransactionNumber = no++;
IOMoney = us_IOMoney;
IOTime = DateTime.Now;
IOType = us_IOType;
}

public void ShowTransaction()
{
Console.Write("\n \t{0}\t{1}\t\t{2}\t\t\t{3}", TransactionNumber, IOMoney, IOTime.ToString("yyyy-MM-dd hh:mm:ss"),IOType);
}
}

}

模拟银行业务的JS实现的更多相关文章

  1. trao 模拟点击 & js auto click

    trao 模拟点击 & js auto click 日历上选择某一天,在 scrollview 自动定位到选择的那一天 click 后获取 item 的 e.target.offsetLeft ...

  2. 前后端分离开发——模拟数据mock.js

    mock.js 生成模拟数据,拦截ajax请求 <script type="text/javascript" src="http://libs.baidu.com/ ...

  3. Jmeter_前端RSA加密下的登陆模拟_引用js文件实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在一次项目实战中,前端登录使用了RSA加密,使用LoadRunner压测的第一步,就是模拟用户登录,可惜loadRunner11并不能录制前端的加 ...

  4. 【CSS3】纯CSS代码实现模拟时钟,+js对时功能。

    使用CSS3纯代码来实现模拟时钟,及指针动画功能. 在这里主要使用到css3一些基本元素: border-radius:圆角边框,画圆形:表盘 Transform:变换,旋转,扭曲:刻度盘,指针形状 ...

  5. 流量分析系统----实现-echarts模拟迁移(bmap.js/china.js)

    china.js: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  6. Jmeter_前端RSA加密下的登陆模拟_引用js文件实现(转)

    在一次项目实战中,前端登录使用了RSA加密,使用LoadRunner压测的第一步,就是模拟用户登录,可惜loadRunner11并不能录制前端的加密过程,并且安装的LR是基于C语言版,网络上关于RSA ...

  7. js模拟类

    ECMAScript6已经支持了class,但之前版本都不支持类,但是可以通过一些方法来模拟类. js中的类,既是重点,也是难点,很多时候都感觉模棱两可. 首先强调一下js中很重要的3个知识点:thi ...

  8. 本地模拟服务器CDN(静态HTML,CSS,JS)开发

    本地模拟服务器CDN(静态HTML,CSS,JS)开发 所谓本地开发环境就是和线上cdn(a.longencdn.cn)一样的目录结构和功能,提供了一个本地镜像,开发者直接在本地镜像的对应目录中作开发 ...

  9. 流量分析系统----讲解-echarts模拟迁移(结合china.js)

    百度 Echarts 地图->模拟迁徙,实现自动切换地图 小航哥注释: 1.本文主要是把模拟迁移的流程讲了一遍,讲的很好.具体实现参考航哥这篇随笔“流量分析系统----实现-echarts模拟迁 ...

随机推荐

  1. SDE在64位Server2008下Post启动服务失败官方解释

    解决了一个SDE启动问题,在此记录一下 在server 2008 64位下安装完arcgis sde之后,Post启动服务,总是失败 查看SDE日志(etc目录下) DB_open_instance( ...

  2. Node 操作 MySQL 数据库

    1, 下载 mysql 依赖 => npm -i mysql 2, 写一个核心工具类, 用于获取线程池连接 mysql-util.js // 引入 mysql 数据库连接依赖 const mys ...

  3. linux-2.6.22.6 内核源代码包的文件目录介绍

    下载一个linux-2.6.22.6.tar并解压 再其解压的文件中加入下面的bat脚本 生成当前文件的目录树脚本如下: @rem 此BAT文件名一定不能是"tree.bat",否 ...

  4. element UI select 设定默认值

    要为select设定默认值,有两个步骤 1.数据中,声明一个变量param:该变量的值设为你想设定的select option中value 2.控件的 v-model 绑定 param 即可 < ...

  5. 深度学习原理与框架-Tensorflow卷积神经网络-卷积神经网络mnist分类 1.tf.nn.conv2d(卷积操作) 2.tf.nn.max_pool(最大池化操作) 3.tf.nn.dropout(执行dropout操作) 4.tf.nn.softmax_cross_entropy_with_logits(交叉熵损失) 5.tf.truncated_normal(两个标准差内的正态分布)

    1. tf.nn.conv2d(x, w, strides=[1, 1, 1, 1], padding='SAME')  # 对数据进行卷积操作 参数说明:x表示输入数据,w表示卷积核, stride ...

  6. 【Noip模拟 20161005】友好城市

    问题描述 小ww生活在美丽的ZZ国.ZZ国是一个有nn个城市的大国,城市之间有mm条单向公路(连 接城市ii.jj的公路只能从ii连到jj).城市ii.jj是友好城市当且仅当从城市ii能到达城市jj并 ...

  7. Maven仓库—Nexus环境搭建及使用

    使用Sonatype Nexus搭建Maven私服后如何添加第三方JAR包 http://blog.csdn.net/yanjun008/article/details/42084109 Nexus介 ...

  8. 新版openvpn for pc使用旧证书问题的处理

    在client.ovpn中增加一句: tls-cipher "DEFAULT:@SECLEVEL=0"

  9. 关于C# WinForm中进度条的实现方法

    http://www.cnblogs.com/Sue_/articles/2024932.html 进度条是一个软件人性化考虑之一,他给用户的感觉就是程序内部在不停的动作,执行到了什么程度,而不是整个 ...

  10. Hibernate 再接触 Hello world 模拟Hibernate

    没有Hibernate以前 Cilent 客户端 new出一个对象 然后执行JDBC 然后这样的访问数据库并不是面向对象语言 使用Hibernate以后 Cilent new 出一个对象后 访问配置文 ...