一、设计思想

因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++版的更多相关文章

  1. 结对编程项目——四则运算vs版

    结对编程项目--四则运算vs版 1)小伙伴信息:        学号:130201238 赵莹        博客地址:点我进入 小伙伴的博客 2)实现的功能: 实现带有用户界面的四则运算:将原只能在 ...

  2. 四则运算GUI版

    小学四则运算界面版 李永豪 201421123117 郑靖涛 201421123114 coding 地址:https://git.coding.net/ras/work2.git 一.题目描述 我们 ...

  3. 四则运算APP版

    (一)四则运算APP版 这这个Demo的目的就是强化一下本周学习的Android的Jetpack里的新内容,接下来我将通过这个Demo来展示我所学到的新知识. 先列出新学到的知识:ViewModel, ...

  4. 实验二 四则运算 完成版 ver.1

    package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; im ...

  5. 四则运算(Android)版

    实验题目: 将小学四则运算整合成网页版或者是Android版.实现有无余数,减法有无负数.... 设计思路: 由于学到的基础知识不足,只能设计简单的加减乘除,界面设计简单,代码量少,只是达到了入门级的 ...

  6. Homework_4 四则运算 - C#版

    题目要求 :http://www.cnblogs.com/gdfhp/p/5311937.html 结对同伴: 姓名:胡仕辉   学号:130201225   博客地址:http://www.cnbl ...

  7. 结对编程1.四则运算GUI版

    201421123022 王若凡        201421123026  欧阳勇 coding详细代码 a.需求分析: 这个程序做成GUI(可以是Windows PC 上的,也可以是Mac.Linu ...

  8. 四则运算web版需求规格说明书

    目录 1引言... 4 1.1  目的... 4 1.2  背景... 4 1.3  术语... 4 1.4  预期读者与阅读建议... 5 1.5  参考资料... 6 1.6  需求描述约定... ...

  9. 四则运算安卓版ver.mk3

    在原有的基础上做了些许改动以及添加了一点小功能,以下是代码: package com.example.add; import java.io.File; import com.example.add. ...

随机推荐

  1. 【原】Spring源码浅析系列-导入源码到Eclipse

    用了Spring几年,平时也断断续续在项目里看过一些源码,大多都是比较模糊的,因为一旦从一个地方进去就找不到方向了,只能知道它大概是做了什么事能达到这个功能或者效果,至于细节一般没有太深入去研究.后来 ...

  2. Luogu 3375 【模板】KMP字符串匹配(KMP算法)

    Luogu 3375 [模板]KMP字符串匹配(KMP算法) Description 如题,给出两个字符串s1和s2,其中s2为s1的子串,求出s2在s1中所有出现的位置. 为了减少骗分的情况,接下来 ...

  3. 【BZOJ2959】长跑(Link-Cut Tree,并查集)

    [BZOJ2959]长跑(Link-Cut Tree,并查集) 题面 BZOJ 题解 如果保证不出现环的话 妥妥的\(LCT\)傻逼题 现在可能会出现环 环有什么影响? 那就可以沿着环把所有点全部走一 ...

  4. 【BZOJ1500】【NOI2005】维修数列(Splay)

    [BZOJ1500][NOI2005]维修数列(Splay) 题面 不想再看见这种毒瘤题,自己去BZOJ看 题解 Splay良心模板题 真的很简单 我一言不发 #include<iostream ...

  5. 【BZOJ1901】【Luogu2617】Dynamic Ranking(主席树,树状数组)

    [BZOJ1901][Luogu2617]Dynamic Ranking(主席树,树状数组) 题面 神TM BZOJ权限题 Luogu真良心 题解 如果不考虑修改 很容易的主席树区间第K大 考虑修改 ...

  6. CODEFORCES 25E Test

    题意 三个字符串,找一个字符串(它的子串含有以上三个字符串)使它的长度最短,输出此字符串的长度. 题解 先枚举字符串排列,直接KMP两两匹配,拼接即可...答案取最小值.. 常数巨大的丑陋代码 # i ...

  7. 快速开发 HTML5 WebGL 的 3D 斜面拖拽生成模型

    前言 3D 场景中的面不只有水平面这一个,空间是由无数个面组成的,所以我们有可能会在任意一个面上放置物体,而空间中的面如何确定呢?我们知道,空间中的面可以由一个点和一条法线组成.这个 Demo 左侧为 ...

  8. 在windows10上配置Android的环境变量

    一, 首先右击"我的计算机"或"此电脑"图标,在弹出来的下拉列表中点击"属性(R)",进入到"系统"属性面板,点击左侧的 ...

  9. linux 添加ftp用户与登录配置详解

    不同类Unix有一定区别 版本不同也有些区别 在linux主机上如何添加ftp用户 (一)修改配置文件 vi /etc/vsftpd/vsftpd.conf 在96行,97,98行 96 chroot ...

  10. Java集合框架(二)

    原文  http://www.jianshu.com/p/2070cb32accb List接口 查阅API,看 List 的介绍.有序的 collection (也称为序列).此接口的用户可以对列表 ...