青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

帶括號浮點型計算器final

課程設計一:                                                                               計算器

 

                                            選題難以級別:A

 

1.1 程序目的

實現計算器的功能。用戶根據程序的提示,輸入數字,選擇要進行的計算,可以進行加、減、乘、除運算,簡單的四則運算及其測試,開平方,華氏溫度與攝氏溫度之間的相互轉換等運算。

 

1.2 程序內容

(1)           完善計算器程序,改為可對實數操作。

(2)           完善程序,改為多個操作數基本四則運算,遇到0為止。

(3)           增加函數,完成四則混合運算,注意算法要考慮運算符的優先級,增加相應的主菜單選項。

(4)           添加語句,使四則運算具有測試功能。使四則運算具有測試功能,即計算機能夠自動出題,并要求用戶計算的對錯打分,要求十題為一個單元,加減運算時最高為兩位數運算,乘法為兩位數乘一位數,除法是兩位數或三位數除一位數,且要求沒有余數。

(5)           可擴充其功能。

1.3 源代碼

//Copyright by abilitytao
//All right not reserved!!
#include <process.h>
#include 
<iostream.h>
#include 
<conio.h>
#include 
<stdlib.h>
#include 
<math.h>
#include 
<stack>//添加的頭文件,用于進行后綴表達式計算操作;
#include <cstring>//添加的頭文件,用于字符串處理;
#include <ctype.h>//添加的頭文件,僅僅為了使用isdigit函數;
using namespace std;

struct formula
{
    
char numordigit[100];
};



///////////////////////////////////////////////////////////////////////////////////
int formulalen;
char temp[1000];
formula 
in[1000];
formula pos[
1000];
double number1,number2,answer,val;
///////////////////////////////////////////////////////////////////////////////////
class oopcalc 
{
    
public:
    
void calcadd();    
    
void calcsub();
    
void calcdiv();
    
void calcmult();
    
void calcfartocel();
    
void calcceltofar();
    
void calcsroot();
    
void calcmixed();//添加函數,用于混合四則運算;
    void test();//添加函數,用于測試;
    void exitprog();
    
void menu();
    
void badinput();
    
private:
    
double add(double x, double y);
    
double sub(double x, double y);
    
double div(double x, double y);
    
double mult(double x, double y);
    
double fartocel(double x);
    
double celtofar(double x);
    
double sqroot(double x);
    
void intoin();//添加函數,用于將中綴表達式放入結構體數組,從而實現數字與運算符的分離;
    void intopos();//添加函數,用于將中綴表達式轉化成后綴表達式;
    double calculate();//添加函數,用于計算后綴表達式;
    };
    
void oopcalc::calcadd()
    {
    cout 
<< "The Add Function\n";
    cout 
<< "First number: ";
    cin 
>> number1;
    cout 
<< "Second number: ";
    cin 
>> number2;
    answer 
= add(number1,number2);
    cout 
<< number1 << " + " << number2 << " = " << answer << endl;
    cout 
<<"===============================================================================\n";
    cerr
<< "Press any key to continue\n";
    getch();
    menu();
    }
    
void oopcalc::calcsub()
    {
        cout 
<< "The Subtract Function\n";
        cout 
<< "First number: ";
        cin 
>> number1;
        cout 
<< "Second number: ";
        cin 
>> number2;
        answer 
= sub(number1,number2);
        cout 
<< number1 << " - " << number2 << " = " << answer << endl;
        cout 
<<"===============================================================================\n";
        cerr 
<< "Press any key to continue\n";
        getch();
        menu();
    }
    
void oopcalc::calcdiv()
    {
    cout 
<< "The Divide Function\n";
    cout 
<< "First number: ";
    cin 
>> number1;
    cout 
<< "Second number: ";
    cin 
>> number2;
    answer 
= div(number1,number2);
    cout 
<< number1 << " / " << number2 << " = " << answer << endl;
    cout 
<<"===============================================================================\n";
    cerr 
<< "Press any key to continue\n";
    getch();
    menu();
    }
    
void oopcalc::calcmult()
    {
    cout 
<< "The Multiply Function\n";
    cout 
<< "First number: ";
    cin 
>> number1;
    cout 
<< "Second number: ";
    cin 
>> number2;
    answer 
= mult(number1,number2);
    cout 
<< number1 << " x " << number2 << " = " << answer << endl;
    cout 
<<"===============================================================================\n";
    cerr 
<< "Press any key to continue\n";
    getch();
    menu();
    }
    
