zoukankan      html  css  js  c++  java
  • 第三次作业(毛涛和徐明艳)

      第三次作业

    题目:

    请编写一个能自动生成小学四则运算题目的“软件”。让程序能接受用户输入答案,并判定对错。最后给出总共对/错的数量。

    需求分析:
          1、 该软件是针对学生有限的计算能力,计算效率,计算精确度而制作的软件;
      2、 该软件可以进行简单的四则运算并进行判断;

    扩展功能:

      1、 程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数。
      2、 可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。

    设计:
      根据四则运算法则本“软件”在设计上使用C语言实现,在VC++6.0运行。

    代码实现:

           1、采用模块化设计思想,修改之前的code,将 “计算功能” 封装起来.

           2、在C语言环境下,将函数声明与具体实现分别存放在头文件(.h)和源文件(.c)中;

    头文件(.h)代码:  

    #include <stdio.h>

    #include <stdlib.h>

    #include <time.h>

    void jia();

    void jian();

    void cheng();

    void chu();

    源文件(.cpp)代码:

    // my.cpp : Defines the entry point for the console application.

    //

    //#include <iostream>

    //#include "stdafx.h"

    #include "01.h"

    int wrong=0,right=0;

    int main(int argc, char* argv[])

    {

                       int x,y=0;

                       srand(time(NULL));

                       while(1) {

                                printf("请选择: 加法运算(输入1) 减法运算(输入2) 乘法运算(输入3) 除法运算(输入4) ");

                                if(y==0)

                                         scanf("%d",&x);

                                switch(x) {

                                         case 1:jia();break;

                                         case 2:jian();break;

                                         case 3:cheng();break;

                                         case 4:chu();break;

                                }

                                printf(" 重新选择(输入1),退出运算(输入2)");

                                scanf("%d",&y);

                                if(y==1)y=0;

                                if(y==2)break;

                       }

                       printf("做对%d道题,做错%d道题! ",right,wrong);

             return 0;

    }

    void jia()

    {

             int a,b,c;

             a=rand()%100;

             b=rand()%100;

             printf("请输入你的运算结果:%d+%d=",a,b);

             scanf("%d",&c);

             if(a+b==c){

                       printf("结果正确 ");

                       right++;

             }

             else {

                       printf("结果错误 ");

                       wrong++;

             }

    }

    void jian(){

    int a,b,c;

    a=rand()%100;

    b=rand()%100;

    printf("请输入你的运算结果:%d-%d=",a,b);

    scanf("%d",&c);

    if(a-b==c){

    printf("结果正确 ");

    right++;

    }

    else {

    printf("结果错误 ");

    wrong++;

    }

    }

    void cheng(){

             int a,b,c;

             a=rand()%100;

             b=rand()%100;

             printf("请输入你的运算结果:%d*%d=",a,b);

             scanf("%d",&c);

             if(a*b==c){

                       printf("结果正确 ");

                       right++;

             }

             else {

                       printf("结果错误 ");

                       wrong++;

             }

    }

    void chu(){

             int a,b;

             double c;

             a=rand()%100;

             b=rand()%100+1;

             printf("请输入你的运算结果:%d/%d=",a,b);

             scanf("%lf",&c);

             double d = (int((a / (b * 1.0)) * 100 + 0.5))/100.0;

             printf("d = %lf", d);

             if(d==c){

                       printf("结果正确 ");

                       right++;

             }

             else {

                       printf("结果错误 ");

                       wrong++;

             }

    }

    运行效果:

                             

    两人合作步骤:

       1、需求分析,建立在第二次作业的基础上进行加工与完善;

       2、在代码规范设计方面,我们根据老师的要求修改了我们的原代码,并符合 “代码风格和设计规范”的基本要求,采用模块化的思想,我们将函数封装起来,将函数声明存放在头文件(.h),具体实现存放在源文件(.cpp)中;

       PSP:

    PSP

    Personal Software

    Process Stages

    Time(%)

    Senior

    Student

    Time(%)

    SDE

    Planning

    计划

    6

    0.25

    Analysis

    需求分析

    6

    0.10

    Dsign Spec

    生成设计文档

    3

    0.30

    Dsign Review

    设计复审

    4

    0.25

    Coding Standard

    代码规范

    3

    0.1

    总结:

          通过这次作业,我们发现要想设计出一个好的软件真的非常困难。该软件不仅要实现各种运算,并且该程序可以出带括号的正整数四则运算,支持分数,除法保留两位小数。
    可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号;统计出运算对错的数目。虽然勉强完成了这次作业,但我们知道里面一定还有很多不足之处,望各位老师指出,我们也会继续更正。谢谢!!

  • 相关阅读:
    vue学习
    BBS登录注册技术点归纳
    BBS项目模态框的使用
    django后台管理系统
    java 之 jsp简介
    http 之 CORS简介
    web 之 session
    linux 之学习路线
    Ubuntu 之 win10更新ubuntu启动项消失
    Web 之 Cookie
  • 原文地址:https://www.cnblogs.com/ldlmt1689/p/4445822.html
Copyright © 2011-2022 走看看