精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

買房利器 淺談C#個人住房貸款計算器

開發 后端
現在,很多人都有個人住房貸款,或者將要有個人住房貸款。那么,就讓我們用 C# 寫一個計算器,用于計算個人住房貸款的還款計劃表。

51CTO編輯推薦《C#實用 基礎教程

先看最終界面圖。

個人住房貸款計算器

這個計算器能夠根據你給出的貸款金額、貸款期數、貸款日期、還款方式、貸款種類,計算 出相應的還款計劃表,如上圖所示。

這樣,就很容易知道每月要還多少錢,到現在為止剩余多少貸款未還,最終要付出多少貸款 利息,等等。

貸款利率是由貸款種類決定的,存放在 LoanComputer.xml 文件中:

<?xml version="1.0" encoding="utf-8" ?> 


<LoanComputer>
  <option balance="13.8" months="180" date="2004-07-23" method="等本息" item="公積金中長期" />
  <items>
    <item title="公積金短 期">
      <rate date="1001-01-01" value="3.6" />
      <rate date="2005-01-01" value="3.78" />
      <rate date="2006-01-01" value="3.96" />
      <rate date="2007-01-01" value="4.14" />
      <rate date="2008-01-01" value="5.04" />
      <rate date="2009-01-01" value="3.33" />
    </item>
    <item title="公 積金中長期">
      <rate date="1001-01-01" value="4.05" />
      <rate date="2005-01-01" value="4.23" />
      <rate date="2006-01-01" value="4.41" />
      <rate date="2007-01-01" value="4.59" />
      <rate date="2008-01-01" value="5.22" />
      <rate date="2009-01-01" value="3.87" />
    </item>
    <item title="商業性短期基準">
      <rate date="1001-01-01" value="5.51" />
      <rate date="2008-01-01" value="6.579" />
      <rate date="2009-01-01" value="5.76" />
    </item>
    <item title="商業性中長期基 準">
      <rate date="1001-01-01" value="5.75" />
      <rate date="2007-01-01" value="5.81" />
      <rate date="2008-01-01" value="6.65" />
      <rate date="2009-01-01" value="5.94" />
    </item>
    <item title="商 業性短期優惠">
      <rate date="1001-01-01" value="5.51" />
      <rate date="2008-01-01" value="6.579" />
      <rate date="2009-01-01" value="4.03" />
    </item>
    <item title="商業性中長期優惠">
      <rate date="1001-01-01" value="5.75" />
      <rate date="2007-01-01" value="5.81" />
      <rate date="2008-01-01" value="6.65" />
      <rate date="2009-01-01" value="4.16" />
    </item>
  </items>
</LoanComputer>

你可以自行修改這個文件,以適應不同銀行的貸款利率。

這個文件由 Config.cs 文件中的 Config 類讀取:

using System;
using System.Xml;
using System.Collections.Generic;
namespace Skyiv.Ben.LoanComputer
{
  sealed class Config
  {
    static readonly string ElmOption = "option";
    static readonly string ElmItems = "items";
    static readonly string AttrBalance = "balance";
    static readonly string AttrMonths = "months";
    static readonly string AttrDate = "date";
    static readonly string AttrMethod = "method";
    static readonly string AttrItem = "item";
    static readonly string AttrTitle = "title";
    static readonly string AttrValue = "value";
    public decimal Balance { get; private set; 

} // 貸款金額(萬元)
    public int Months { get; private set; }       // 貸款期數(月)
    public DateTime Date { get; private set; }   // 貸款日期
    public bool IsEq { get; private set; }       // 還款 方式: true:等本息  false: 等本金
    public string Item { get; private set; }     // 貸款種類
    public string[] Items { get; private set; }  // 貸款種類列表
    public KeyValuePair<DateTime, decimal>[] Rates { get; private set; } // 貸款利率
    KeyValuePair<DateTime, decimal>[][] 

ratesArray; // 各種類的“貸款利率”列表
    public Config(string fileName)


    {
      try
      {
        var doc = new XmlDocument ();
        doc.Load (fileName);
        var elm = doc.DocumentElement[ElmOption];
        if (elm == null) throw new Exception("未能找到 <" + ElmOption + "> 元 素");
        Balance = GetDecimal(elm, AttrBalance);
        Months = GetInt32(elm, AttrMonths);
        Date = GetDateTime(elm, AttrDate);
        IsEq = GetBooleanFromMethod(elm, AttrMethod);
        Item = GetString(elm, AttrItem);
        LoadItems (doc);
      }
      catch (Exception ex)
      {
        throw new Exception("讀配置文件(" + fileName + ")", ex);
      }
    }
    // 根據貸款種類設置貸款利率