void oopcalc::calcfartocel()
    {
    cout 
<< "The Farenheit to Celsius Function\n";
    cout 
<< "Enter a tempature in Farenheit: ";
    cin 
>> number1;
    answer 
= fartocel(number1);
    cout 
<< "The tempature in Celsius is " << answer << endl;
    cout 
<<"===============================================================================\n";
    cerr 
<< "Press any key to continue\n";
    getch();
    menu();
    }
    
void oopcalc::calcceltofar()
    {
    cout 
<< "The Celsius to Farenheit Function\n";
    cout 
<< "Enter a tempature in Celsius: ";
    cin 
>> number1;
    answer 
= celtofar(number1);
    cout 
<< "The tempature in Farenheit is " << answer << endl;
    cout 
<<"===============================================================================\n";
    cerr 
<< "Press any key to continue\n";
    getch();
    menu();
    }
    
void oopcalc::calcsroot()
        {
        cout 
<< "The Square Root Function\n";
        cout 
<< "First number: ";
        cin 
>> number1;
        answer 
= sqroot(number1);
        cout 
<< "The square root of " << number1 << " is " << answer << endl;
        cout 
<<"===============================================================================\n";
        cerr 
<< "Press any key to continue\n";
        getch();
        menu();
        }
    
void oopcalc::calcmixed()
        {
        cout
<<"Please Input The Formula(You Can Use The '(' And ')'As Well)\n";
        intoin();
        intopos();
        
int i;
        
for(i=0;i<formulalen;i++)
            cout
<<in[i].numordigit;
        cout
<<'='<<calculate()<<endl;
        cout 
<<"===============================================================================\n";
        cerr 
<< "Press any key to continue\n";
        getch();
        menu();
        }
    
void oopcalc::test() //添加內容   簡單四則運算的測試
    {
    cout
<<"簡單四則運算的測試\n:" ;
    
int i,a,b,c,e,g,h,m,sum=0 ;
    
for(i=0;i<10;i++)
    { 
        a
=rand()%100 ;  //應用的函數rand()產生所需的隨機數
        b=rand()%100 ;
        c
=rand()%10 ;
        g
=a*c;  //先使g=a*c,然后在case'3'中g/c以獲得沒有余數的除法
        m=rand()%4 ;
        
switch((int)m)
        {
        
case 0 :
            cout
<<a<<'+'<<b<<'=' ; 
            e
=a+b ;
            
break ;
        
case 1 : 
            cout
<<a<<'-'<<b<<'=' ;
            e
=a-b ;
            
break ;    
        
case 2 :
            cout
<<a<<'*'<<c<<'=' ;
            e
=a*c ;
            
break ;
        
case 3 :
            cout
<<g<<'/'<<c<<'=' ;
            e
=g/c ;
            
break ;
        } 
        cin
>>h ; 
        
if(h==e) 
        { 
            cout
<<"正確,得十分!\n" ; 
            sum
+=10 ;
        } 
        
else cout<<"不正確,不得分!\n" ; 
    } 
    cerr
<<"十題中,答對:"<<sum/10<<""<<'\t'<<"得分:"<<sum<<'\n' ;
    cerr
<<"Press any key to continue\n" ; 
    getch();   
    menu();
    }
    
void oopcalc::exitprog()
    {
    exit(
-1);
    }
    
