软件工程课程作业(一)—20道随机四则运算题(C++)
一、编程思想:
1、定义所需要变量
2、设置数组,存储运算符,
3、通过随机函数random(0,100)找出运算数,random(0,4)找出运算符
4、通过输出显示运算式。
二、源代码:
//2016 3.3 Cheng Qiqin
//sizeyunsuan
#include <iostream>
#include<ctime>
#include<cstdlib>
#include<iomanip>
using namespace std;
#define N 20 void main(){
int num1,num2,num3,num4;
int i,j,k;
int random(int,int);
char fuhao[]={'+','-','*','/'};
for(k=;k<N;k++){
j=random(,);
if(j==){//整数四则运算
i=random(,); //选择运算符
num1=random(,);
num2=random(,);
switch(i){
case : //整数相加
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
case : //整数相减
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
case ://整数相乘
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
case : //整数相除
while(num2==){//除数不为0
num2=random(,);
}
cout<<num1<<fuhao[i]<<num2<<"="<<endl;
break;
default:
break;
}
}
else{//真分数四则运算
i=random(,);
num1=random(,);
num2=random(,);
while(num2==||num1>=num2){//分数分母不为0并且分子不能大于分母
num1=random(,);
num2=random(,);
}
num3=random(,);
num4=random(,);
while(num4==||num3>=num4){//分数分母不为0并且分子不能大于分母
num3=random(,);
num4=random(,);
}
switch(i){
case : //分数相加
cout<<num1<<"/"<<num2<<fuhao[i]<<num3<<"/"<<num4<<"="<<endl;
break;
case : //分数相减
cout<<num1<<"/"<<num2<<fuhao[i]<<num3<<"/"<<num4<<"="<<endl;
break;
case : //分数相乘
cout<<"("<<num1<<"/"<<num2<<")"<<fuhao[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
break;
case : //分数相除
while(num3==){//作为分母的分数不为0
num3=random(,);
while(num3>=num4){
num3=random(,);
num4=random(,);
}
}
cout<<"("<<num1<<"/"<<num2<<")"<<fuhao[i]<<"("<<num3<<"/"<<num4<<")"<<"="<<endl;
break;
default:
break;
}
}
}
} int random(int start,int end){ //随机数函数
return start+(end-start)*rand()/(RAND_MAX+);
}
三、运行结果:
四、目前实现功能:
1、100以内整数相加、相减、相乘、相除。
2、实现真分数相加、相减、相乘、相除。
五、期望实现功能:
1、随机数每次运行的数都不一样。
2、可以实现四则混合运算。
软件工程课程作业(一)—20道随机四则运算题(C++)的更多相关文章
- 300道随机四则运算小程序(java编写)
这是由Java编写的300道随机四则运算小程序, 运算数范围为0~100(不包括100),运算结果保留两位小数. 程序代码: import java.util.*; class Yunsuan{ pu ...
- 30道小学生四则运算题C/C++编程
软件工程科课上,老师通过实例讲解什么是程序,程序和软件的区别,要求我们通过短时间写一道编程题, 题目就是编写30道小学生四则运算题.以下就是源代码: #include<iostream.h> ...
- 20道JS原理题助你面试一臂之力!(转)
20道JS原理题助你面试一臂之力! 前言 本文针对目前常见的面试题,仅提供了相应的核心原理及思路,部分边界细节未处理.后续会持续更新,希望对你有所帮助. 1. 实现一个call函数 // 思路:将要改 ...
- 软件工程课程作业(三)--四则运算3(C++)
伙伴链接:http://www.cnblogs.com/haoying1994/ 一.设计思路 在此前程序拥有的功能:加减有无负数,除法有无余数以及算式可定制的功能的基础上,此次程序又添加了算式结果的 ...
- 软件工程课程作业(二)--四则运算2改进版(c++)
题目要求: 1.避免题目重复 2.可定制(数量/打印方式) 3.可以控制下列参数 (1)是否有乘除法 (2)是否有括号 (3)数值范围 (4)加减有无负数 (5)除法有无余数 关键设计思想: oper ...
- 软件工程课堂作业(一)——随机产生四则运算题目(C++)
一.设计思想: 1.首先主函数只用来调用随机产生并输出运算题目函数,随机产生并输出这一部分功能用一个randout函数实现: 2.随机产生运算数这一功能,两个运算数可以用随机函数生成,并将它们控制在1 ...
- 【软件工程Ⅱ】作业四 |个人项目-小学四则运算 “软件”之初版(C语言)
本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作业代码的github地址:https://gith ...
- 软件工程随堂小作业——随机四则运算Ⅱ(C++)
一.设计思路 设计思路已给出,此处不再赘述. 二.源代码 (1)四则运算2.cpp(源文件) // 四则运算2.cpp : Defines the entry point for the consol ...
- BUAA 2020 软件工程 热身作业
BUAA 2020 软件工程 热身作业 Author: 17373051 郭骏 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! ...
随机推荐
- TopCoder SRM 583 TurnOnLamps
读错题了有没有呀,原来 lamps 是在边上的呀,当成是在点上的了,无语. 直接一个dfs 就可以 从叶子节点开始,如果有必要转换 lamp 的状态则加一个仅包含 这个 lamp 的段 然后向上扩展, ...
- 去除Sql Server中回车换行符
这里使用了,sql 函数.replace(string_expression , string_pattern , string_replacement), 第一个参数:要查找的字段. 第二个参数:要 ...
- python 字典排序 关于sort()、reversed()、sorted()
一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...
- HDU 3377 插头dp
题目大意: 从左上角走到右下角,每个点之多经过一次,取到所有路径上经过点的权值,求最大的权值之和,这里走到右下角就算停止了 这里有个思路是转化成熟悉的回路问题 在上方和右方最外围定义一圈权值为0 , ...
- Rhel6-heartbeat+lvs配置文档
系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.119 server19.example.com 192.168.12 ...
- flask剖析
1.为何只要通过import request,就能拿到对应的request呢?怎么解决区分请求,区分线程的问题? 简而言之,就是通过拿栈顶对象就表示是当前活动的对象 但对于多线程,由于栈的数据结构是 ...
- Add project to working sets
最近换了个电脑,重新搭建了开发环境,但是在新建项目的过程中发现有Add project to working sets这一个选项,一开始也不明白是什么意思,百度了一下,不少网友说是把项目存到物理空间, ...
- C#基础之程序集(一)
一.什么是程序集? 程序集 其实就是bin目录的.exe 文件或者.dll文件. 二.原理 三.程序集分类 1.系统程序集 路径:C:\Windows\assembly 2.源代码生成的程序集 使用V ...
- php中常用的运算符
运算符 运算符是告诉PHP做相关运算的标识符号. PHP运算符一般分为算术运算符.赋值运算符.比较运算符.三元运算符.逻辑运算符.字符串连接运算符.错误控制运算符. 1.变量名记得加“$” 符: 2. ...
- uva11059
除法(Division,uva725) 输入整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列(可以有前导0),2<=n<=79. ...