    public void SetRates(string key)
    {
      var idx = Array.IndexOf(Items, key);
      if (idx < 0) throw new Exception("無此貸 款種類: " + key);
      Rates = ratesArray [idx];
    }
    void LoadItems(XmlDocument doc)


    {
      var elm = doc.DocumentElement[ElmItems];
      if (elm == null) throw new Exception("未能找到 <" + ElmItems + "> 元 素");
      var elms = elm.ChildNodes;
      Items = new string [elms.Count];
      ratesArray = new KeyValuePair<DateTime, decimal>[elms.Count] [];
      for (var i = 0; i < elms.Count; i++)
      {
        Items[i] = GetString(elms[i], AttrTitle);
        ratesArray[i] = GetRates (elms[i]);
      }
    }
    KeyValuePair<DateTime, decimal>[] 

GetRates(XmlNode elm)
    {
      var elms = elm.ChildNodes;
      var rates = new KeyValuePair<DateTime, decimal> [elms.Count];
      for (var i = 0; i < elms.Count; i++)
        rates[i] = new KeyValuePair<DateTime, decimal>(GetDateTime(elms[i], AttrDate), GetDecimal (elms[i], AttrValue));
      return rates;
    }
    string GetString(XmlNode elm, string key)


    {
      if (elm.Attributes[key] == null) throw new Exception("未能找到 <" + elm.Name + "> 元素的 " + key + " 屬性");
      return elm.Attributes [key].Value;
    }
    decimal GetDecimal(XmlNode elm, string 

key)
    {
      decimal value;
      if (!decimal.TryParse(GetString(elm, key), out value))
        throw new Exception ("<" + elm.Name + "> 元素的 " + key + " 屬性的值必須為實 數");
      return value;
    }
    int GetInt32(XmlNode elm, string key)


    {
      int value;
      if (!int.TryParse(GetString(elm, key), out value))
        throw new Exception("<" + elm.Name + "> 元素的 " + key + " 屬性的值必須為整 數");
      return value;
    }
    DateTime GetDateTime(XmlNode elm, string 

key)
    {
      DateTime value;
      if (!DateTime.TryParseExact(GetString(elm, key), "yyyy-MM-dd", null, System.Globalization.DateTimeStyles.None, out value))
        throw new Exception("<" + elm.Name + "> 元素的 " + key + " 屬性的值必須為日期 值");
      return value;
    }
    bool GetBooleanFromMethod(XmlNode elm, 

string key)
    {
      var value = GetString(elm, key);
      if (value == "等本息") return true;
      if (value == "等本金") return false;
      throw new Exception("<" + elm.Name + "> 元素的 " + key + " 屬性的值必須為“等本息”或者“等本 金”");
    }
  }
}

而 Pub.cs 文件中的 Pub 靜態類提供的 GetMessage 方法用于顯示錯誤信息:

using System;
using System.Text;
namespace Skyiv.Ben.LoanComputer
{
  static class Pub
  {
    public static string GetMessage(Exception ex)
    {
      var sb = new StringBuilder("錯誤: ");
      for (var e = ex; e != null; e = e.InnerException) sb.Append(e.Message + ": ");
      sb.Length -= 2;
      return sb.ToString();
    }
  }
}

接著,就是 LoanBase.cs 文件中的抽象基類 LoanBase 了:

using System;
using System.Data;
using System.Collections.Generic;
namespace Skyiv.Ben.LoanComputer
{
  abstract class LoanBase
  {
    public DataTable Table { get; private set; }
    public LoanBase(decimal balance, int 

months, DateTime date, KeyValuePair<DateTime, decimal>[] rates)


    {
      Table = GetTable ();
      Compute(balance, months, date, rates);
    }
    protected virtual void Compute(decimal 

balance, int months, DateTime date, KeyValuePair<DateTime, decimal>[] rates)


    {
    }
    protected decimal GetMonthRate(DateTime 

date, KeyValuePair<DateTime, decimal>[] rates)
    {
      int i;
      for (i = rates.Length - 1; i >= 0; i--) if (date >= rates[i].Key) break;
      return rates[i].Value / 100 / 12;
    }
    protected decimal Round(decimal dec)