void oopcalc::menu()
    {
    
int input;
    oopcalc a;
    system(
"cls"); //執行系統命令:cls-清屏
    cerr <<"=======================================MENU====================================\n";
    cerr 
<<"            *            1: Add two numbers                      *            \n";
    cerr 
<<"            *            2: Subtract two numbers                 *            \n";
    cerr 
<<"            *            3: Divide two numbers                   *            \n";
    cerr 
<<"            *            4: Multiply two numbers                 *            \n";
    cerr 
<<"            *            5: Convert Farenheit to Celsius         *            \n";
    cerr 
<<"            *            6: Convert Celsius to Farenheit         *            \n";
    cerr 
<<"            *            7: Find the square root of a number     *            \n";
    cerr 
<<"            *            8: Complex Caculation('+','-','*','/')  *            \n"
    cerr 
<<"            *            9: Test For You                         *            \n";
    cerr 
<<"            *            0: Exit this program                    *              ";
    cerr 
<<"===============================================================================\n";
    cerr 
<<"Choice:";
    cin 
>> input;
    cout 
<<"===============================================================================\n";

    
    
switch (input)
    {
    
case 1: a.calcadd();
    
break;
    
case 2:    a.calcsub();
    
break;
    
case 3:    a.calcdiv();
    
break;
    
case 4:    a.calcmult();
    
break;
    
case 5:    a.calcfartocel();
    
break;
    
case 6:    a.calcceltofar();
    
break;
    
case 7:    a.calcsroot();
    
break;
    
case 8:    a.calcmixed();
    
break;
    
case 9:    a.test();
    
break;
    
case 0:    a.exitprog();
    
break;
    
default:a.badinput();
    }
}
void oopcalc::badinput()
{    
    cout 
<< "BAD INPUT!\n";
    cout 
<< "Press any key to continue\n";
    getch();
    menu();
}
double oopcalc::add(double x, double y)
{
    val 
= x + y;
    
return val;
}
double oopcalc::sub(double x, double y)
{
    val 
= x - y;
    
return val;
}
double oopcalc::div(double x, double y)
{
    val 
= x / y;
    
return val;
}
double oopcalc::mult(double x, double y)
{
    val 
= x * y;
    
return val;
}
double oopcalc::fartocel(double x)
{
    
double cel = ((x - 32* 5/ 9;
    
return cel;
}
double oopcalc::celtofar(double x)
{
    
double f;
    f 
= x * 9 / 5 + 32;
    
return f;
}
double oopcalc::sqroot(double x)
{
    
double g = sqrt(x);
    
return g;
}
void oopcalc::intoin()
{
    formulalen
=0;
    
int templen;
    
int temlen;
    
char tem[100];

    cin
>>temp;
    templen
=strlen(temp);
    
int i;
    
int j;
    j
=0;
    
for(i=0;i<templen;i+=temlen)
    {
        
if(isdigit(temp[i]))
        {
            sscanf(
&temp[i],"%[^-^+^*^/^(^)]",tem);
            temlen
=strlen(tem);
            strcpy(
in[j].numordigit,tem);
            formulalen
++;
            j
++;
        }
        
else
        {
            temlen
=1;
            
in[j].numordigit[0]=temp[i];
            
in[j].numordigit[1]='\0';
            formulalen
++;
            j
++;
        }
    }
}




void oopcalc::intopos()//這是用于將中綴表達式轉化成后綴表達式的函數
{
    
/////////////////'(' ')''+''-''*''/''=' 
    static int isp[7]=0,19,12,12,13,13,0};//為了編程方便,標記出各運算符的優先級;
    static int icp[7]={20,19,12,12,13,13,0};//同上;
    int precedence_sta;
    
int precedence_token;

    stack
<formula>sta;
    
int i;
    
int j;
    
char token[100];
    formula start;
    strcpy(start.numordigit,
"\0");
    sta.push(start);
    j
=0;
    
for(i=0;i<formulalen;i++)
    {
        
        strcpy(token,
in[i].numordigit);
        
if(strcmp(token,"\0")==0)
            
break;
        
if(isdigit(token[0]))
        {
            strcpy(pos[j].numordigit,token);
            j
++;
        }
        
else if(strcmp(token,")")==0)
        {
            
while(strcmp(sta.top().numordigit ,"(")!=0)
            {
                strcpy(pos[j].numordigit,sta.top().numordigit);
                j
++;
                sta.pop();
            }
            sta.pop();
        }
        
else
        {
                
if(strcmp(sta.top().numordigit,"(")==0)
                    precedence_sta
=0;
                
if(strcmp(sta.top().numordigit,")")==0)
                    precedence_sta
=19;
                
if(strcmp(sta.top().numordigit,"+")==0)
                    precedence_sta
=12;
                
if(strcmp(sta.top().numordigit,"-")==0)
                    precedence_sta
=12;
                
if(strcmp(sta.top().numordigit,"*")==0)
                    precedence_sta
=13;
                
if(strcmp(sta.top().numordigit,"/")==0)
                    precedence_sta
=13;
                
if(strcmp(sta.top().numordigit,"\0")==0)
                    precedence_sta
=0;
                
if(strcmp(token,"(")==0)
                    precedence_token
=20;
                
if(strcmp(token,")")==0)
                    precedence_token
=19;
                
if(strcmp(token,"+")==0)
                    precedence_token
=12;
                
if(strcmp(token,"-")==0)
                    precedence_token
=12;
                
if(strcmp(token,"*")==0)
                    precedence_token
=13;
                
if(strcmp(token,"/")==0)
                    precedence_token
=13;
                
if(strcmp(token,"\0")==0)
                    precedence_token
=0;
            
while(precedence_sta>=precedence_token)
            {
                    pos[j]
=sta.top();
                    j
++;
                    sta.pop();
                
if(strcmp(sta.top().numordigit,"(")==0)
                    precedence_sta
=0;
                
if(strcmp(sta.top().numordigit,")")==0)
                    precedence_sta
=19;
                
if(strcmp(sta.top().numordigit,"+")==0)
                    precedence_sta
=12;
                
if(strcmp(sta.top().numordigit,"-")==0)
                    precedence_sta
=12;
                
if(strcmp(sta.top().numordigit,"*")==0)
                    precedence_sta
=13;
                
if(strcmp(sta.top().numordigit,"/")==0)
                    precedence_sta
=13;
                
if(strcmp(sta.top().numordigit,"\0")==0)
                    precedence_sta
=0;
                
if(strcmp(token,"(")==0)
                    precedence_token
=20;
                
if(strcmp(token,")")==0)
                    precedence_token
=19;
                
if(strcmp(token,"+")==0)
                    precedence_token
=12;
                
if(strcmp(token,"-")==0)
                    precedence_token
=12;
                
if(strcmp(token,"*")==0)
                    precedence_token
=13;
                
if(strcmp(token,"/")==0)
                    precedence_token
=13;
                
if(strcmp(token,"\0")==0)
                    precedence_token
=0;
            }
            strcpy(start.numordigit,token);
            
                sta.push(start);
        }
    }
    
while(strcpy(token,sta.top().numordigit))

    {
        
if(strcmp(token,"\0")==0)
            
break;
        pos[j]
=sta.top();
        j
++;
        sta.pop();
    }
    strcpy(pos[j].numordigit,
"\0");

}


double oopcalc::calculate()//這是用于后綴表達式計算的函數
{
    stack
<double>sta;
    
char token[100];
    
double result;
    
double op1;
    
double op2;
    
int i;
    
double tem;
    

    
for(i=0;i<=formulalen;i++)
    {

        strcpy(token,pos[i].numordigit);
        
if(strcmp(token,"\0")==0)
            
break;
        
if(isdigit(token[0]))
        {
            sscanf(token,
"%lf",&tem);
            sta.push(tem);
        }
        
else
        {
            op2
=sta.top();
            sta.pop();
            op1
=sta.top();
            sta.pop();
            
if(strcmp(token,"+")==0)
                sta.push(op1
+op2);
                
            
else if(strcmp(token,"-")==0)
                sta.push(op1
-op2);
                
            
else if(strcmp(token,"*")==0)
                sta.push(op1
*op2);
                
            
else if(strcmp(token,"/")==0)
                sta.push(op1
/op2);
            
            
        }
    }
    result
=sta.top();
    sta.pop();
    
return result;
}







////////////////////////////////////////////////
/////////////////以下是主程序///////////////////
void main()
{
    oopcalc s;
    s.menu();
}

1.4小結:

     必須承認,C++課程設計并沒有想像中的那么簡單。在上個學期的c++的學習中,我們主要研究的是面向過程的程序設計,而這次的課程設計卻需要我們用類來完成整個程序。所以,在設計過程中也遇到了不少的麻煩,盡管如此,我還是收益頗豐。

    首先,我學會了面向對象程序設計的基本思想,并了解到許多面向對象程序設計的優點,讓我的編程能力有了一個新的突破。比如說,類封裝的特性讓一個類成為一個獨立的個體,使所有的函數都封裝在其中,這對于程序員對整個程序的理解有非常大的幫助。在大型程序的設計過程中,如過還是使用以往C語言的設計風格,會使得整個程序變得極為冗長,難懂,會給給修改及維護程序帶來諸多不便。而面向對象的設計理念則妥善的解決了這一問題。

    其次,這次課程設計也讓我見到并掌握了許多以前未曾見到過的c++程序功能,很多即使在ACM集訓隊里也未曾見過的頭文件,如<process.h>,<ctype.h>,<conio.h>等等,使我進一步了解到c++底層的強大功能。這著實令人驚嘆!

    再次,通過這次課程設計,我掌握了許多算法,如深度優先搜索和廣度優先搜索,quicksort,堆排序,樹結構的便歷,等等。

    我想,這次的課程設計使我收益良多。在今后的時間里,我會繼續不斷的,深入的去研究c++的算法,數據結構,以及數論,圖論和組合數學里的有關知識,爭取成為南理工計算機專業的優秀畢業生。       



posted on 2009-02-19 01:12 abilitytao 閱讀(2151) 評論(3)  編輯 收藏 引用

評論

# re: 帶括號浮點型計算器final 2009-02-19 09:11 飯中淹

不用爭取了,你已經是了.  回復  更多評論   

# re: 帶括號浮點型計算器final 2009-02-19 09:31 xxxxx

<process.h>, <conio.h> 是系統相關的函數, ACM主要是考慮算法.

我覺得你應該拆分為兩個類, 一個是計算類, 各函數接受輸入并計算結果, 這個類完全不應該有IO操作, 一個是界面類進行輸入輸出. 界面類包含這計算類.

界面和邏輯分離是基本的設計原則, 這樣你修改輸入輸出界面(比如你以后會寫個GUI的界面)的時侯不用重寫邏輯功能.  回復  更多評論   

# re: 帶括號浮點型計算器final 2009-02-19 11:46 羅偉濤

@xxxxx
哦 原來如此 謝謝呵O(∩_∩)O~  回復  更多評論   

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美视频在线免费看| 亚洲在线黄色| 欧美欧美午夜aⅴ在线观看| 91久久午夜| 一本色道久久综合亚洲二区三区| 欧美激情在线| 亚洲一级高清| 可以看av的网站久久看| 亚洲精品乱码久久久久久黑人 | 欧美精品国产精品日韩精品| 国产精品久久久久久久久久三级| 欧美网站在线| 亚洲欧美综合另类中字| 国产丝袜一区二区| 欧美日韩免费看| 最新国产の精品合集bt伙计| 亚洲伊人网站| 国产精品一二三四区| 久久久久一区二区三区四区| 久久成人精品| 一区二区三区久久精品| 亚洲在线中文字幕| 亚洲成人资源网| 日韩午夜精品| 黄色成人av在线| 亚洲人成人99网站| 国产日韩三区| 亚洲另类黄色| 狠狠入ady亚洲精品| 亚洲精品一二| 在线日韩一区二区| 日韩午夜av电影| 激情婷婷久久| 亚洲一二三区在线| 在线视频亚洲一区| 久久综合国产精品台湾中文娱乐网| 夜夜狂射影院欧美极品| 久久国产手机看片| 亚洲欧美日韩国产成人| 免费中文字幕日韩欧美| 欧美在线综合| 欧美日韩一区二区免费在线观看 | 国产日韩一区二区三区| 欧美激情第二页| 国产日产欧产精品推荐色 | 国产精品一区免费视频| 亚洲电影免费在线| 国产真实精品久久二三区| 99香蕉国产精品偷在线观看| 狠狠色丁香久久婷婷综合_中| 99国产麻豆精品| 亚洲精品美女免费| 久久免费精品视频| 久久这里有精品15一区二区三区| 国产精品乱码久久久久久| 日韩视频一区二区在线观看 | 亚洲一区视频在线观看视频| 亚洲精品美女久久久久| 另类专区欧美制服同性| 久久婷婷成人综合色| 国产精品综合色区在线观看| 一区二区三区国产| 亚洲一区二区三区在线播放| 欧美激情乱人伦| 蜜桃久久av一区| 国产一区久久| 99精品国产在热久久下载| 国产精品久久一级| 亚洲一区二区三区乱码aⅴ| 亚洲最黄网站| 免费久久99精品国产自在现线| 欧美一区二区黄| 欧美美女喷水视频| 亚洲高清在线观看| 亚洲黄色三级| 欧美在线视频一区| 老司机精品视频一区二区三区| 国产精品区一区二区三| 中文亚洲字幕| 亚洲一区久久久| 国产精品久久久一区二区三区| 欧美mv日韩mv国产网站app| 激情综合网址| 久久蜜桃av一区精品变态类天堂| 亚洲欧美区自拍先锋| 欧美视频二区| 在线性视频日韩欧美| 中国日韩欧美久久久久久久久| 欧美电影专区| 亚洲三级视频| 中文在线资源观看网站视频免费不卡 | 亚洲欧美日韩视频一区| 国产精品每日更新| 欧美伊人精品成人久久综合97| 欧美一级淫片aaaaaaa视频| 国产精品久久久久9999吃药| 99精品国产一区二区青青牛奶| 在线视频亚洲欧美| 国产精品免费看久久久香蕉| 这里只有精品视频| 欧美中文字幕视频| 一区二区视频在线观看| 久久久久99| 亚洲三级网站| 亚洲欧美美女| 尤物在线观看一区| 欧美精品久久久久久久| 日韩视频一区二区在线观看 | 欧美午夜精品久久久久免费视| 99视频在线观看一区三区| 性8sex亚洲区入口| 亚洲第一网站| 欧美日韩一区二| 欧美在线视频网站| 亚洲看片一区| 久久aⅴ乱码一区二区三区| 在线免费不卡视频| 欧美日韩精品在线播放| 欧美在线播放一区| 亚洲国产三级在线| 欧美在线观看日本一区| 国产亚洲激情| 女人香蕉久久**毛片精品| 亚洲国产精品嫩草影院| 亚洲精品国产日韩| 国产区在线观看成人精品| 欧美国产精品va在线观看| 亚洲三级免费| 欧美激情第9页| 久久久午夜视频| 一区二区高清在线| 精品av久久707| 国产精品久久久久7777婷婷| 久久综合激情| 亚洲卡通欧美制服中文| 最新中文字幕一区二区三区| 久久精品国产77777蜜臀| 一区二区三区 在线观看视| 国内一区二区三区| 国产精品久久久久久久午夜| 免费在线观看成人av| 久久精品国产精品亚洲| 日韩亚洲欧美精品| 欧美大片一区| 久久中文字幕导航| 久久av老司机精品网站导航| 99精品福利视频| 黑人极品videos精品欧美裸| 国产精品久久福利| 欧美午夜一区| 欧美视频网站| 欧美天天视频| 欧美日韩国产探花| 欧美mv日韩mv国产网站| 久久综合给合| 久久全球大尺度高清视频| 欧美一区二区三区视频在线| 亚洲一区二区三区免费在线观看| 亚洲精品一区二区三区99| 久热这里只精品99re8久| 欧美激情一区二区三区全黄| 欧美成人dvd在线视频| 免费在线亚洲| 女女同性精品视频| 欧美国产国产综合| 欧美国产日韩一区二区| 老司机免费视频一区二区三区| 男人的天堂亚洲| 欧美国产日韩免费| 亚洲精品国久久99热| 亚洲美女精品一区| 一区二区三区欧美亚洲| 亚洲美女精品久久| 91久久一区二区| 欧美高清视频一区二区三区在线观看| 免费看黄裸体一级大秀欧美| 欧美bbbxxxxx| 亚洲精品1区| 一本色道久久综合亚洲91| 亚洲欧美成aⅴ人在线观看| 欧美一站二站| 美女视频黄免费的久久| 欧美另类变人与禽xxxxx| 欧美精品自拍| 国产精品视频精品| 国产伦精品一区二区三区免费迷 | 欧美精品 国产精品| 欧美裸体一区二区三区| 国产精品久久777777毛茸茸| 国产午夜精品一区二区三区欧美 | 亚洲欧美999| 欧美r片在线| 国产精品裸体一区二区三区| 国产精品久久二区| 亚洲精品四区| 欧美制服第一页| 亚洲国产精品视频一区| 亚洲欧美另类在线| 欧美+日本+国产+在线a∨观看| 欧美精品一区二区三区久久久竹菊|