一、设计思想

因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. RobotFramework下的http接口自动化Follow Response关键字的使用

    Follow Response 关键字用于处理http中的重定向请求,常见的http 重定向请求包含http code为301和302 两种重定向请求,代表着某个URL地址发生了转移. http co ...

  2. jquery的动画学习--jquery权威指南

        前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是f ...

  3. [Luogu2852][USACO06DEC]牛奶模式Milk Patterns

    Luogu 一句话题意 给出一个串,求至少出现了\(K\)次的子串的最长长度. sol 对这个串求后缀数组. 二分最长长度. 如果有\(K\)个不同后缀他们两两的\(lcp\)都\(>=mid\ ...

  4. 在开启kerberos 后,hbase存在数据命名空间的问题(解决方案)

    用hbase的超级用户 su - hbasekinit -kt /etc/security/keytabs/hbase.headless.keytab hbase-bigdata@STARYEA.CO ...

  5. SQL Server将自己的查询结果作为待查询数据子列之二

    嵌套子查询是SQL语句中比较常用的一种查询方法,开发过程中遇到查询需要将自己的某列作为待查询的数据,在参考别人的SQL语句的写法终于实现了自己需要的功能. 不太和谐查询语句如下: SELECT DIS ...

  6. LCA倍增算法

    LCA 算法是一个技巧性很强的算法. 十分感谢月老提供的模板. 这里我实现LCA是通过倍增,其实就是二进制优化. 任何一个数都可以有2的阶数实现 例如16可以由1 2 4 8组合得到 5可以由1 2 ...

  7. 【BSGS】BZOJ3239 Discrete Logging

    3239: Discrete Logging Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 729  Solved: 485[Submit][Statu ...

  8. C#多线程编程序--聊聊线程

    这篇文章主要给您讲解几个基本问题,什么是线程?为什么要用线程?线程万能?这几个问题.我这篇博客是在该系列另外几篇博客之后写的,之所以不往下继续写,而是回到最初的问题,是因为我感觉到我没有很好的讲解开头 ...

  9. Django入门开发之数据模型01

    1. Django安装 [root@HappyLau ~]# pip install django==1.8.2 2. 创建项目 [root@HappyLau html]# django-admin ...

  10. linux的shell学习笔记

    shell脚本第一行写明解释器的路径: #!/bin/bash运行脚本两种方式:使用bash命令运行shell文件,或授予脚本文件执行权限,可直接执行文件shell启动时,一开始执行一组命令来定义提问 ...