zoukankan      html  css  js  c++  java
  • 四则运算3

                                              四则运算3

    设计思路:

           关于这次实验,我们延续上次的思想,将很多内容封装到函数里,包括:“选择打印方式”、“判断输入的01菜单是否正确”、“生成某一个范围内的随机数”、“生成随机的分数”、“生成一个运算符”、“判断整数的正负并取相反数”、“把int类型装换为string类型”、以及“含有括号的运算”、“含有真分数的运算”和“不含真分数的运算”等等。运行程序时用户先选择相关的参数定制:题目个数、数值范围、是否打印到文件里、是否含有括号、加减或者四则运算等等。

    部分函数的思路和功能:

    1、  生成一个随机运算符:

          根据从主函数读取到的用户的选择:是否包含乘除运算来随机生成0-3四个数字分别代表+-*/四则运算,并将其作为函数的返回值。单独列出这个函数的目的是防止出现像上次的程序一样分析switch语句的四种情况时代码冗余而导致思维混乱。

    2、  把int类型转换为string:

          经过我们查阅资料,决定使用:#include<stdio.h>类库中的str=itoa(shu, zhuan, 10)函数来将生成的随机整数保存成string字符串的形式。

    编写此函数是因为,所有的算式都是用string字符串存的,方便输出和查重,因此每一个操作符都要转换成string才能直接插到算式中。

    3、  生成某一个范围内的真分数:

          通过判断分子小于分母(真分数)、分子分母没有公约数(最简分式)产生那个数:分子和分母的值,再通过随机生成正负号来决定分数值的正负,最后将符号、分子、分数线和分母写到一个string类型里,并将分数形式和分数的值返回。

    4、  查重:

          查重的函数上次的实验中有一些问题,因为是使用int类型的二维数组存的因此不能查关于真分数的重复,而这次采用string类型数组的方法,将所有的算式依次存到string类型的数组中,然后逐个比较新生成的算式与其是否相等。如果相等就舍掉相应的式子,并且计数的值-1。

    5、  关于含有真分数和不含有真分数的计算:

          就是调用以上各个函数,再根据用户选择的是否含有负数、除法有无余数等等进行选择和判断,但是要将结果保存下来,便于判断是否回答正确。

    6、   含有括号的计算:

          我们打算用“递归”的思想先随机生成一个二元运算的式子,当然这里的操作数和运算符都是随机生成的,然后用double类型变量记录算式的值,然后随机生成加不加括号、并且下一个运算符是加在前面还是后面。然后将生成的式子再作为二元运算的操作数,直到随机生成的是不加括号,则输出式子。

    7、  主函数:

         本次实验最大的差异就是要用户计算结果、系统判断是否回答正确并记录正确的题目数。一次我们的函数中只是返回一个算式和算式的值,在主函数中循环N次,每一次输出就让用户输入,并判断是否正确。算式是用string类型存放,算式的值用double类型存放,如果答案是整数,直接让用户输入一个整数;如果答案是小数,先输入int型分子,再输入分母,并强制转换double计算结果。判断对错时,设定一个精度(10的负7次方),如果用户的输入在此范围内则认定正确。

    代码:

      1 //二柱子四则运算3,2016/3/14,赵子茵&孔宇航
      2 
      3 #include<iostream>
      4 #include<time.h>
      5 #include<stdlib.h>
      6 #include<stdio.h>
      7 #include<string>
      8 #include<fstream>
      9 #include<iomanip>
     10 #include<cmath> 
     11 #define random(x) (rand()%x)
     12 using namespace std;
     13 
     14 /*选择打印方式*/
     15 void Output(int sf)
     16 {
     17     if (sf == 1)//保存文档
     18     {
     19         ofstream outfile("formula.txt", ios::out);
     20         if (!outfile)
     21         {
     22             cout << "Open error!!" << endl;
     23             exit(1);
     24         }
     25         outfile << "----------------欢迎!小学生四则运算答题系统:-D----------------" << endl;
     26         outfile.close();
     27     }
     28 }
     29 
     30 /*判断输入0.1的是否输入正确*/
     31 int Istrue_input(int mnu01)
     32 {
     33     while (1)
     34     {
     35         if (mnu01 != 0 && mnu01 != 1)
     36         {
     37             cout << "输入有误,请重新输入(请输入0或1):" << endl;
     38             cin >> mnu01;
     39         }
     40         else
     41             break;
     42     }
     43     return mnu01;
     44 }
     45 
     46 /*生成一个某范围内的随机数(正负都有)*/
     47 int Creat_random(int r1, int r2)
     48 {
     49     int r, shu;
     50     /*srand((int)time(0));*/
     51     r = r2 - r1;
     52     shu = r1 + rand() % r;
     53     return shu;
     54 }
     55 
     56 /*生成一个随机运算符*/
     57 string Create_oper(int lai)
     58 {
     59     srand((int)time(0));
     60     string sign;
     61     int Num_sym, Sign_num;
     62     if (lai == 0)//加减
     63         Num_sym = 2;
     64     else if (lai == 1)//加减乘除
     65         Num_sym = 4;
     66     Sign_num = rand() % Num_sym;//生成随机的数字代表运算符
     67     switch (Sign_num)
     68     {
     69     case(0) : sign = '+'; break;
     70     case(1) : sign = '-'; break;
     71     case(2) : sign = '*'; break;
     72     case(3) : sign = '/'; break;
     73     }
     74     return sign;
     75 }
     76 
     77 /*判断整数正负并取相反数*/
     78 int Opp_zf(int a)
     79 {
     80     if (a < 0)
     81         a = -a;
     82     return a;
     83 }
     84 
     85 /*把int类型转换为string类型*/
     86 string Int_str(int shu)
     87 {
     88     char zhuan[100];
     89     string str,zuo="(",you=")";
     90     str=itoa(shu, zhuan, 10);
     91     if (shu < 0)
     92         str = zuo + str + you;
     93     return str;
     94 }
     95 
     96 /*生成一个(某范围)真分数*/
     97 void Creat_fen(int r1, int r2, string &fenshu, double &zhi)
     98 {
     99     /*srand((int)time(0));*/
    100     int i, r = r2 - r1, up, down, s;
    101     bool flag;
    102     string xian = "/", fu = "-", zuo = "(", you = ")";
    103     /*char zhuan1[10], zhuan2[10];*/
    104     string zhuan1, zhuan2;
    105 loop:do
    106     {
    107          flag = false;//不能定义全局变量!!
    108          up = r1 + rand() % r;
    109          up = Opp_zf(up);
    110          down = r1 + rand() % r;
    111          down = Opp_zf(down);
    112     } while ((up >= down) || (down == 0) || (up == 0));//分子≥分母 or 分母=0 or 分子=0 重新生成
    113     
    114     for (i = 2; i <= up; i++)
    115     {
    116         /*if ((i == -1)|| (i == 0))
    117         continue;*/
    118         if (up%i == 0 && down%i == 0)
    119         {
    120             flag = true;//有公约数    
    121             break;
    122         }
    123     }
    124     if (flag == true)
    125     {
    126         goto loop;
    127     }
    128     else
    129     {
    130         zhi = (double)up / (double)down;
    131         //itoa(up, zhuan1, 10);//分子转换成string类型
    132         //itoa(down, zhuan2, 10);//分母转换成string类型
    133         zhuan1 = Int_str(up);//up/down都是正数不会再加一层括号
    134         zhuan2 = Int_str(down);
    135         s = rand() % 2;
    136         switch (s)
    137         {
    138             //正分数
    139             case(0) : 
    140                 fenshu = zuo + zhuan1 + xian + zhuan2 + you; 
    141                 break;
    142             //负分数
    143             case(1) : 
    144                 fenshu = zuo + fu + zhuan1 + xian + zhuan2 + you;
    145                 zhi = -zhi;
    146                 break;
    147         }
    148     }
    149     //return fenshu;
    150 }
    151 
    152 ///*查重*/
    153 //bool Is_rept(string str1, string str2)
    154 //{
    155 //    if (str1 == str2)
    156 //        return true;//重复
    157 //    return false;//不重复
    158 //}
    159 
    160 /*含有括号*/
    161 void Have_kuohao(int r1, int r2, string &formula,double &zhi)
    162 {
    163     srand((int)time(0));
    164     int op,op1, op2;
    165     int yn, qh;//代表“是否加括号”和“运算符在前后”的数字
    166     string symbol1,symbol2;
    167     string zhuan,zhuan1, zhuan2;
    168     string jia = "+", jian = "-", cheng = "*", chu = "/",zuo="(",you=")";
    169 
    170     zhi = (double)Creat_random(r1, r2);
    171     op1 = Creat_random(r1, r2);
    172     op2 = Creat_random(r1, r2);
    173     op = Creat_random(r1, r2);//假设op2做分母不能为0
    174     while (1)
    175     {
    176         if (op == 0)
    177             op = Creat_random(r1, r2);
    178         else
    179             break;
    180     }
    181     zhuan1 = Int_str(zhi);
    182     zhuan2 = Int_str(op);
    183     symbol1 = Create_oper(1);
    184 
    185     if (symbol1 == "+")
    186     {
    187         zhi = (double)op1 + (double)op2;
    188         formula = zhuan1 + jia + zhuan2;
    189         yn = rand() % 2;
    190         switch (yn)
    191         {
    192             //外面不加括号
    193             case(0) : break;
    194             //外面加括号
    195             case(1) :
    196             {
    197                         formula = zuo + formula + you;
    198                         qh = rand() % 2;
    199                         symbol2 = Create_oper(1);
    200                         switch (qh)
    201                         {
    202                             //加到前面
    203                             case(0) :
    204                            {
    205                                     formula = symbol2 + formula;
    206                                     op = Creat_random(r1, r2);
    207                                     zhuan = Int_str(op);
    208                                     if (symbol2 == "+")
    209                                     {
    210                                         zhi = (double)op + zhi;
    211                                         formula = zhuan + jia + formula;
    212                                     }
    213                                     else if (symbol2 == "-")
    214                                     {
    215                                         zhi = (double)op - zhi;
    216                                         formula = zhuan + jian + formula;
    217                                     }
    218                                     else if (symbol2 == "*")
    219                                     {
    220                                         zhi = (double)op * zhi;
    221                                         formula = zhuan + cheng + formula;
    222                                     }
    223                                     else if (symbol2 == "/")
    224                                     {
    225                                         if (zhi == 0)//防止出现随机生成的除号后面的值为0;
    226                                             break;
    227                                         else
    228                                         {
    229                                             zhi = (double)op / zhi;
    230                                             formula = zhuan + chu + formula;
    231                                         }    
    232                                     }
    233                                     break;
    234 
    235                              }
    236                              //加到后面
    237                             case(1) :
    238                             {
    239                                     formula = formula + symbol2;
    240                                     op = Creat_random(r1, r2);//防止后面随机产生除号,分母为0
    241                                     while (1)
    242                                     {
    243                                         if (op == 0)
    244                                             op = Creat_random(r1, r2);
    245                                         else
    246                                             break;
    247                                     }
    248                                     zhuan = Int_str(op);
    249                                     if (symbol2 == "+")
    250                                     {
    251                                         zhi = zhi + (double)op;
    252                                         formula = formula + jia + zhuan;
    253                                     }
    254                                     else if (symbol2 == "-")
    255                                     {
    256                                         zhi = zhi - (double)op;
    257                                         formula = formula + jian + zhuan;
    258                                     }
    259                                     else if (symbol2 == "*")
    260                                     {
    261                                         zhi = zhi * (double)op;
    262                                         formula = formula + cheng + zhuan;
    263                                     }
    264                                     else if (symbol2 == "/")
    265                                     {
    266                                         zhi = zhi / (double)op;
    267                                         formula = formula + chu + zhuan;
    268                                     }
    269                                     break;
    270                               }
    271 
    272                         }
    273                         break;
    274             }
    275                 
    276                 
    277         }
    278         
    279         
    280     }
    281     else if (symbol1 == "-")
    282     {
    283         zhi = (double)op1 - (double)op2;
    284         formula = zhuan1 + jian + zhuan2;
    285     }
    286     else if (symbol1 == "*")
    287     {
    288         zhi = (double)op1 * (double)op2;
    289         formula = zhuan1 + cheng + zhuan2;
    290     }
    291     else if (symbol1 == "/")
    292     {
    293         zhi = (double)op1 / (double)op2;
    294         formula = zhuan1 + chu + zhuan2;
    295     }
    296 
    297         
    298     
    299     
    300 
    301 }
    302 
    303 /*含有真分数*/
    304 void Have_fenshu(int LL, int r1, int r2, string &formula, double &zhi, int jj)
    305 {
    306     srand((int)time(0));
    307     string F1, F2, symbol, zhuan;
    308     double Z1, Z2;//
    309     int inter, type;
    310     inter = Creat_random(r1, r2);//整数
    311     zhuan = Int_str(inter);
    312     Creat_fen(r1, r2, F1, Z1);//分数1
    313     Creat_fen(r1, r2, F2, Z2);//分数2
    314     symbol = Create_oper(LL);//符号
    315     type = rand() % 3;//类型
    316 
    317     if (jj == 0)//加减没有负数
    318     {
    319         inter = Opp_zf(inter);
    320         zhuan = Int_str(inter);
    321         while (1)
    322         {
    323             if (Z1 <0)
    324                 Creat_fen(r1, r2, F1, Z1);
    325             else
    326                 break;
    327         }
    328         while (1)
    329         {
    330             if (Z2 <0)
    331                 Creat_fen(r1, r2, F2, Z2);
    332             else
    333                 break;
    334         }
    335     }
    336 
    337     switch (type)
    338     {
    339         //op1分数
    340     case(0) :
    341         formula = F1 + symbol + zhuan;
    342         if (symbol == "+")
    343             zhi = Z1 + (double)inter;
    344         else if (symbol == "-")
    345         {
    346             if (jj == 0)
    347                 break;
    348             else
    349                 zhi = Z1 - (double)inter;
    350         }
    351         else if (symbol == "*")
    352             zhi = Z1 * (double)inter;
    353         else if (symbol == "/")
    354         {
    355             if (inter != 0)
    356                 break;
    357             else
    358                 zhi = Z1 / (double)inter;
    359         }
    360         break;
    361         //op2分数
    362     case(1) :
    363         formula = zhuan + symbol + F1;
    364         if (symbol == "+")
    365             zhi = (double)inter + Z1;
    366         else if (symbol == "-")
    367             zhi = (double)inter - Z1;
    368         else if (symbol == "*")
    369             zhi = (double)inter * Z1;
    370         else if (symbol == "/")
    371         {
    372             if (Z1 != 0)
    373                 zhi = (double)inter / Z1;
    374             else
    375                 break;
    376         }
    377         break;
    378         //全分数  
    379     case(2) :
    380         formula = F1 + symbol + F2;
    381         if (symbol == "+")
    382             zhi = Z1 + Z2;
    383         else if (symbol == "-")
    384         {
    385             if ((jj == 0) && (Z1 < Z2))
    386                 break;
    387             else
    388                 zhi = Z1 - Z2;
    389         }
    390         else if (symbol == "*")
    391             zhi = Z1 * Z2;
    392         else if (symbol == "/")
    393         {
    394             if (Z1 != 0)
    395                 zhi = Z1 / Z2;
    396             else
    397                 break;
    398         }
    399         break;
    400     }
    401 
    402 }
    403 
    404 /*不含有真分数*/
    405 void Only_integer(int LL, int r1, int r2, string &formula, double &zhi,int jj,int cc)
    406 {
    407     srand((int)time(0));
    408     int op1, op2;
    409     string symbol,zhuan1,zhuan2;
    410     op1 = Creat_random(r1, r2);//整数1
    411     op2 = Creat_random(r1, r2);//整数2
    412     symbol = Create_oper(LL);//符号
    413 
    414     if (jj == 0)//加减不含负号
    415     {
    416         op1 = Opp_zf(op1);
    417         op2 = Opp_zf(op2);
    418         if ((symbol == "-") && (op1 < op2))
    419         {
    420             int temp;
    421             temp = op1;
    422             op1 = op2;
    423             op2 = temp;
    424         }
    425     }
    426 
    427     if ((cc == 0) && (symbol == "/"))//除法不含余数(去除负号计算的情况)
    428     {
    429         while (1)
    430         {
    431             op1 = Opp_zf(op1);
    432             op2 = Opp_zf(op2);
    433             if (op1 % op2 != 0)//有余数,重新生成
    434             {
    435                 op1 = Creat_random(r1, r2);
    436                 op2 = Creat_random(r1, r2);
    437             }
    438             else
    439                 break;
    440         }
    441     }
    442 
    443     zhuan1 = Int_str(op1);
    444     zhuan2 = Int_str(op2);
    445     formula = zhuan1 + symbol + zhuan2;
    446     if (symbol == "+")
    447         zhi = op1 + op2;
    448     else if (symbol == "-")
    449         zhi = op1 - op2;
    450     else if (symbol == "*")
    451         zhi = op1*op2;
    452     else if (symbol == "/")
    453         zhi = op1 / op2;
    454 }
    455 
    456 void main()
    457 {
    458     ofstream outfile("formula.txt", ios::out);
    459     if (!outfile)
    460     {
    461         cout << "open error!" << endl;
    462         exit(1);
    463     }
    464     outfile << "----------------欢迎!小学生四则运算答题系统:-D----------------" << endl;
    465 
    466     int i,j,N, R1, R2;
    467     int SF, KH, FS, Lei,JJ,CC,count=0;
    468     string question="";//生成的问题
    469     double Zhi, answer;
    470     int fenzi, fenmu;
    471     bool repeat = false;
    472     
    473     cout << "----------------欢迎!小学生四则运算答题系统:-D----------------"<<endl;
    474     /*选择题目范围和数量*/
    475     cout << "您想为孩子定制什么范围的题目呢?(可含有负数 && 上限≥下限):" << endl;
    476     cout << "下限:";
    477     cin >> R1;
    478     cout << "上限:";
    479     cin >> R2;
    480     while (1)//是否输入合法
    481     {
    482         if (R2 < R1)
    483         {
    484             cout << "输入的范围不合理,请重新输入(上限≥下限):" << endl;
    485             cout << "下限:";
    486             cin >> R1;
    487             cout << "上限:";
    488             cin >> R2;
    489         }
    490         else
    491             break;
    492     }
    493 
    494     cout << "订制多少道题呢?请输入个数:" << endl;
    495     cout << "(友情提示:您不要为孩子出太多的题目(最多1000道)!谢谢合作!)" << endl;
    496     cin >> N;
    497     while (1)//是否输入合法
    498     {
    499         if (N<=0||N>1000)
    500         {
    501             cout << "输入的题目数量不合理,请重新输入:" << endl;
    502             cin >> N;
    503         }
    504         else
    505             break;
    506     }
    507 
    508     /*选择打印方式*/
    509     cout << "您是否需要保存文档?(0、不需要 1、需要)" << endl;
    510     cin >> SF;
    511     SF=Istrue_input(SF);//是否输入合法
    512     Output(SF);
    513 
    514     cout << "*********下面请按照孩子的学习程度选择题目的难度!!*********"<<endl;
    515     /*是否含有括号*/
    516     cout << "是否练习带有括号的难度运算?(0、不需要 1、需要)";
    517     cin >> KH;
    518     KH=Istrue_input(KH);//是否输入合法
    519     if (KH == 1)//含括号
    520     {
    521         for (i = 1; i <= N; i++)
    522         {
    523             string Formula = "";
    524             double Zhi;
    525             Have_kuohao(R1, R2,Formula,Zhi);  
    526         }
    527         
    528 
    529     }
    530 
    531     //不含括号
    532     else if (KH == 0)
    533     {
    534         /*加减运算或者四则运算*/
    535         cout << "请选择:0、只进行加减运算? 1、进行四则运算?";
    536         cin >> Lei;
    537         Lei=Istrue_input(Lei);//是否输入合法
    538 
    539         cout << "加减运算中是否有负数?(0、没有 1、有)";
    540         cin >> JJ;
    541         JJ = Istrue_input(JJ);
    542     
    543         if (Lei == 1)//乘除
    544         {
    545             cout << "除法中是否出现余数?(0、没有 1、有)";
    546             cin >> CC;
    547             CC = Istrue_input(CC);
    548         }
    549 
    550         /*是否含有真分数*/
    551         cout << "题目中是否含有真分数?(0、不需要 1、需要)";
    552         cin >> FS;
    553         Istrue_input(FS);//是否输入合法
    554 
    555         cout << N << "道题目如下:" << endl;
    556         if (SF == 1)//文件输出
    557         {
    558             outfile << N << "道题目如下:" << endl;
    559         }
    560         string ku[10000] = {};
    561         
    562         for (i = 1; i <= N; i++)
    563         {
    564             if (FS == 0)//全整数
    565                 Only_integer(Lei, R1, R2, question, Zhi, JJ, CC);
    566             else if (FS == 1)//含真分数
    567                 Have_fenshu(Lei, R1, R2, question, Zhi, JJ);
    568 
    569             ku[i] = question;
    570             /*repeat = false;*/
    571             for (j = 0; j <i; j++)
    572             {
    573                 if (ku[j] == ku[i])
    574                 {
    575                     i = i - 1;
    576                     repeat = true;//重复
    577                     break;
    578                 }
    579             }
    580             /*if (repeat) ku[i+1] = "";*/
    581             if (!repeat)//不重复
    582             {
    583                 /*Is_rept(i,str);*/
    584                 cout << i << "" << question << " = " << endl;
    585                 if (SF == 1)//文件输出
    586                 {
    587                     outfile << i << "" << question << " = " << Zhi << endl;
    588                 }
    589 
    590                 if ((Zhi - (int)Zhi)< 1E-7 && (Zhi - (int)Zhi)> -(1E-7))//可认为它是整数
    591                 {
    592                     cin >> answer;
    593                 }
    594                 else
    595                 {
    596                     cout << "    分子:";
    597                     cin >> fenzi;
    598                     cout << "    分母:";
    599                     cin >> fenmu;
    600                     answer = (double)fenzi / (double)fenmu;
    601                 }
    602                 
    603                 if ((answer - Zhi) < 1E-7 && (answer - Zhi) > -(1E-7))
    604                 {
    605                     cout << "" << endl;
    606                     count++;
    607                 }
    608                 else
    609                 {
    610                     cout << "                        ×" << endl;
    611                     cout << "答案是:" << Zhi << endl;
    612                 }
    613             }
    614         }
    615         
    616         cout << "您的孩子一共答对了" << count << "道题目!! 恭喜!!" << endl;
    617         if (SF == 1)//文件输出
    618         {
    619             outfile << "您的孩子一共答对了" << count << "道题目!! 恭喜!!" << endl;
    620         }
    621         cout << "答错的" << N - count << "道题目请分析原因并改正~~  加油!!" << endl;
    622         if (SF == 1)//文件输出
    623         {
    624             outfile << "答错的" << N - count << "道题目请分析原因并改正~~  加油!!" << endl;
    625         }
    626     }
    627     outfile.close();
    628 
    629 }

    截图:

    测试一:

         

    测试二:

       

    总结与反思:

       在本次程序中,遇到了很多问题,虽然现在的程序还算完整但是有些功能是没有实现的,就是括号的部分,只保留了函数没有具体作用。对于括号的部分,我们讨论了很久也参考了别人的程序,但是总有各种各样的问题,一个解决又出来一个,就比如括号随机生成后一些不符合情况的排除,括号的计算问题,最后虽然有了思路但是还没有实现。我们的编程能力还是很弱的,对于没有实现的功能感到很惭愧,代码中还存在其他各种各样的小问题需要改进,望老师谅解。其实对于两个考研的孩子来说把所有空闲时间都拿来写这个程序还是蛮拼的哦,哈哈,希望课程考研两不耽误,不然真是亏大了。

    工作照:

    结对合作伙伴——赵子茵博客内容页链接:http://www.cnblogs.com/2016helen/p/5296378.html

    项目计划日志

    项目计划总结

    周活动总结表

    姓名:孔宇航                                              日期:2016/3/19

    任务

    日期

    听课

    编写

    程序

    阅读

    课本

    准备

    考试

    日总计

    (分钟)

    周日

    周一

    100

    120

    60

    280

    周二

    120

    30

    150

    周三

    300

    60

    360

    周四

    100

    120

    90

    310

    周五

    300

    30

    330

    周六

    720

    720

    阶段时间和效率

    周数:1

    总计

    200

    1680

    270

    2160

    平均

    30

    240

    40

    310

    最大

    100

    720

    90

    910

    最小

    100

    120

    30

    250

    2,时间记录日志:

    学生:孔宇航                                   日期:2016/3/19

    老师:王建民                                    课程:PSP

    日期

    开始时间

    结束时间

    中断时间

    净时间

    活动

    备注

    3/14

    14:00

    16:00

    20

    100

    上课

    17:00

    19:00

    60

    编程

    20:00

    21:00

    60

    读课本

    3/15

    14:00

    16:00

    120

    编程

    18:00

    19:00

    60

    查资料

    21:00

    21:30

    30

    读课本

    3/16

    10:00

    12:00

    20

    100

    查资料

    15:00

    20:00

    300

    编程

    20:30

    21:30

    60

    读课本

    3/17

    14:00

    16:00

    20

    100

    上课

    16:00

    18:00

    120

    编程

    21:00

    21:30

    30

    30

    读课本

    3/18

    08:00

    13:30

    15:00

    9:00

    15:00

    20:00

    60

    90

    300

    查资料

    休息

    编程

    3/18

    08:00

    13:30

    19:00

    12:00

    18:30

    21:00

    240

    300

    180

    编程

    编程

    编程

    3,缺陷记录日志:

    学生:孔宇航                                       日期:2016/3/19

    老师:王建民 

    日期

    编号

    类型

    引入阶段

    排除阶段

    修复阶段

    修复缺陷

    3/16

    1

     

    设计

    编码

    15min

     知识漏洞

    描述:设计函数的结构和变量时有知识点掌握的不牢固,比如地址传递参数的使用等等。

    3/18

     

     

     

     

    2

     

    编码

    编译

    20min

     知识漏洞

    描述:想要随机生成两个或多个不同的随机数作为运算的操作数,但是使用种子的代码有误导致每次生成的不随机或者比率不合理。

    3

     

    编码

    编译

    15min

     逻辑错误

    描述:do…while循环语句的循环条件和结束条件写错了,导致程序一直是朝着相反的方向去。

    3/19

    4

    编码

    编译

    30min

    知识漏洞

    描述:计算结果会出现小数因此要以double形式存放,就要将操作数的int类型进项转换,以及后面涉及到的int类型转换为string编写时都出现了知识掌握不全面的问题。

    5

    编码

    编译

    30min

    逻辑错误

    描述:编写查重函数时候因为内层循环和外层循环的i,j问题,导致程序不能有效的查重。

                                                                    

  • 相关阅读:
    Jqgrid 属性描述
    Log4Net 配置独立文件
    jqgrid中 colModel
    jqgrid jsonReader
    sql 分割字符串
    网页默认浏览器以IE那个版本查看
    objectc基础:property,assign,copy,retain,release
    Sending 'ccColor4B' (aka 'struct_ccColor4B') to parameter of incompatible type 'CIColor *'
    CCAnimate 和 CCAnimation
    什么时候用removeUnusedSpriteFrames和removeUnusedTextures
  • 原文地址:https://www.cnblogs.com/kongyuhang/p/5295894.html
Copyright © 2011-2022 走看看