3月6日课后作业

其实这道题在刚看到的时候大多都会觉得简单,难易程度就像大一初学C++时候平常的练习题,所以或许在估计自己需要的完成时间的时候就会短一些,慢慢的随着题目的要求一步一步的提高,自己所需要的完成的时间就会越来越长,到了后面需要考虑到所做的软件要承担多人同时访问的时候,由于大多数同学都没有接触过这方面的知识,就会觉得自己不可能完成这样的一个程序。

我觉得一个简单或者复杂的程序在完成的过程中总会碰到一些出乎意料的问题,绝对不会是自己看一眼需求就能想到所有可能碰到的困难,我们需要考虑这些突发状况,需要在动手写程序之前留下足够的思考空间来思考对程序该如何规划,尽可能考虑所有可能遇到的问题(比如虽然程序简单,但是大多数同学都会忘记了简单的随机数生成的函数的用法),即使不全面。而且还应该在程序完成的预计时间上留有一定的空余,既不能过长,也不能盲目自信的把时间估计的太短,这样我们才能在合理的时间范围和正确的安排部署下将客户的需求逐步完善到一个可供使用的稳定的软件。

-----------------------------------------------我是萌萌哒分割线----------------------------------------------------

以上只是我自己的一些浅薄的看法,可能很片面,如果有不对的地方还望老师批评指正。

关于这个程序,要生成真分数的话可以通过生成两个随机数,一个作为分子,另一个作为分母,还要将两个随机数区分出大小,避免生成假分数。关于随机生成的四则运算是哪种,可以用一个1~4之间的随机数对应四则运算的加减乘除,程序中已将所有的随机数控制在0~100的闭区间上。

 /*======================================================================    # Author: ZhangYaPeng    # E-Mail: [email protected]    # Last modified: 2015-03-08 10:42    # Filename: Demo.cpp    # Description:  ======================================================================*  1 # include <iostream>
  2 using namespace std;
  3
  4 //含有真分数的练习题
  5 void Display1()
  6 {
  7     int k,a,b,c,d;                      //k判定随机生成哪种四则运算
  8                                          //a和b生成第一个真分数  若其中含有5的倍数 则生成整数
  9                                          //c和d同上
 10     for(int i=0;i<4;i++)
 11     {
 12         k = rand()%4+1;
 13         a = rand()%101;              //生成0~100之间的随机数
 14         b = rand()%101;
 15         c = rand()%101;
 16         d = rand()%101;
 17         if(a>b)                          //将a设为较小的数字  b为较大的数字
 18         {
 19             a = a ^ b;
 20             b = a ^ b;
 21             a = a ^ b;
 22         }
 23         if(c>d)                          //将c设为较小的数字  d为较大的数字
 24         {
 25             c = c ^ d;
 26             d = c ^ d;
 27             c = c ^ d;
 28         }
 29         if((a%5==0||b%5==0)&&(a+b<100))
 30             cout<<a+b;
 31         else
 32             cout<<"("<<a<<"/"<<b<<")";
 33         if(k==1)
 34             cout<<"    + ";
 35         else if(k==2)
 36             cout<<"    - ";
 37         else if(k==3)
 38             cout<<"    * ";
 39         else
 40             cout<<"    / ";
 41         if((c%5==0||d%5==0)&&(c+d<100))
 42             cout<<c+d<<" =    "<<endl;
 43         else
 44             cout<<"("<<c<<"/"<<d<<") = "<<endl;
 45     }
 46 }
 47
 48 //无真分数的练习题
 49 void Display2()
 50 {
 51     int k,a,b;
 52     for(int i=0;i<4;i++)
 53     {
 54         k = rand()%4+1;               //生成1~4之间的随机数
 55         a = rand()%101;               //生成0~100之间的练习题
 56         b = rand()%101;
 57         if(k==1)
 58             cout<<a<<" + "<<b<<" = "<<endl;
 59         else if(k==2)
 60             cout<<a<<" - "<<b<<" = "<<endl;
 61         else if(k==3)
 62             cout<<a<<" * "<<b<<" = "<<endl;
 63         else
 64             cout<<a<<" / "<<b<<" = "<<endl;
 65     }
 66 }
 67
 68 //测试函数
 69 int main()
 70 {
 71     char ch;
 72     int n;
 73     cout<<"要生成多少套练习题?";
 74     cin>>n;
 75     cout<<"是否要生成含有真分数的练习题?Y/N: ";
 76     cin>>ch;
 77     if(ch==‘Y‘||ch==‘y‘)
 78     {
 79         for(int i=0;i<n;i++)
 80         {
 81             cout<<"第"<<i+1<<"套题"<<endl;
 82             cout<<"------------------------"<<endl;
 83             Display1();
 84             cout<<"------------------------"<<endl;
 85         }
 86     }
 87     else if(ch==‘N‘||ch==‘n‘)
 88     {
 89         for(int i=0;i<n;i++)
 90         {
 91             cout<<"第"<<i+1<<"套题"<<endl;
 92             cout<<"------------------------"<<endl;
 93             Display2();
 94             cout<<"------------------------"<<endl;
 95         }
 96     }
 97     else
 98     {
 99         cout<<"Data Error!"<<endl;
100     }
101     return 0;
102 }
时间: 2024-08-06 02:44:36

3月6日课后作业的相关文章

2015年9月5日--课后作业

1.总结Linux系统上的任务计划(at.crontab)的详细使用方法: at命令: 承载未来时间运行的某作业: 支持使用作业队列: 默认为a队列: Ctrl+d at [option]... TIME TIME: (1) 绝对时间 HH:MM, MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]YY or [CC]YY-MM-DD tomorrow (2) 相对时间 now+#UNIT minute, hour, day, week (3) 模糊时间 midnight

Linux基本功杂记——[007]——8月10日课后作业

/*答案不止一个,仅列出自认为最优雅的存在*/ 作业要求:编写BASH脚本实现题目要求的内容. 一.显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小 1 #!/usr/bin/bash 2 printf 3 " Hostname: $(hostname)\n \ 4 IPv4: $(ip addr | grep -oP '(\d+\.){3}\d+/\d+' | awk 'BEGIN{ORS=" "}{print}')\n

