• 结队编程1-四则运算(107、120)


     [码市链接]https://git.coding.net/Luojiening/Teamwork1.git

    a.需求分析

    将这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。

    1.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算;

    2.有计时功能,能显示用户开始答题后的消耗时间;

    3.界面支持中文简体/中文繁体/英语,用户可以选择一种。

    b.功能设计

    1.生成自定义数目算术题。

    2.支持整数和分数的加减乘除。

    3.输入答案后判断对错,错误后写出正确答案。

    4.记录用户的对错总数,并且在以前的基础上进行增量计算

    5.中英文切换。

    6.计时功能



    思维导图:

    c.代码展示

    程序中判断正误的代码如下
    ```
    char* Submit(char result[],char * answer)
    {
    static char prompt[20];    
    FILE * in;
    FILE * out;
    
    in=fopen("number.txt","r");
    fscanf(in,"%d,%d",&right,&wrong);
    fclose(in);
    
    if(strcmp(answer,result)==0)
    {    
    strcpy(prompt,"正确!");
    right++;
    }
    else
    {    
    strcpy(prompt,"错误!  ");
    strcat(prompt,"正确答案是:");
    strcat(prompt,result);
    wrong++;
    }
    
    out=fopen("number.txt","w");
    fprintf(out,"%d,%d",right,wrong);
    fclose(out);
    
    return prompt;
    }

    计时功能的代码如下:

    ```
    void chinese::OnButton() 
    {
        // TODO: Add your control notification handler code here
        UpdateData();
        m_Show1=Draw();
        start=clock();
        UpdateData(false);
    }
    
    void chinese::OnButton_Submit() 
    {
        // TODO: Add your control notification handler code here
        finish= clock();
        duration =(double)(finish-start)/CLOCKS_PER_SEC;
        sprintf(temp,"%g",duration);
        m_Show3=temp;
        UpdateData(false);
    }
    
    ```
    通过按钮选择语言的代码(主界面到中文界面)
    ```
    void CTeamworkDlg::OnChinese() 
    {
        // TODO: Add your control notification handler code here
        chinese chinese;
        CTeamworkDlg::OnOK();
        chinese.DoModal();
        
    }
    
    ```

     d.程序运行截图

     

     
     

     psp:

    PSP2.1 Personal Software Process Stages Time (%) Senior Student(/hour) Time (%)(/hour)
    · Planning 计划 2.5 2
    · Estimate 估计这个任务需要多少时间 40 54
    · Analysis 需求分析 (包括学习新技术) 3 3
    · Coding Standard 代码规范 1 2
    · Design 具体设计 2 3
    · Coding 具体编码 32 44
    · Test 测试(自我测试,修改代码,提交修改) 1 1
    Reporting 报告 1 1

    e.实验小结

     对于这次的实验,首先得承认一点,自己很“躺”(就是抱到大腿的意思),本来我想用java来改写自己上次的代码,但是写出了一个基本的图形界面后其他的功能就很难进行,然后为了响应“结队编程”的号召,我就向队友杰宁学习,他是用vc++里的MFC来做图形界面的,不得不说用mfc做图形界面果然麻烦的很。至于结队编程的好处就是遇到问题时可以两人一起上网找资料然后讨论并改进,效率会更高一点,不如一个人来的枯燥乏味!
     
     
     
     
     
  • 相关阅读:
    判断回溯法中的标记数组vis在回溯的时候是否要取消标记?
    Linux多线程开发I
    答题小程序开发
    答题活动小程序
    今天来谈谈答题小程序的上下游生态
    挑战答题小程序V2.0
    可以免费出题的答题小程序
    挑战答题小程序上线了
    通过小程序反编译来谈谈小程序的分包加载机制?
    本文介绍下答题小程序V6.0
  • 原文地址:https://www.cnblogs.com/wacmp/p/6550655.html
Copyright © 2020-2023  润新知