问题:设计一程序,给二年级小学生随机产生四则运算题目。

一、设计思考问题:

1.四则运算需要俩个运算数和一个运算符。

2.如何产生随机数?

3.如何实现随机产生四则运算?

4.题目是否符合小学生学习范围?(减法和除法)

二、程序源代码:

#include<iostream.h>
#include<stdlib.h>
#include "time.h"
int main ()
{
cout<<"--------四则运算题--------"<<endl;
cout<<endl;
srand( (unsigned)time( NULL ) );//随机数种子为当前计算机时间。
int i,a,b,j,n,t;
cout<<"请输入要生成题目数n:"<<endl;//选择题目数量。
cin>>n;
for(j=0;j<n;j++)
{
//产生随机数。
a=rand()%100;
b=rand()%100+1;//保证除数不为0。
i=rand()%4;
t=j%2;
if(t<=0)
cout<<endl;
switch(i)
{
case 0:
cout<<a<<"+"<<b<<"="<<" ";
break;
case 1:
if(a>=b)
cout<<a<<"-"<<b<<"="<<" ";
else
cout<<b<<"-"<<a<<"="<<" ";//保证被减数大于等于减数。
break;
case 2:
cout<<a<<"*"<<b<<"="<<" ";
break;
case 3:
cout<<a<<"/"<<b<<"="<<" ";
break;
}
}
cout<<endl;
return 0;
}

三、实验截图:

四、课上未完成原因:

不晓得随机函数头文件,好久没写程序,思路有点慢。

30道四则运算题目---课堂作业--软件工程c++的更多相关文章

  1. 软件工程课后作业——用JAVA编写的随机产生30道四则运算

    package com.java.sizeyunsuan; public class lianxi { String f() { int i=(int)(Math.random()*10); int ...

  2. 随机生成30道四则运算-NEW

    补充:紧跟上一个随机生成30道四则运算的题目,做了一点补充,可以有真分数之间的运算,于是需要在原来的基础上做一些改进. 首先指出上一个程序中的几个不足:1.每次执行的结果都一样,所以不能每天给孩子出3 ...

  3. 30道四则运算<1>

    #include<iostream> using namespace std; #define random()(rand()%100) class shuzi //shuzi类的功能是产 ...

  4. 30道四则运算<2>

    #include<iostream> #include<time.h> #include<fstream> #define random() (rand()%100 ...

  5. 随机的30道四则运算题(简单的c)

    #include <stdio.h>#include <stdlib.h>#include <time.h> int main(void){ int i = 0; ...

  6. Java——自动生成30道四则运算---18.09.27

    package chuti;import java.io.PrintWriter;import java.util.Scanner;import java.io.FileNotFoundExcepti ...

  7. 30道四则运算<2>单元测试

    该测试未实现除法 该测试中间多了/)两个符号,而且没有等号和回车. 该测试也没有符合除法要求 该测试也没有满足除法要求 该测试满足要求. 总结:程序中涉及到有除法的输出都有问题,多次改正未果:其他条件 ...

  8. 随机生成30道四则运算题NEW

    代码: #include <iostream> #include <time.h> using namespace std; void main() { srand((int) ...

  9. 【2015 软件工程 个人项目 PJ1】四则运算题目生成程序

    1.开发时间预估 PSP2.1 Personal Software Process Stages Time Planning 计划 · Estimate · 估计这个任务需要多少时间 2day Dev ...

随机推荐

  1. 在阿里云 CentOS 服务器(ECS)上搭建 nginx + mysql + php-fpm 环境

    阿里云的云服务器(ECS)可以选择多种操作系统,打算用它运行 Drupal或者 WordPress ,你最好选择 Linux 系统,这篇文章的演示是基于阿里云的 CentOS 操作系统的服务器.我们在 ...

  2. Count and Say [LeetCode 38]

    1- 问题描述 The count-and-say sequence is the sequence of integers beginning as follows: 1, 11, 21, 1211 ...

  3. 面向对象的 JavaScript

    面向对象的javascript 一.创建对象 创建对象的几种方式: var obj = {}; var obj = new Object(); var obj = Object.create(fath ...

  4. iOS网络通讯——监测网络状态:Reachability(可达性)

    1.iOS平台是按照一直有网络连接的思路来设计的,开发者利用这一特点创造了很多优秀的第三方应用.大多数的iOS应用都需要联网,甚至有些应用严重依赖网络,没有网络就无法正常工作. 2.在你的应用尝试通过 ...

  5. centos6.7下编译安装lamp环境

    编译C源代码: 前提:提供开发工具及开发环境 通过“包组”提供开发组件,CentOS 6: "Development Tools", "Server Platform D ...

  6. 直接拿来用!超实用的Java数组技巧攻略[转]

    来自csdn http://www.csdn.net/article/2013-09-16/2816947-methods-for-java-arrays 本文分享了关于Java数组最顶级的11大方法 ...

  7. 【转】MessageBox

    MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容.信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框. 1.函数原型及参数 function ...

  8. C++primer 阅读点滴记录(三)

    14章 操作符重载和转换 重载操作符是具有特殊名称的函数:保留字operator后接需要定义的操作符符号. 1.重载的操作符名: + – * / % ^ & | ~ ! , = <  & ...

  9. Java 装箱 拆箱

    Java 自动装箱与拆箱   ??什么是自动装箱拆箱 基本数据类型的自动装箱(autoboxing).拆箱(unboxing)是自J2SE 5.0开始提供的功能. 一般我们要创建一个类的对象的时候,我 ...

  10. linux MTD系统解析(转)

    MTD,Memory Technology Device即内存技术设备,在Linux内核中,引入MTD层为NOR FLASH和NAND FLASH设备提供统一接口.MTD将文件系统与底层FLASH存储 ...