• 结队编程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做图形界面果然麻烦的很。至于结队编程的好处就是遇到问题时可以两人一起上网找资料然后讨论并改进,效率会更高一点,不如一个人来的枯燥乏味!
     
     
     
     
     
  • 相关阅读:
    Spring Boot教程(三十)使用Spring-data-jpa(1)
    Spring Boot教程(二十九)使用JdbcTemplate操作数据库
    Spring Boot教程(二十八)通过JdbcTemplate编写数据访问
    Spring Boot教程(二十七)整合Spring Security
    Spring Boot教程(二十六)使用Spring Security安全控制
    Spring Boot教程(二十五)返回JSON格式
    gl 绘制多边形的函数解析 分类: OpenGL(转)
    OpenGL超级宝典笔记——画三角形(转)
    OpenGL_Qt学习笔记之_03(平面图形的着色和旋转)(转)
    OpenGL超级宝典笔记——贝塞尔曲线和曲面(转)
  • 原文地址:https://www.cnblogs.com/wacmp/p/6550655.html
Copyright © 2020-2023  润新知