软件工程课程作业(一)—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春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 第一次作业-热身! ...
随机推荐
- MySql插入记录时判断
我们在开发数据库相关的逻辑过程中, 经常检查表中是否已经存在这样的一条记录, 如果存在则更新或者不做操作, 如果没有存在记录,则需要插入一条新的记录. 这样的逻辑固然可以通过两条sql语句完成. SE ...
- Linux gcc编译(动态库,静态库)
1. linux 库路径: /lib , /usr/lib , /usr/local/lib 2.linux 编译静态库 a.编写源文件vi pr1.c void print1(){ print ...
- 交互式报表和工作报表控件Stimulsoft Reports.Fx for Java
Stimulsoft Reports.Fx for Java是一款Java平台下的报表工具控件,可以为您的应用程序添加交互式报表和工作报表.Java技术可以用于不同的平台.不同的操作系统和不同的硬件, ...
- 通过获取DNS解析的未转义主机名,区分测试环境和正式环境代码
ASP.Net编程中经常有一些代码,测试环境下需要执行,而正式环境下不需要执行(或者反之). 我们经常做的方式是:去掉注释,测试,再注释,再编译上传(或者反之). 现在,不妨试试以下办法: Reque ...
- c# Winforms WebBrowser - Clear all cookies
Hello, I recently search for a method to delete all cookies from the build in .NET WinForms WebBro ...
- <转>thinkphp自动验证无效的问题
新手入门thinkphp,试用自动验证表单输入数据功能,却发现怎么都不能调用自动验证,自动验证无效,原因竟是一个小细节的疏忽,学习一定要细心啊! Action方法: IndexAction下的adds ...
- 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101
Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...
- 打印的infoplist文件
Printing description of dict: { CFBundleDevelopmentRegion = en; CFBundleExecutable = yybjproject; CF ...
- angularjs 选项卡 --- 自定义属性
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- Javascript---数组常用方法
一.concat(); 连接两个数组,并返回结果 var arr = new Array(3) arr[0] = "George" arr[1] = "John" ...