四则运算----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. ...
随机推荐
- RobotFramework下的http接口自动化Follow Response关键字的使用
Follow Response 关键字用于处理http中的重定向请求,常见的http 重定向请求包含http code为301和302 两种重定向请求,代表着某个URL地址发生了转移. http co ...
- jquery的动画学习--jquery权威指南
前面的fadeIn和fadeOut还有fadeTo以及sildeToggle还有sildeUp\sildeDown还有toggle还有show.hide等都经常用,就不再手写了,需要注意的是f ...
- [Luogu2852][USACO06DEC]牛奶模式Milk Patterns
Luogu 一句话题意 给出一个串,求至少出现了\(K\)次的子串的最长长度. sol 对这个串求后缀数组. 二分最长长度. 如果有\(K\)个不同后缀他们两两的\(lcp\)都\(>=mid\ ...
- 在开启kerberos 后,hbase存在数据命名空间的问题(解决方案)
用hbase的超级用户 su - hbasekinit -kt /etc/security/keytabs/hbase.headless.keytab hbase-bigdata@STARYEA.CO ...
- SQL Server将自己的查询结果作为待查询数据子列之二
嵌套子查询是SQL语句中比较常用的一种查询方法,开发过程中遇到查询需要将自己的某列作为待查询的数据,在参考别人的SQL语句的写法终于实现了自己需要的功能. 不太和谐查询语句如下: SELECT DIS ...
- LCA倍增算法
LCA 算法是一个技巧性很强的算法. 十分感谢月老提供的模板. 这里我实现LCA是通过倍增,其实就是二进制优化. 任何一个数都可以有2的阶数实现 例如16可以由1 2 4 8组合得到 5可以由1 2 ...
- 【BSGS】BZOJ3239 Discrete Logging
3239: Discrete Logging Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 729 Solved: 485[Submit][Statu ...
- C#多线程编程序--聊聊线程
这篇文章主要给您讲解几个基本问题,什么是线程?为什么要用线程?线程万能?这几个问题.我这篇博客是在该系列另外几篇博客之后写的,之所以不往下继续写,而是回到最初的问题,是因为我感觉到我没有很好的讲解开头 ...
- Django入门开发之数据模型01
1. Django安装 [root@HappyLau ~]# pip install django==1.8.2 2. 创建项目 [root@HappyLau html]# django-admin ...
- linux的shell学习笔记
shell脚本第一行写明解释器的路径: #!/bin/bash运行脚本两种方式:使用bash命令运行shell文件,或授予脚本文件执行权限,可直接执行文件shell启动时,一开始执行一组命令来定义提问 ...