zoukankan      html  css  js  c++  java
  • 第二次作业

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

    一 需求分析:

    • 运行界面用户按任意键开始运行,根据提示选择所要实现的计算(加、减、乘、除)
    • 选择相应计算后,程序对应算法随机产生两个数,用户给出答案
    • 用户给出答案,程序进行判断答案是否正确
    • 运行退出时,程序给出计算结果,统计答题正确与错误的个数

    二 设计:

    • rand()%100用来产生0~100以内的随机数,cystem("pause")用于暂停
    • 四个子函数对应相应的加减乘除运算,并判断结果对错
    • switch选择调用运算种类

    三 代码实现

    #include <stdio.h>
    #include <windows.h>
    int right=0,wrong=0;
    void add()
    {
     int a,b,c;
      a=rand()%100;
      b=rand()%100;
     printf("请回答:%d+%d=",a,b);
     scanf("%d",&c);
     if(a+b!=c){printf("回答错误
    ");wrong++;}
     else {printf("回答正确
    ");right++;} 
    }
    void minu()
    {
     int a,b,c;
      a=rand()%100;
      b=rand()%100;
     printf("请回答:%d-%d=",a,b);
     scanf("%d",&c);
     if(a-b!=c){printf("回答错误
    ");wrong++;}
     else {printf("回答正确
    ");right++;} 
    }
    void mul()
    {
     int a,b,c;
      a=rand()%100;
      b=rand()%100;
     printf("请回答:%d*%d=",a,b);
     scanf("%d",&c);
     if(a*b!=c){printf("回答错误
    ");wrong++;}
     else {printf("回答正确
    ");right++;} 
    }
    void di()
    {
     int a,b,c;
      a=rand()%100;
      b=rand()%100;
     printf("请回答:%d/%d=",a,b);
     scanf("%d",&c);
     if(a/b!=c){printf("回答错误
    ");wrong++;}
     else {printf("回答正确
    ");right++;} 
    }
    void main()
    {
       int choise,con=0;
       
       printf("
    
    		四则运算程序
    "); 
       system("pause");
       system("cls");
       while(1)
       {
        printf("
    
    		请选择:
    加(输入1)
    减(输入2)
    乘(输入3)
    除(输入4)
    "); 
        if(con==0)scanf("%d",&choise);
        switch(choise)
        {
         case 1:add();break;
         case 2:minu();break;
         case 3:mul();break;
         case 4:di();break;
     
        }
           printf("请问您想继续进行这个运算还是重新选择其他运算还是退出程序?
    继续(输入1),重新(输入2),退出(输入3)");
        scanf("%d",&con);
        if(con==1)con=1;
        if(con==2)con=0;
        if(con==3)break;
       }
       printf("您总做了%d个题,正确%d的道,错误%d道!
    ",right+wrong,right,wrong);
       system("pause");
       
    } 

    四 测试:(结果截图)

    五 事后分析和总结:

    PSP耗时统计

    PSP 耗时 百分比
    需求分析 10 13%
    设计 20 27%
    代码实现 35 47%
    测试 5 6.5%
    分析和总结 5 6.5%





    分析与总结:
    • 首先必须要了解用户需求--编写一个能自动生成小学四则运算题目的 “软件”
    • 思路要清晰,要有一个对程序设计走向的基本认识
    • 编写程序过程中,有不清楚的地方,善于查阅资料
    • 代码编写个人感觉很难(可能是由于自己编程基础太差),通过上网查阅、借鉴,才勉强完成。
  • 相关阅读:
    iOS UI(布局)约束是什么?view1.attr1 = view2.attr2 * multiplier + constant
    编程范式-声明式编程
    平庸的投资人和优秀的投资人差在哪儿
    编程语言的发展趋势及未来方向
    再读:编程语言的发展趋势及未来方向
    编程语言的发展趋势:声明式动态并发
    命令式编程与声明式编程
    声明式(编程)语言是解释型语言
    DSL-领域特定语言(英语:domain-specific language、DSL)
    声明式编程
  • 原文地址:https://www.cnblogs.com/maorong93/p/4414721.html
Copyright © 2011-2022 走看看