軟件工程第二次做業——四則運算結對編程3.0版本(最終版本)

姓名:楊然 學號:1500802102
博客園地址:https://home.cnblogs.com/u/yang-r/
隨文地址:http://www.cnblogs.com/yang-r/p/6837459.html
姓名:馬柯宇 學號:1500802096
博客園地址:http://www.cnblogs.com/mkyz/
隨文地址:http://www.cnblogs.com/mkyz/p/6837701.html
coding代碼地址:
https://coding.net/u/Apiciallover/p/sizeyunsuan-A/git/tree/master/html

  • 界面:

  • 整數計算功能(加減乘除):


整數計算功能代碼:
z=true;git

for(int p=0;p<100;p++)
    str[p]=_T("");
for(int p=0;p<100;p++)
{
  int i=(int)rand()%10;
  int j=(int)rand()%9+1;
  int k=(int)rand()%100/25;
  CString str0("");
  switch(k)
  {
    case 0:
      a[p]=i+j;
      str0+=_T("+");
      break;
    case 1:
      a[p]=i-j;
      str0+=_T("-");
      break;
    case 2:
      a[p]=i*j;
       str0+=_T("*");
      break;
    case 3:
      try
      {
        a[p]=i/j;
         str0+=_T("/");
      }
      catch(...)
     {
        p--;
     }

  }        
  
 CString stri((char)(i+48));
 CString strj((char)(j+48));
 str[p]+=stri+=str0+=strj;
  • 真分數計算功能(加減乘除):


真分數計算功能代碼:編程

for(int p=0;p<100;p++)
str2[p]=_T("");
for(int p=0;p<100;p++)
{
int i=(int)rand()%10;
int j=(int)rand()%10;
CString strk1("/");
CString strk2("");
CString strk3("/");
CString strk4("(");
CString strk5(")");
while(j==0||i>=j)
{
i=(int)rand()%10;
j=(int)rand()%10;
}
int x=(int)rand()%10;
int y=(int)rand()%10;
while(y==0||x>=y)
{
x=(int)rand()%10;
y=(int)rand()%10;
}
int k=(int)rand()%100/25;
switch(k)
{
case 0:學習

strk2+=_T(")+(");
        
            b[p][0]=i*y+x*j;
            b[p][1]=j*y;
            break;
        case 1:
        
            strk2+=_T(")-(");
            
            b[p][0]=i*y-x*j;
            b[p][1]=j*y;
            break;
        case 2:
          
            strk2+=_T(")*(");
        
            b[p][0]=i*x;
            b[p][1]=j*y;
            break;
        case 3:
            b[p][0]=i*y;
            b[p][1]=j*x;
         
            strk2+=_T(")/(");
        
        }
        
      CString stri((char)(i+48));
 CString strj((char)(j+48));
 CString strx((char)(x+48));
 CString stry((char)(y+48));
 str2[p]+=strk4+=stri+=strk1+=strj+=strk2+=strx+=strk3+=stry+=strk5;
 
}
  • 清屏:

清屏代碼:.net

CString str("0");
    GetDlgItem(IDC_STATIC)->SetWindowText(str);
    GetDlgItem(DAAN)->SetWindowText(str);
    GetDlgItem(sdfgsdgs)->SetWindowText(str);
    GetDlgItem(truejieguo)->SetWindowText(str);
    GetDlgItem(shijian)->SetWindowText(str);
  • 約分功能:

約分功能代碼:3d

int mm=2;
if(b[n-1][0]>b[n-1][1])
{ mm=b[n-1][1];
}
else
mm=b[n-1][0];
for(int i=2;i<=mm||i<=(-mm);i++)
{if(b[n-1][1]%i==0&&b[n-1][0]%i==0)
{
b[n-1][0]=b[n-1][0]/i;
b[n-1][1]=b[n-1][1]/i;
i--;
}
}code

  • 判斷對錯功能:

orm

htm

代碼:(判斷對錯和統計出題數以及正確題數)blog

UpdateData(TRUE);

CString strm[100],strn[100];
strm[n].Format(_T("%d"),n);
if(z)
{
    GetDlgItem(shumu)->SetWindowText(strm[n]);
    int i = _ttoi(o);
    if(i==a[n-1])
    {
        GetDlgItem(sdfgsdgs)->SetWindowText(_T("回答正確"));
         x=x+1;
     strn[n].Format(_T("%d"),x);
   GetDlgItem(zhengque)->SetWindowText(strn[n]);

    }
    else
    {
        GetDlgItem(sdfgsdgs)->SetWindowText(_T("回答錯誤"));
         strn[n].Format(_T("%d"),x);
  GetDlgItem(zhengque)->SetWindowText(strn[n]);
    
    }
}


else
{
    GetDlgItem(shumu)->SetWindowText(strm[n]);
    int x1,y1;
    CString z1;
    CString m1;
    int i=0;
    while(o.GetAt(i)!='/'&& o.GetAt(i)!='\0')
    {
        z1+=o.GetAt(i);
        i++;
    }
    if(o.GetAt(i)=='\0'||o.GetAt(i+1)=='\0')
    {
        GetDlgItem(IDC_EDIT5)->SetWindowText(_T("請從新輸入"));
    }
    else
    {
        x1=_ttoi(z1);
        i++;
        while(o.GetAt(i)!='\0')
        {
            m1+=o.GetAt(i);
            i++;
        }
        y1=_ttoi(m1);
        if(x1==b[n-1][0]&&y1==b[n-1][1])
        {
            GetDlgItem(sdfgsdgs)->SetWindowText(_T("回答正確"));
              x=x+1;
     strn[n].Format(_T("%d"),x);
     GetDlgItem(zhengque)->SetWindowText(strn[n]);
        }
        else
        {
            GetDlgItem(sdfgsdgs)->SetWindowText(_T("回答錯誤"));
            strn[n].Format(_T("%d"),x);
  GetDlgItem(zhengque)->SetWindowText(strn[n]);


        }
    }


}
  • 統計用戶練習題數目以及正確數量:

  • 倒計時:
    (每一個題目必須在20秒內完成,若完不成則自動出下一題並得0分記計算錯誤。)
    倒計時代碼:

    void CsizeyunsuanDlg::OnBnClickedButton7()
    {

    SetTimer(1,1000,NULL);

}
void CsizeyunsuanDlg::OnTimer(UINT nIDEvent)
{
i--;
strt[i].Format(_T("%d"),i);
CString strt(strt[i]);
GetDlgItem(shijian)->SetWindowText(strt);
if(i==0)
{i=20;
OnBnClickedButton5();
}

}


輸出正確結果代碼:

CString strz;//輸出正確結果
CString strz1;
CString strz2;
if(z)
{
    
    strz.Format(_T("%d"),a[n-1]);
     GetDlgItem(truejieguo)->SetWindowText(strz);
}
else
{
    strz1.Format(_T("%d"),b[n-1][0]);
    strz1+=_T("/");
    strz2.Format(_T("%d"),b[n-1][1]);
    strz+=strz1+=strz2;
     GetDlgItem(truejieguo)->SetWindowText(strz);
}
  • 結對編程照片

  • 心得體會 經過此次結對編程咱們互相學習到了不少,對於同一個問題有不一樣的思路和看法,使得咱們的總體的思路拓寬。並且結對編程最大的好處是輪換充當監督者,這樣在打代碼的過程當中可以更加快速的發現錯誤並及時改正。會常常出現意見不一樣的時候,須要兩我的協商着來,統一意見而後作出修改。
相關文章
相關標籤/搜索