    {
      return decimal.Round (dec, 2);
    }
    DataTable GetTable()
    {
      var dt = new DataTable ();
      dt.Columns.Add("期數", typeof (int));
      dt.Columns.Add("還款日期", typeof (DateTime));
      dt.Columns.Add("本金", typeof (decimal));
      dt.Columns.Add("利息", typeof (decimal));
      dt.Columns.Add("還款", typeof (decimal));
      dt.Columns.Add("貸款余額", typeof (decimal));
      dt.Columns.Add("累計還款", typeof (decimal));
      dt.Columns.Add("累計利息", typeof (decimal));
      return dt;
    }
  }
}

該類中的 Round 方法用于決定在計算時如何進行舍入,如有需要,可以修改該方法。

表示等本息法的 LoanEq 類是從 LoanBase 類中派生的:

using System;
using System.Collections.Generic;

namespace Skyiv.Ben.LoanComputer
{
  // 等本息法
  sealed class LoanEq : LoanBase
  {
    public LoanEq (decimal balance, int months, DateTime date, KeyValuePair<DateTime, decimal> [] rates)
      : base(balance, months, date, rates)
    {
    }

    protected override void Compute(decimal balance, int months, DateTime date, KeyValuePair<DateTime, decimal>[] rates)
    {
      decimal baseAmount = 0, monthRate0 = 0, monthAmount = 0, totalAmount = 0, totalInterest = 0;
      for (int month = months; month >= 1; month --, date = date.AddMonths(1))
      {
        decimal monthRate = GetMonthRate (date, rates), interest = Round(balance * monthRate);
        if (monthRate0 != monthRate) monthAmount = GetMonthAmount(balance, monthRate0 = monthRate, month);
        baseAmount = monthAmount - interest;
        balance -= baseAmount;
        if (month == 1 && balance != 0)
        {
          baseAmount += balance;
          interest -= balance;
          balance = 0;
        }
        totalAmount += monthAmount;
        totalInterest += interest;
        Table.Rows.Add(new object[] { months - month + 1, date, baseAmount, interest, monthAmount, balance, totalAmount, totalInterest });
      }
    }

    decimal GetMonthAmount(decimal balance, decimal monthRate, int months)
    {
      double tmp = Math.Pow(1 + (double)monthRate, months);
      return Round((decimal)((double)balance * (double)monthRate * tmp / (tmp - 1)));
    }
  }
}

在該類中覆蓋了基類的 Compute 虛方法,在主循環中逐月計算還款計劃表。

等本息法在利率不變的情況下,每月的還款額是固定的,所以也稱為“等額法”,計算公式 如下:

月還款額 = 貸款金額 x 月利率 x (1 + 月利率)期數

(1 + 月利率)期數 - 1

這個公式在 GetMonthAmount 方法中計算。

而月還利息等于上月剩余貸款余額乘以月利率,月還本金等于月還款額減去月還利息。

然后,本月剩余貸款余額等于上月剩余貸款余額減去月還本金。

最后,由于計算時需要進行舍入處理,到最后一期還款后可能剩余的貸款余額不為零,這就 需要在保持月還款額不變的情況下調整月還本金和月還利息。

表示等本金法的 LoanDesc 類也是從 LoanBase 類中派生的:

using System;
using System.Collections.Generic;
namespace Skyiv.Ben.LoanComputer
{
  // 等本金法
  sealed class LoanDesc : LoanBase
  {
    public LoanDesc(decimal balance, int months, DateTime date, KeyValuePair<DateTime, decimal>[] rates)
      : base(balance, months, date, rates)
    {
    }
    protected override void Compute(decimal 

balance, int months, DateTime date, KeyValuePair<DateTime, decimal>[] rates)


    {
      decimal baseAmount = Round(balance / months), monthAmount = 0, totalAmount = 0, totalInterest = 0;
      for (int month = months; month >= 1; month --, date = date.AddMonths(1))
      {
        decimal monthRate = GetMonthRate (date, rates), interest = Round(balance * monthRate);
        monthAmount = baseAmount + interest;
        balance -= baseAmount;
        if (month == 1 && balance != 0)
        {
          baseAmount += balance;
          monthAmount += balance;
          balance = 0;
        }
        totalAmount += monthAmount;
        totalInterest += interest;
        Table.Rows.Add(new object[] { months - month + 1, date, baseAmount, interest, monthAmount, balance, totalAmount, totalInterest });
      }
    }
  }
}

