四则运算----C++版
一、设计思想
因java中已做过,就是简单的将java中的语句调换为C++的语句。
二、代码
#include<iostream.h>
#include<Stdlib.h>
void main()
{
int h;
int g;
int a;
int f;
cout<<"请输入要输出多少道运算题"<<endl;
cin>>h;
cout<<"请输入你要计算数的最大值"<<endl;
cin>>g;
cout<<"**************菜单选择程序****************"<<endl;
cout<<"请选择要使用的功能:"<<endl;
cout<<"1. 整数加减法运算!"<<endl;
cout<<"2. 整数四则运算!"<<endl;
cout<<"3. 分数的加减运算"<<endl;
cout<<"4. 分数的四则运算"<<endl;
cout<<" *********************************************"<<endl;
char arr[] = {'+','-','*','/'};
char arr2[]={'-',' '};
cin>>a;
switch(a)
{
case 1:
{
cout<<"请选择减法是否有负数;0:无负数,1:有负数"<<endl;
cin>>f;
int i;
switch(f)
{
case 0:
{
for(i=0;i<h;i++)
{ cout<<rand()%g<<arr[rand()%2]<<rand()%g<<"="<<endl;
}
break;
}
case 1:
{
for(i=0;i<h;i++)
{
cout<<arr2[rand()%2]<<rand()%g<<arr[rand()%2]<<arr2[rand()%2]<<rand()%g<<"="<<endl;
}
break;
}
default:
cout<<"输入的数有误,请输入0或1"<<endl;
}
break;
}
case 2:
{
cout<<"**************四则运算菜单选择程序****************"<<endl;
cout<<"请选择要使用的功能:"<<endl;
cout<<"1. 正整数无余数四则运算!"<<endl;
cout<<"2. 可负整数无余数四则运算!"<<endl;
cout<<"3. 正整数可有余数四则运算"<<endl;
cout<<"4. 可负整数可有余数四则运算"<<endl;
cout<<" *********************************************"<<endl;
cin>>f;
switch(f)
{
case 1:
{
for(int i=0;i<h;i++)
{
int u=rand()%g;
int v=rand()%g+1;
char w=arr[rand()%4];
if(u%v==0 && w=='/'){
cout<<u<<w<<v<<"="<<endl;
}
else
cout<<u<<arr[rand()%3]<<v<<"="<<endl;
}
break;
}
case 2:
{
for(int i=0;i<h;i++)
{
int u=rand()%g;
int v=rand()%g;
char w=arr[rand()%4];
if(v!=0 && u%v==0 && w=='/' )
cout<<arr2[rand()%2]<<u<<" "<<w<<" "<<arr2[rand()%2]<<v<<"="<<endl;
else
cout<<arr2[rand()%2]<<u<<" "<<arr[rand()%3]<<" "<<arr2[rand()%2]<<v<<"="<<endl;
}
break;
}
case 3:
{
for(int i=0;i<h;i++)
{
int u=rand()%g;
int v=rand()%g+1;
char w=arr[rand()%4];
cout<<u<<" "<<w<<" "<<v<<"="<<endl;
}
break;
}
case 4:
{
for(int i=0;i<h;i++)
{
int u=rand()%g;
int v=rand()%g;
char w=arr[rand()%4];
cout<<arr2[rand()%2]<<u<<" "<<w<<" "<<arr2[rand()%2]<<v<<"="<<endl;
}
break;
}
default:
cout<<"输入的数有误,请输入1--4的整数"<<endl;
} }
case 3:
{
cout<<"请选择减法是否有负数;0:无负数,1:有负数"<<endl;
cin>>f;
switch(f)
{
case 0:
{
for(int i=0;i<h;i++)
{
cout<<rand()%g<<"/"<<rand()%g+1<<" "<<arr[rand()%2]<<" "<<rand()%g<<"/"<<rand()%g+1<<"="<<endl;
}
break;
}
case 1:
{
for(int i=0;i<h;i++)
{
cout<<arr2[rand()%2]<<rand()%g<<"/"<<rand()%g+1<<" "<<arr[rand()%2]<<" "<<arr2[rand()%2]<<rand()%g<<"/"<<rand()%g+1<<"="<<endl;
}
break;
}
default:
cout<<"输入的数有误,请输入0或1"<<endl;
}
break;
}
case 4:
{
cout<<"**************四则运算菜单选择程序****************"<<endl;
cout<<"请选择要使用的功能:"<<endl;
cout<<"1. 正分数四则运算!"<<endl;
cout<<"2. 可负分数四则运算!"<<endl;
cout<<" *********************************************"<<endl;
cin>>f;
switch(f)
{
case 1:
{
for(int i=0;i<h;i++)
{
int u=rand()%g;
int v=rand()%g+1;
int x=rand()%g;
int y=rand()%g+1;
char w=arr[rand()%4];
cout<<u<<"/"<<v<<" "<<w<<" "<<x<<"/"<<y<<"="<<endl;
}
break;
}
case 2:
{
for(int i=0;i<h;i++)
{
int u=rand()%g;
int v=rand()%g;
int x=rand()%g;
int y=rand()%g;
char w=arr[rand()%4];
if(v!=0 && w=='/' )
cout<<arr2[rand()%2]<<u<<"/"<<v<<" "<<w<<" "<<arr2[rand()%2]<<x<<"/"<<y<<"="<<endl;
else
cout<<arr2[rand()%2]<<u<<"/"<<v<<" "<<arr[rand()%3]<<" "<<arr2[rand()%2]<<x<<"/"<<y<<"="<<endl;
}
break;
}
default:
cout<<"输入的数有误,请输入1或2"<<endl;
}
break;
}
default:
cout<<"输入的数有误,请输入1--4的整数"<<endl;
}
}
三、实验截图










