zoukankan      html  css  js  c++  java
  • 第五次作业-结对项目四则运算 “软件”之升级版

    这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2232

    我的的GitHub远程仓库地址为:https://github.com/sheep5250/zy

    一、题目要求

      从个人项目出发,将程序改装成一个单机带用户界面(不是控制台)的程序,这个程序最基本要达到:

      生成题目,单个题目最多不能超过4个运算符,操作数小于100。
      用户可以输入答案
      若用户输入答案正确,则提示正确;若答案错误,则提示错误,并要提示正确答案是多少。
    二、扩展发现

      程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数,如:(1/3+1)*2 = 2.67,特别注意:这里是2.67而非2.66,或保持分数形式:8/3
      可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
      用户答题结束以后,程序可以显示用户答题所用的时间
      用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
      用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名
      程序可以出单个整数阶乘的题目:如:4!=24
      程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。
      程序可以设置皮肤功能,可以改变界面的颜色即可。
    三、详细设计

    开发环境:VC++6.0
    编程语言:c语言
    实现的扩展发现:       
    可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8
    用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数
    程序可以出单个整数阶乘的题目:如:4!=24
    程序可以设置皮肤功能,可以改变界面的颜色即可。
    四、项目的时间规划

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 30(minute) 60(minute)
    · Estimate 估计这个任务需要多少时间 120(minute) 150(minute)
    Development 开发 30(minute) 45(minute)
    · Analysis 需求分析 (包括学习新技术) 30(minute) 20(minute)
    · Design Spec 生成设计文档 10(minute) 10(minute)
    · Design Review 设计复审 4(minute) 6(minute)
    · Coding Standard 代码规范 3(minute) 5(minute)
    · Design 具体设计 10(minute) 12(minute)
    · Coding 具体编码 60(minute) 60(minute)
    · Code Review 代码复审 10(minute) 10(minute)
    · Test 测试(自我测试,修改代码,提交修改) 30(minute) 30(minute)
    Reporting 报告 5(minute) 8(minute)
    · 测试报告 15(minute) 15(minute)
    · 计算工作量 2(minute) 1(minute)
    · 并提出过程改进计划 3(minute) 3(minute)


    五、部分主要代码:

    阶乘的计算:

    int calculate2(int num4){
        int i,B;
        B=1;
        for(i=1;i<=num4;i++){
        B=B*i;
        }
        return B;
    }
    void title1(int n1){
        int num4,a,i,B;
        int rnum=0;
        float z=0.0;
        int b;
        printf("		请输入阶乘数的最大值:");
        scanf("%d",&a);
        for(i=0;i<n1;i++){
            srand(time(NULL));
            num4=rand()%a+1;
            B=calculate2(num4);
            printf("		%d!=",num4);
            scanf("%d",&b);
            if(b==B){
                printf("		回答正确
    ");
                rnum++;
              }
            else{
                printf("		回答错误,正确答案为:%d
    ",B);
            }
    
        }
        z=(float)rnum/(float)n1*100;
        printf("		本次答题数目为%d,准确率为%.2f%!
    ",n1,z);
    
    
    }

    背景颜色的改变

        printf("		请输入你想显示的颜色:(1-蓝色、2-绿色、3-湖蓝色、4-红色):");
                    scanf("%d",&i);
                    switch(i){
                    case 1:
                        system("color 1f"); 
                        break;
                    case 2:
                        system("color 2f");
                        break;
                    case 3:
                        system("color 3f");
                        break;
                    case 4:
                        system("color 4f");
                        break;

     负数括号的实现:

           if(num2<0){
                   if(num3<0){
                        printf("		%d%c(%d)%c(%d)=",num1,op1,num2,op2,num3);
                   }
                   else
                        printf("		%d%c(%d)%c%d=",num1,op1,num2,op2,num3);
               }
               else if(num3<0){
                        printf("		%d%c%d%c(%d)=",num1,op1,num2,op2,num3);
               }
               else{
                        printf("		%d%c%d%c%d=",num1,op1,num2,op2,num3);
               }

    六、项目截图

     

    七、结对对象:

    姓名:彭煜彬

    他的博客地址:https://www.cnblogs.com/pybblog/

     

    八、总结

    在刚开始做实验时,由于没与结对子对象沟通交流好,导致了一些没必要的麻烦,好在及时沟通,这个项目也能够完成了!

  • 相关阅读:
    【动态规划】CDOJ1651 Uestc的命运之旅
    【动态规划】【二分】CDOJ1006 最长上升子序列
    【动态规划】CDOJ1271 Search gold
    【概率dp】【滚动数组】CDOJ1652 都市大飙车
    【混合背包】CDOJ1606 难喝的饮料
    【状压dp】CDOJ1608 暑假集训
    【构造】CDOJ1607 大学生足球联赛
    【二分】Codeforces Round #417 (Div. 2) C. Sagheer and Nubian Market
    【动态规划】Codeforces Round #417 (Div. 2) B. Sagheer, the Hausmeister
    HBase简介
  • 原文地址:https://www.cnblogs.com/zy5250/p/9870263.html
Copyright © 2011-2022 走看看