zoukankan      html  css  js  c++  java
  • 2016学年第一学期软件工程第二次作业

    这是本学期第二次作业,属于个人练习项目。

    题目:编写一个能对0--10之间的整数进行四则运算的“软件”
          程序能接收用户输入的整数答案,并判断对错
          程序结束时,统计出答对、答错的题目数量。
    补充说明:0——10的整数是随机生成的
              用户可以用键盘输入来选择四则运算中的一种,比如输入1代表加法运算
              用户用键盘输入一个字符来结束程序的运行并显示统计结果,比如输入e程序结束并显示统计结果
              编程语言不限制,命令行输出和图像界面输出都可以。
    
    要求:要有需求分析,具体设计思路,代码实现,测试,书中PSP耗时分析,总结。
          以上内容都写到博客中,代码也写到博客中,要求写程序时要有屏幕截图,最后把测试的界面也截图发到博客上,PSP表也截图到博客上。
    
    打分说明:作业满分10分,迟交的0分,不交作业和抄袭的-10。10分包括:把代码提交到github(1分),需求分析(1.5分),具体设计思路(1.5分),代码实现(1分),测试(1分),书中PSP耗时分析(1.5分),总结(1.5分),代码是否规范(1分)
    
    作业提交截止时间为10月6日23:00,做完后把你的博客链接和github链接发的QQ群里,另外也要给助教的qq发一下。
    
    github提交教程:http://www.cnblogs.com/math/p/4633472.html
    
    我会把每次作业的完成情况统计完发到我的博客和QQ群里,敬请关注!
    
    思考题(1分):如果用户要求处理的范围是0——100,程序应该如何设计才能很轻松的应对扩展性。
    附加题(3分):程序能处理用户的错误输入,比如用户输入一个小数或一个字符。
    
    思考题和附加题都是加分题,做这两题的可以获得相应的加分。
    
    作业样例,我是用C语言写的,仅供参考。有两个文件,一个是head.h,另一个是calculate.c
    head.h的代码如下:
     1 #include<stdio.h>
     2 #include<stdlib.h>
     3 #include<time.h>
     4 int  Add(int *,int *);      //加法函数,实现加法功能
     5 int  Sub(int *,int *);      //
     6 int  Mul(int *,int *);      //
     7 int  Div(int *,int *);
     8 int  Calculate();           //计算函数,判断是哪种计算并调用相关函数
     9 int RandNum(int max,int min);//生成随机数
    10 void JudgeHint(int rightOrfault);//输出判断对错
    11
    12 int Calculate()
    13 {
    14     int    right=0;     //统计做对多少道题
    15     int    fault=0;     //统计做错多少道题
    16     char   type=' ';    //接收用户要生成的运算类型
    17     printf("请选择要进行那种运算\n
    18             输入 + 号表示选择加法\n
    19             输入 - 号表示选择减法\n
    20             输入 * 号表示选择乘法\n
    21             输入 / 号表示选择除法\n
    22             输入 e 表示结束程序\n
    23             ");
    24     scanf("%d\n",&type);
    25     while(type!='e')
    26     {
    27         scanf("%d\n",&type);
    28         if(type=='+')
    29         {
    30             //把变量right和fault的地址传递给函数Add,&是取地址符
    31             //指针其实就是地址
    32             Add(&right,&fault);
    33         }
    34         else if(type=='-')
    35         {
    36             // to do sub
    37         }
    38         else if(type=='*')
    39         {
    40             // to do mul
    41         }
    42         else if(type=='/')
    43         {
    44             // to do div
    45         }
    46     }
    47     printf("您共答对%d道题,答错%d道题\n",right,fault);
    48     return 0;
    49 }
    50
    51
    52 int Add(int *right,int *fault)//函数的参数是两个指针,分别用来统计正确和错误的题数
    53 {
    54     int answer;
    55     int a,b,sum;
    56     a=RandNum(10,0);
    57     b=RandNum(10,0);
    58     sum=a+b;
    59     printf("加法运算:%d + %d = ",a,b);
    60     scanf("%d",&answer);
    61     if(sum==answer)//回答正确,*right加一,否则*fault加一
    62     {
    63         //right是一个指向整数的指针参数,*right表示right指向的
    64         //内存单元的值,在其他编程语言中指针也叫引用。
    65         (*right)++;
    66         JudgeHint(1);
    67     }
    68     else
    69     {
    70         (*fault)++;
    71         JudgeHint(0);
    72     }
    73     return 0;
    74 }
    75
    76 int RandNum(int max,int min)
    77 {
    78     int randNumber;
    79     srand((unsigned)time(NULL));//产生随机种子
    80     randNumber=rand()%(max-min+1)+min;//生成想要的随机数
    81     return randNumber;
    82 }
    83
    84 void JudgeHint(int rightOrfault)
    85 {
    86     if(rightOrfault==1)
    87         printf("回答正确!\n");
    88     else if(rightOrfault==0)
    89         printf("回答错误!\n");
    90 }
    
    calculate.c的代码如下:
     1 #include "head.h"
     2 int main(int argc,char* argv[])
     3 {
     4     Calculate();
     5     return 0;
     6 }
    

    推荐一本书《UNIX编程艺术》,可以从你们图书馆借来看看。

  • 相关阅读:
    【新】idea激活码,jetbrains全系列最新2020激活码和破解补丁(亲测可用),可免费使用69年
    分享【高热度网】最火热的10篇文章,每一篇都是精品
    什么是高热度网(gaoredu.com)?高热度网站都有哪些功能?
    【高热度网】2020年最新8款迷你世界手机黑科技辅助软件免费下载
    【我爱科技论坛】关于我爱科技论坛解压密码的说明
    《前端工程师面试宝典》---前端面试必备
    【VIP视频网站项目】VIP视频网站项目v1.0.3版本发布啦(程序一键安装+电影后台自动抓取+代码结构调整)
    【数据结构】队列实现的5种方式及时间复杂度对比分析
    解决Webpack中提示syntax 'classProperties' isn't currently enabled的错误
    如何配置静态MAC地址
  • 原文地址:https://www.cnblogs.com/gmailcs/p/4832433.html
Copyright © 2011-2022 走看看