在該類中同樣也覆蓋了基類的 Compute 虛方法,在主循環中逐月計算還款計劃表。

等本金法的月還本金是固定的,并且在調整貸款利率時也不變,等于貸款金額除以總期數。

但是,在貸款利率不變的情況下,每月還款額卻是遞減的,所以也稱為“遞減法”。

月還利息等于上月剩余貸款余額乘以月利率,月還款額等于月還本金加上月還利息。

然后,本月剩余貸款余額等于上月剩余貸款余額減去月還本金。

最后,由于計算時需要進行舍入處理,到最后一期還款后可能剩余的貸款余額不為零,這就 需要在保持月還利息不變的情況下調整月還本金和月還款額。

最后,MainForm.cs 文件中的 MainForm 類如下:

using System;
using System.Data;
using System.Windows.Forms;

namespace Skyiv.Ben.LoanComputer
{
  public sealed partial class MainForm : Form
  {
    Config cfg;

    public MainForm()
    {
      InitializeComponent();
    }

    private void MainForm_Load(object sender, EventArgs e)
    {
      btnCompute.Enabled = false;
      try
      {
        cfg = new Config ("LoanComputer.xml");
        tbxBalance.Text = cfg.Balance.ToString();
        tbxMonths.Text = cfg.Months.ToString ();
        dtpBegin.Value = cfg.Date;
        rbnDesc.Checked = ! (rbnEq.Checked = cfg.IsEq);
        lbxType.DataSource = cfg.Items;
        lbxType.SelectedIndex = lbxType.FindStringExact (cfg.Item);
        btnCompute.Enabled = true;
      }
      catch (Exception ex)
      {
        tbxOut.Text = Pub.GetMessage (ex);
      }
    }

    private void lbxType_SelectedIndexChanged(object sender, EventArgs e)
    {
      cfg.SetRates(lbxType.SelectedValue.ToString());
      dgvRate.Rows.Clear();
      foreach (var kvp in cfg.Rates)
        dgvRate.Rows.Add(new string[] { kvp.Key.ToString("yyyy-MM-dd"), kvp.Value + "%" });
    }

    private void btnCompute_Click(object sender, EventArgs e)
    {
      btnCompute.Enabled = false;
      try
      {
        tbxOut.Text = "";
        var isEq = rbnEq.Checked;
        var date = dtpBegin.Value;
        int months;
        decimal balance;
        if (!int.TryParse (tbxMonths.Text, out months) || months <= 0) throw new Exception("貸款期數必須是 正整數");
        if (!decimal.TryParse (tbxBalance.Text, out balance) || balance <= 0) throw new Exception("貸款金額必 須是正數");
        balance *= 10000; // 貸款 金額單位是萬元
        var loan = isEq ? (new LoanEq(balance, months, date, cfg.Rates) as LoanBase) :
          (new LoanDesc(balance, months, date, cfg.Rates) as LoanBase);
        dgvOut.Rows.Clear ();
        foreach (DataRow row in loan.Table.Rows) dgvOut.Rows.Add(row.ItemArray);
      }
      catch (Exception ex)
      {
        tbxOut.Text = Pub.GetMessage(ex);
      }
      btnCompute.Enabled = true;
    }
  }
}

當用戶改變貸款種類時,調用該類的 lbxType_SelectedIndexChanged 方法來相應改變貸款 利率。

當用戶點擊“計算”按鈕時,就調用該類的 btnCompute_Click 方法來計算還款計劃表。

個人住房貸款計算器以及全部的源程序,可以在這里 下載。

【編輯推薦】

  1. 簡述用 C#實現優先隊列方法
  2. 橫向技 術分析C#、C++和Java優劣
  3. 高手詳 解C#編程中的規則表達式
責任編輯:彭凡 來源: cnblogs
相關推薦

2016-12-02 17:56:15

華為雙活存儲

2019-01-21 08:25:24

房東程序員房租

2009-09-07 13:29:30

C#計算素數序列

2015-08-05 09:30:32

C#下拉式計算器

2011-09-21 10:56:31

C#結構

2009-08-20 18:30:33

C# ReaderWr

2024-01-31 08:33:06

C++編程計算器

2011-09-16 14:13:15

Windows7計算器

2009-08-31 09:37:09

C# Employee

2009-08-12 11:24:25