四、心得体会
不同的语言编程,可能提供不一样的思路;开阔编程的思路。
不同的语言编程算法一样,但一些函数调用不太一样。
五、psp0表格
一、项目计划总结
周活动总结表
姓名:杨广鑫 日期:2015.3.20
|
日期 任务 |
听课 |
编写程序 |
阅读课本 |
准备考试 |
日总计 |
||
|
周日 |
120 |
120 |
|||||
|
周一 |
|||||||
|
周二 |
100 |
60 |
20 |
180 |
|||
|
周三 |
120 |
120 |
|||||
|
周四 |
10 |
10 |
|||||
|
周五 |
100 |
50 |
15 |
165 |
|||
|
周六 |
45 |
45 |
|||||
|
周总结 |
200 |
395 |
45 |
640 |
阶段时间和效率 周数(上一次周活动表的周数+1):
不包括上一周在内的累计时间
|
总计 |
|||||||
|
平均 |
|||||||
|
最大 |
|||||||
|
最小 |
以前各周的累计时间
|
总计 |
200 |
395 |
45 |
640 |
|||
|
平均 |
200 |
395 |
45 |
640 |
|||
|
最大 |
200 |
395 |
45 |
640 |
|||
|
最小 |
200 |
395 |
45 |
640 |
二、时间记录表:
学生 杨广鑫 日期 2015年3月13日
教师 王建民 课程 PSP
|
日期 |
开始时间 |
结束时间 |
中断时间 |
净时间 |
活动 |
备注 |
|
3.15 |
14.30 |
16.30 |
无 |
120 |
编程序 |
作业 |
|
3.16 |
||||||
|
3.17 |
19:15 |
20:15 |
无 |
60 |
编程序 |
作业 |
|
3.18 |
14:30 |
21:14 |
有 |
120 |
编程序 |
作业 |
|
3.19 |
||||||
|
3.20 |
18:50 |
19:40 |
无 |
50 |
完善程序 |
作业 |
|
3.21 |
9:10 |
9:55 |
无 |
45 |
完善程序 |
作业 |
三、缺陷记录日志:
学生 杨广鑫
日期 2015年3月20日
教员 王建民
程序号
|
日期 |
编号 |
类型 |
引入阶段 |
排除阶段 |
修复时间 |
修复缺陷 |
|||||
|
3.15 |
1 |
a2 |
运行 |
运行之后马上 |
1min |
||||||
|
出现逻辑混乱。 |
|||||||||||
|
3.15 |
2 |
a3 |
编译 |
编译 |
1min |
||||||
|
定义在使用变量之后 |
|||||||||||
|
3.17 |
3 |
B1 |
运行 |
运行之后 |
3min |
||||||
|
在运行时,输出的结果虽然正确,但格式却不正确,行间距混乱 |
|||||||||||
|
3.18 |
4 |
a1 |
编译 |
编译 |
1min |
||||||
|
漏掉; |
|||||||||||
|
3.20 |
5 |
B2 |
运行 |
运行之后 |
15min |
||||||
|
在运行时,输出的格式不是按要求的输出的,原因是if语句插入的位置不正确 |
|||||||||||
四则运算----C++版的更多相关文章
- 结对编程项目——四则运算vs版
结对编程项目--四则运算vs版 1)小伙伴信息: 学号:130201238 赵莹 博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...
- 四则运算GUI版
小学四则运算界面版 李永豪 201421123117 郑靖涛 201421123114 coding 地址:https://git.coding.net/ras/work2.git 一.题目描述 我们 ...
- 四则运算APP版
(一)四则运算APP版 这这个Demo的目的就是强化一下本周学习的Android的Jetpack里的新内容,接下来我将通过这个Demo来展示我所学到的新知识. 先列出新学到的知识:ViewModel, ...
- 实验二 四则运算 完成版 ver.1
package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; im ...
- 四则运算(Android)版
实验题目: 将小学四则运算整合成网页版或者是Android版.实现有无余数,减法有无负数.... 设计思路: 由于学到的基础知识不足,只能设计简单的加减乘除,界面设计简单,代码量少,只是达到了入门级的 ...
- Homework_4 四则运算 - C#版
题目要求 :http://www.cnblogs.com/gdfhp/p/5311937.html 结对同伴: 姓名:胡仕辉 学号:130201225 博客地址:http://www.cnbl ...
- 结对编程1.四则运算GUI版
201421123022 王若凡 201421123026 欧阳勇 coding详细代码 a.需求分析: 这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linu ...
- 四则运算web版需求规格说明书
目录 1引言... 4 1.1 目的... 4 1.2 背景... 4 1.3 术语... 4 1.4 预期读者与阅读建议... 5 1.5 参考资料... 6 1.6 需求描述约定... ...
- 四则运算安卓版ver.mk3
在原有的基础上做了些许改动以及添加了一点小功能,以下是代码: package com.example.add; import java.io.File; import com.example.add. ...
随机推荐
- 用VSCode开发一个基于asp.net core 2.0/sql server linux(docker)/ng5/bs4的项目(3)
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 由于 ...
- Latex基础__如何用latex编写矩阵、矩阵等式、方程组、等式左对齐
数学矩阵和方程组是数学工作者经常遇到的,那么如何用latex书写处漂亮的方程组.矩阵.多个等式呢,下面将对这个问题一一做介绍.1. 写矩阵. 代码: \begin{equation} \left[ \ ...
- [UOJ207]共价大爷游长沙
UOJ sol 这题真是太神啦! 对于S集合中的每个点对,给他们随机附上一个相同权值. 两个点在边(x,y)的两侧当且仅当一个点在x的子树中,另一个点不在x的子树中(假设x是y的儿子) 维护一下子树点 ...
- [SDOI2013]森林
主席树 离散化后 每个点储存从根到它的路径上的点权 新加边时直接用启发式合并,直接把size小的重构 询问时sum[u]+sum[v]-sum[lca]-sum[fa[lca]]来比较,在树上二分 L ...
- 基于Redis的简单分布式锁的原理
参考资料:https://redis.io/commands/setnx 加锁是为了解决多线程的资源共享问题.Java中,单机环境的锁可以用synchronized和Lock,其他语言也都应该有自己的 ...
- VS中,Ctrl+Shift+F无法在文件中查找
可能是和搜狗的繁简字切换的快捷键冲突了,把搜狗的该快捷键修改或者关闭掉即可.
- mac 配置虚拟主机
http://www.upwqy.com/details/4.html 编辑httpd.conf文件,输入命令: vim /etc/apache2/httpd.conf 编辑httpd-vhosts. ...
- IT企业如何实现项目管理信息化的目标
随着信息化技术的不断深入,企业管理方式逐渐向信息化管理转变.大部分IT企业也为了适应企业管理方式的变革,开始加强对管理信息化创新方面的建设.而IT企业在实现信息化的进程中,项目管理信息化其实是IT企业 ...
- Error:Error converting bytecode to dex: Cause: com.android.dex.DexException: Multiple dex files define Lcom/google/android/gms/internal/adp;
Q:版本号不对,广告插件的版本号和项目中用的版本号不一致 A:adsplugins的build gradle里面用的版本号是10.0.1,修改app的build gradle 的google类都改成1 ...
- Lintcode247 Segment Tree Query II solution 题解
[题目描述] For an array, we can build a Segment Tree for it, each node stores an extra attribute count t ...