2月29日课后作业

1.网站系统开发需要掌握的技术 java语言,环境配置,数据库,php语言 2.课堂测试源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">

Linux基本功杂记——[002]——7月29日课后作业

1.file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和 方法一:[[email protected]7 fh]# echo $(tr ' ' '+' <file1) | bc 55 方法二:[[email protected]7 fh]# x=$(($(tr ' ' '+' <file1))) && echo $x 55 方法三:[[email protected]7 fh]# x=$(tr ' ' '+' <file1) | py

3月10日课后作业

整体感觉这个程序可以划分为很多的小模块,多个模块的堆积对应一个用户的要求是否有分数部分可以采用生成两个随机数并控制其范围,将其中一个作为分子,另一个作为分母:题目数量可以在测试函数中通过变量输入 打印方式导出到文本或者直接在命令行中输出关于是否有乘除法,是否包含括号,数值范围,加减有无负数....可以将几个功能划分为相应的模块,在用户输入对应的要求的时候调用相关功能模块,避免了代码的重复编写打印格式个人感觉用户自己定义的话不太容易单纯用C++简单的代码实现,考虑可以使用几个样式模板提供给用户,让

Linux基本功杂记——[004]——8月4日课后作业

一.找出ip addr命令结果中本机所有的IPv4地址 BASH: [email protected] ~/py $ ip addr | grep -oP '(?:\d+\.){3}\d+/\d+' 127.0.0.1/8 172.18.16.4/24 Python3: [email protected] ~/py $ cat ipaddr.py #!/usr/bin/python3 #-*- coding='utf-8' -*- import re import subprocess ipb

3月7日课程作业 信息化基础知识、信息化系统服务管理

3月7日课程作业  信息化基础知识.信息化系统服务管理 信息化基础知识 1.国家信息化体系要素 a) 信息化技术:是信息化体系六要素的龙头. b) 信息化资源:是国家信息化的核心任务,是国家信息建设取得实效的关键,也是我国信息化的薄弱环节.信息资源开发和利用的程度是衡量国家信息化水平的一个重要标志. c) 信息网络:是信息资源开发利用和信息技术应用的基础.通常将信息网络分为电信网.广播电视网和计算机网络.三网的发展方向将逐步实现三网融合. d) 信息技术和产业:是我国进行信息化建设的基础. e)

9月10日课程作业(练习)

linux运维实战练习-2015年9月10日课程作业(练习)安排 一.作业(练习)内容: 1.总结rpm和yum实现程序包的管理功能. (1)相关概念 内核功能:进程管理.内存管理.提供网络协议栈.驱动程序.... 应用程序功能:提供各种各样特定功能,如bash等 程序包的组成部分: 二进制程序:程序包的核心,存储在/bin, /sbin,/ /usr/bin, /usr/sbin等路径下 库文件:共享资源,存储在/lib64, /usr/lib64等路径下 配置文件:定义工作属性,存储在/et

2015年9月30日的作业

2015年9月30日的作业:项目成本管理的重点知识: 成本失控的原因:1.成本估算与预算的工作不够细致与准确.2.成本估算与成本预算及成本控制的方法上没有统一的标准和规范可行. 3思想上存在误区,成本控制不好,认为成本超出预算再算难免. 包括成本估算,成本预算,成本控制三个过程. 成本估算:三个步骤:1.识别分析项目成本的构成科目. 2.估算每个科目的成本大小. 3.分析成本估算结果,协调各科目之间的比例关系.           输入:企业环境因素,组织过程资产,项目范围说明书,工作分解结构,