C# String對象

2009-08-07 11:26:53

C#數組結構

2009-08-19 17:12:18

C# Connecti

2009-08-14 17:58:05

C#接口方法

2009-08-26 15:46:01

C#匿名類型

2009-08-20 10:24:52

C#開發WinForm

2009-09-02 15:41:21

C# HTTPWebR

2009-08-26 13:15:38

C#選擇控制

2009-08-25 16:16:43

C# oledbcon

2009-08-06 15:30:23

C#類型系統

2009-08-26 15:28:52

C#對象集合初始化器
點贊
收藏

51CTO技術棧公眾號

亚洲第一区第一页| 国产精品三级久久久久三级| 97视频免费在线观看| 手机av免费看| 日韩欧乱色一区二区三区在线 | 18av在线播放| av一本久道久久综合久久鬼色| 国产www精品| 放荡的美妇在线播放| 亚洲成在人线免费观看| 欧美高清你懂得| 青青青免费在线| 日本在线观看| 91免费观看国产| 91精品中国老女人| 成年人av网站| 欧美日韩三级| 最新的欧美黄色| 成人一区二区三区仙踪林| 日韩美女在线看免费观看| 亚洲免费在线电影| 视频在线99| 色婷婷中文字幕| 国产剧情一区二区| 国产精品激情av电影在线观看| 国产亚洲精品码| 日韩一区二区三区免费播放| 亚洲精品在线免费播放| 欧美性受xxxxxx黑人xyx性爽| 国产网站在线| 亚洲影视资源网| 一区二区三区欧美在线| 日本免费不卡| 99re热这里只有精品免费视频| 亚洲综合色激情五月| 中文字幕制服诱惑| 老色鬼久久亚洲一区二区| 97精品一区二区视频在线观看| 可以直接看的黄色网址| 欧美电影《睫毛膏》| 亚洲天堂av在线免费观看| 91丝袜在线观看| 日韩中文字幕无砖| 欧美精品三级日韩久久| 亚洲一二三区av| 免费成人直播| 日韩欧美国产视频| 97av视频在线观看| 麻豆免费在线| 精品国产户外野外| 黄色国产一级视频| 国产白丝在线观看| 午夜婷婷国产麻豆精品| 国产乱子伦精品无码专区| 在线观看电影av| 一区二区三区四区高清精品免费观看| 亚洲免费av网| 91极品在线| 亚洲午夜三级在线| www精品久久| rebdb初裸写真在线观看| 性欧美疯狂xxxxbbbb| 久久国产精品网| 黄色软件视频在线观看| 精品女厕一区二区三区| 91精品91久久久中77777老牛| 秋霞伦理一区| 欧洲色大大久久| av网站在线不卡| 精品国产美女a久久9999| 欧美日韩一区二区在线观看视频 | 欧美日韩123区| 91精品福利视频| 一路向西2在线观看| 五月天色综合| 欧美成va人片在线观看| 亚洲天堂资源在线| 国产探花一区| 不卡伊人av在线播放| 免费在线一区二区三区| 亚洲免费高清| 日本一欧美一欧美一亚洲视频| 青青草视频在线观看免费| 麻豆精品一区二区三区| 91gao视频| 日本天堂在线| 亚洲欧洲成人精品av97| 成年女人18级毛片毛片免费| 黄色在线免费观看网站| 欧美日韩另类一区| 久草福利在线观看| 自拍欧美一区| 久久中国妇女中文字幕| 国产精品黄色网| 捆绑调教美女网站视频一区| 成人性色av| 国产亚洲依依| 一区二区三区日韩精品视频| 少妇高潮喷水久久久久久久久久| 2019中文亚洲字幕| 精品视频一区在线视频| 999精品在线视频| 一本久道久久久| 91精品在线观| 国产一级在线观看| 亚洲国产精品天堂| a在线观看免费视频| 久久超级碰碰| 久久视频在线免费观看| 日韩精品人妻中文字幕| 久久国产视频网| 欧美高清视频一区| 色爱综合区网| 欧美日韩午夜影院| 国产夫妻性爱视频| 欧美一区久久| 国产精品综合不卡av| 亚洲欧美综合一区二区| 亚洲靠逼com| 天天操天天爱天天爽| 欧美挤奶吃奶水xxxxx| 久久综合伊人77777蜜臀| 成人在线免费看视频| 国产成人精品免费看| 亚洲一区二区三区色| 暖暖成人免费视频| 日韩成人小视频| 欧美另类视频在线观看| 狠狠色丁香久久婷婷综合_中| 欧美日韩高清在线一区| 高清在线视频不卡| 精品伦理精品一区| 中国一级片在线观看| 欧美aaaaa成人免费观看视频| 久久精品日产第一区二区三区乱码 | 久久久久久久成人| 国产麻豆免费视频| 中文字幕在线观看一区二区| www.色就是色| 国产一区二区三区日韩精品| 9.1国产丝袜在线观看| 丰满人妻一区二区三区四区53| 亚洲免费成人av| 国产永久免费网站| 99久久婷婷| 国产综合香蕉五月婷在线| aaa日本高清在线播放免费观看| 一本久久精品一区二区| 30一40一50老女人毛片| 新狼窝色av性久久久久久| 精品蜜桃传媒| 性感女国产在线| 日韩激情在线视频| 久久精品女人毛片国产| 成人禁用看黄a在线| 欧美午夜小视频| 欧美人与动xxxxz0oz| 欧美一级免费视频| 免费在线稳定资源站| 91福利精品第一导航| 人与嘼交av免费| 麻豆精品在线播放| 超薄肉色丝袜足j调教99| 高清久久精品| 久久99精品视频一区97| 蜜桃久久一区二区三区| 天天影视涩香欲综合网| 一本加勒比北条麻妃| 日本一区中文字幕| 国产精品无码乱伦| 北条麻妃一区二区三区在线| 午夜精品美女自拍福到在线| 涩涩视频在线观看免费| 欧洲亚洲精品在线| 日韩成人毛片视频| 成人久久18免费网站麻豆| 性欧美大战久久久久久久| 亚洲丝袜啪啪| 成人精品福利视频| 激情图片在线观看高清国产| 亚洲精品中文字幕女同| 中文字幕制服诱惑| 亚洲国产一区二区三区 | 亚洲精品推荐| 国产精品一区二区三| 最新av在线播放| 亚洲另类激情图| 亚洲天堂aaa| 亚洲图片一区二区| 日本美女xxx| 国产69精品久久久久毛片| 国产精品亚洲αv天堂无码| 99久久影视| 久久精品日产第一区二区三区乱码| 欧美大片1688网站| 欧美激情国内偷拍| 国产在线91| 精品91自产拍在线观看一区| 国产成人a v| 亚洲国产精品人人做人人爽| 黑人と日本人の交わりビデオ| 成人一区二区在线观看| 天天干天天爽天天射| 亚洲高清网站| 中文字幕中文字幕在线中一区高清 | 图片区小说区亚洲| 亚洲日韩欧美视频| 丰满人妻av一区二区三区| 欧洲精品一区二区三区在线观看| 妺妺窝人体色www在线下载| 中文欧美字幕免费| xxxx黄色片| 国产剧情在线观看一区二区| 五月天亚洲视频| 蜜桃av一区| 国产深夜男女无套内射| 欧美高清一区| 一区二区在线高清视频| 免费av一区| 精品国产乱码久久久久久蜜柚| 大胆国模一区二区三区| 国产精品一区二区三区免费视频 | 日本免费高清一区二区| 精品精品国产毛片在线看| 国产日韩欧美视频| 欧美亚洲大片| 国产精品1234| 筱崎爱全乳无删减在线观看 | 影音先锋成人资源网站| 欧美日韩国产一区二区三区不卡| 九九九九九九精品| 成人黄色av网址| aaa级精品久久久国产片| 国产精品日本一区二区不卡视频| 国产精品美女www| 欧美三级精品| 国产精品女人网站| 99久久久国产精品免费调教网站| 日本乱人伦a精品| 免费观看一级欧美片| 青青久久aⅴ北条麻妃| av资源中文在线天堂| 欧美激情久久久| 女囚岛在线观看| 欧美激情精品久久久久久蜜臀| 宅男网站在线免费观看| 美女福利精品视频| av免费在线观看网站| 欧美成人精品xxx| 18+激情视频在线| 欧美激情网站在线观看| 欧美黄色视屏| 久久久这里只有精品视频| 爱看av在线| 欧美一级在线播放| 成人看片在线观看| 91精品国产综合久久香蕉922| 日韩成人一区| 亚洲一区二区中文| 99re热精品视频| 精品国产一区二区三区免费| 天天做夜夜做人人爱精品 | melody高清在线观看| 中文字幕亚洲欧美日韩2019| 日本美女在线中文版| 久久精品在线视频| 色呦呦在线资源| 欧美性做爰毛片| 欧美男女视频| 懂色av一区二区三区在线播放| 伦理一区二区| 日韩精品久久一区| 久久久久久久久久久9不雅视频 | 先锋影音久久久| 九色porny自拍| 国产白丝精品91爽爽久久| 国产老熟女伦老熟妇露脸| 久久久不卡网国产精品二区 | 亚洲mv大片欧洲mv大片精品| 日本视频在线观看免费| 欧美日韩免费不卡视频一区二区三区| 国产激情无套内精对白视频| 亚洲韩国日本中文字幕| 成在在线免费视频| 久精品免费视频| 欧美精品高清| 国产精品亚洲不卡a| 国产精品一区二区av日韩在线| 干日本少妇视频| 羞羞视频在线观看欧美| 99日在线视频| 91免费国产在线| 一区二区成人免费视频| 欧美午夜丰满在线18影院| 一级视频在线播放| 日韩精品一区二| 成人亚洲性情网站www在线观看| 欧美xxxx综合视频| 桃花岛tv亚洲品质| 国产精品日韩高清| 91影院成人| 日韩久久一级片| 国产精品一卡二卡在线观看| 巨胸大乳www视频免费观看| 亚洲精品免费一二三区| 无码人妻丰满熟妇区五十路| 日韩免费观看高清完整版在线观看| 免费毛片在线| 久久久人成影片一区二区三区观看 | 日韩欧美激情在线| 成人在线观看免费| 91av视频在线免费观看| 欧美片网站免费| 四虎影院一区二区三区| 中文一区二区| 动漫av在线免费观看| 国产精品久久三区| 成人a v视频| 日韩电影第一页| 日本色护士高潮视频在线观看| 国产精品视频区1| 免费av一区| 99热在线这里只有精品| 粉嫩一区二区三区性色av| 午夜剧场免费在线观看| 欧美日韩在线电影| 国产高清美女一级毛片久久| 38少妇精品导航| 国内毛片久久| 国产一区 在线播放| 国产一区二区在线观看免费| 国产7777777| 欧美在线一二三| 高清毛片在线看| 国产精品av在线| 国产一区二区三区日韩精品 | 成人在线视频免费看| 日本视频一区二区不卡| 免费视频一区| 深爱五月激情网| 色婷婷亚洲综合| 国产三级电影在线观看| 国产成人久久久精品一区| 久操精品在线| 国产精品免费成人| 国产三级精品视频| 亚洲av无码乱码国产精品fc2| 亚洲视频免费一区| julia一区二区三区中文字幕| 色大师av一区二区三区| 三级欧美在线一区| 四虎国产精品成人免费入口| 91福利资源站| 免费观看在线午夜影视| 亚洲a区在线视频| 欧美特黄一区| 91玉足脚交白嫩脚丫| 欧美视频中文字幕在线| 精品电影在线| 国产欧美日韩综合精品| 综合视频在线| 亚洲高清无码久久| 欧美性猛交xxxx乱大交3| 国产福利片在线| 成人黄色午夜影院| 欧美日韩亚洲一区| 亚洲av无码国产精品久久| 在线观看视频91| 国产区在线观看| 国产精品午夜av在线| 日韩精品一二三| 99自拍视频在线| 日韩精品一区二区三区老鸭窝| 激情黄产视频在线免费观看| 欧美一区二区视频在线| 国内精品视频666| 一级aaa毛片| 国产一区二区三区视频在线观看| 日韩黄色三级在线观看| 国产精品久久久久久久乖乖| 久久综合九色综合97_久久久| 自拍偷拍色综合| 欧美极品少妇与黑人| 综合干狼人综合首页| 肉色超薄丝袜脚交| 精品女厕一区二区三区| 麻豆传媒在线完整视频| 国产精品一区二区欧美黑人喷潮水 | 欧美另类99xxxxx| 亚洲永久精品唐人导航网址| 成人亚洲免费视频| 色综合久久九月婷婷色综合| 男人天堂久久久| 精品蜜桃传媒| 国产精品自拍网站| 啪啪小视频网站| 国语自产在线不卡| 91亚洲自偷观看高清| 国产精品三级在线观看无码| 日韩一区二区三区免费观看 |