四则运算的实现(C++)重做
- #include <iostream>
- using namespace std;
- void main()
- {
- int a0[1000],b0[1000],c0[1000],a1[1000],b1[1000],c1[1000],a2[1000],b2[1000],c2[1000],a3[1000],b3[1000],c3[1000],C[1000],a,b,c;
- int i,j,A0,A1,A2,A3,B0,B1,B2,B3;
- int num,line,k;
- int min,max,m;
- int CC,FS,YS;
- k=0;
- A0=0;A1=0;A2=0;A3=0;
- B0=0;B1=0;B2=0;B3=0;
- cout<<"*************四则运算1.0*************"<<endl;
- cout<<"请依次输入输出算式数量和每行显示数量:"<<endl;
- cin>>num>>line;
- cout<<"请问是否要有乘除法?有请输入\"1\",无请输入\"0\""<<endl;
- cin>>CC;
- while(1) //判断输入是否合法
- {
- if(CC != 1&&CC != 0)
- {
- cout<<"输入不合法,请重新输入\"1\"或\"0\":";
- cin>>CC;
- }
- else
- break;
- }
- cout<<"请问是否要加减结果有负数?有请输入\"1\",无请输入\"0\""<<endl;
- cin>>FS;
- while(1) //判断输入是否合法
- {
- if(FS != 1&&FS != 0)
- {
- cout<<"输入不合法,请重新输入\"1\"或\"0\":";
- cin>>FS;
- }
- else
- break;
- }
- cout<<"请问是否要除法结果有余数?有请输入\"1\",无请输入\"0\""<<endl;
- cin>>YS;
- while(1) //判断输入是否合法
- {
- if(YS != 1&&YS != 0)
- {
- cout<<"输入不合法,请重新输入\"1\"或\"0\":";
- cin>>YS;
- }
- else
- break;
- }
- cout<<"请输入两个值确定算式中a,b的取值范围(请保证前一个值小于后一个值):"<<endl;
- cin>>min>>max;
- while(1) //判断输入是否合法
- {
- if(min>=max)
- {
- cout<<"输入不合法,请重新输入:";
- cin>>min>>max;
- }
- else
- break;
- }
- m=max-min+1;
- for(i=0;i<1000;i++)
- {
- a0[i]=0;b0[i]=0;
- a1[i]=0;b1[i]=0;
- a2[i]=0;b2[i]=0;
- a3[i]=0;b3[i]=0;
- }
- for(i=0;;i++)
- {
- a=min+rand()%m;
- b=min+rand()%m;
- c=rand()%4;
- if(CC==0) //如果CC=0,去除c=2,3的情况
- {
- if(c==2||c==3)
- continue;
- }
- if(FS==0) //如果FS=0,去除c=0,1下结果小于0的情况
- {
- if(c==0)
- {
- if(a+b<0)
- continue;
- }
- else if(c==1)
- {
- if(a-b<0)
- continue;
- }
- }
- if(YS==0) //如果YS=0,且是除法,去除a,b相除有余数的情况
- {
- if(c==3)
- if(0 != a%b)
- continue;
- }
- //将算式分为加、减、乘、除四组
- if(c==0) //加法
- {
- for(j=0;j<=A0;j++)
- {
- if(a==a0[j]&&b==b0[j])
- {
- B0++;break;
- }
- }
- if(B0>0)
- {
- B0=0;continue;
- }
- else
- {
- a0[A0]=a;
- b0[A0]=b;
- c0[A0]=a+b;
- A0++;
- }
- }
- else if(c==1) //减法
- {
- for(j=0;j<=A1;j++)
- {
- if(a==a1[j]&&b==b1[j])
- {
- B1++;break;
- }
- }
- if(B1>0)
- {
- B1=0;continue;
- }
- else
- {
- a1[A1]=a;
- b1[A1]=b;
- c1[A1]=a+b;
- A1++;
- }
- }
- else if(c==2) //乘法
- {
- for(j=0;j<=A2;j++)
- {
- if(a==a2[j]&&b==b2[j])
- {
- B2++;break;
- }
- }
- if(B2>0)
- {
- B2=0;continue;
- }
- else
- {
- a2[A2]=a;
- b2[A2]=b;
- c2[A2]=a+b;
- A2++;
- }
- }
- else //除法
- {
- if(b==0)
- continue;
- for(j=0;j<=A3;j++)
- {
- if(a==a3[j]&&b==b3[j])
- {
- B3++;break;
- }
- }
- if(B3>0)
- {
- B3=0;continue;
- }
- else
- {
- a3[A3]=a;
- b3[A3]=b;
- c3[A3]=a+b;
- A3++;
- }
- }
- if(num==A0+A1+A2+A3) //限制算式数量
- break;
- }
- //输出
- for(i=0;i<A0;i++) // +
- {
- k++;
- if(a0[i]<0)
- cout<<"("<<a0[i]<<")";
- else
- cout<<a0[i]<<" ";
- cout<<"+";
- if(b0[i]<0)
- cout<<"("<<b0[i]<<")";
- else
- cout<<" "<<b0[i]<<" ";
- cout<<"=";
- if(k%line==0)
- cout<<endl;
- else
- cout<<"\t";
- }
- for(i=0;i<A1;i++) // -
- {
- k++;
- if(a1[i]<0)
- cout<<"("<<a1[i]<<")";
- else
- cout<<a1[i]<<" ";
- cout<<"-";
- if(b1[i]<0)
- cout<<"("<<b1[i]<<")";
- else
- cout<<" "<<b1[i]<<" ";
- cout<<"=";
- if(k%line==0)
- cout<<endl;
- else
- cout<<"\t";
- }
- for(i=0;i<A2;i++) // *
- {
- k++;
- if(a2[i]<0)
- cout<<"("<<a2[i]<<")";
- else
- cout<<a2[i]<<" ";
- cout<<"*";
- if(b2[i]<0)
- cout<<"("<<b2[i]<<")";
- else
- cout<<" "<<b2[i]<<" ";
- cout<<"=";
- if(k%line==0)
- cout<<endl;
- else
- cout<<"\t";
- }
- for(i=0;i<A3;i++) // /
- {
- k++;
- if(a3[i]<0)
- cout<<"("<<a3[i]<<")";
- else
- cout<<a3[i]<<" ";
- cout<<"/";
- if(b3[i]<0)
- cout<<"("<<b3[i]<<")";
- else
- cout<<" "<<b3[i]<<" ";
- cout<<"=";
- if(k%line==0)
- cout<<endl;
- else
- cout<<"\t";
- }
- cout<<"请在此输入各式的结果:"<<endl;
- for(i=0;i<num;i++)
- cin>>C[i];
- int t=0,corr=0;
- //判断输入结果的对错
- for(i=0;i<A0;i++)
- {
- if(c0[i]==C[t])
- {t++;corr++;}
- else
- {
- t++;
- cout<<"第"<<t<<"题答错!"<<endl;
- }
- }
- for(i=0;i<A1;i++)
- {
- if(c1[i]==C[t])
- {t++;corr++;}
- else
- {
- t++;
- cout<<"第"<<t<<"题答错!"<<endl;
- }
- }
- for(i=0;i<A2;i++)
- {
- if(c2[i]==C[t])
- {t++;corr++;}
- else
- {
- t++;
- cout<<"第"<<t<<"题答错!"<<endl;
- }
- }
- for(i=0;i<A3;i++)
- {
- if(c3[i]==C[t])
- {t++;corr++;}
- else
- {
- t++;
- cout<<"第"<<t<<"题答错!"<<endl;
- }
- }
- if(line==corr)
- cout<<"恭喜你都答对了!!!!!!"<<endl;
- }
我也不会打代码,您不让抄同学的,那我只有抄网上的了,您看能给几分是几分吧,谢谢您!
四则运算的实现(C++)重做的更多相关文章
- 第二次作业:编写一个四则运算的"软件"
- 题目: 请编写一个能自动生成小学四则运算题目的 “软件”. 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. 需求分析: ●基本功能 ●实现100以内的加法 ●实现100以内 ...
- 王译潇20162314 实验报告三plus结对编程四则运算第一阶段
北京电子科技学院BESTI实验报告 课程:程序设计与数据结构 班级: 1623 姓名: 王译潇 学号:20162314 指导教师:娄佳鹏老师.王志强老师 实验日期:2017年5月12号 实验密级: 非 ...
- 介绍一款原创的四则运算算式生成器:CalculateIt2
家里小朋友读一年级了,最近每天都有一些10以内的加减法口算练习,作为程序员爸爸,自然也是想办法能够偷懒,让电脑出题,给小朋友做些练习.于是,自己在业余时间开发了一个四则运算算式生成器,名为:Calcu ...
- 四则运算安卓客户端UI截图(部分)
1.我们组安卓手机客户端UI设计主要由林培文同学负责,界面中用到的素材全部由他一人用PS制作,所以在素材来源上当属原创啦.正因为UI由一个人设计,同时他还得分担少量后台代码的编写,颇多的工作量与人才短 ...
- 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序
1. 编写一个能自动生成小学四则运算题目的程序.(10分) 基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图. 本题发一篇随笔,内容包括: 题 ...
- Oracle丢失重做日志的几种场景恢复
实验环境:RHEL6.4 + Oracle 11.2.0.4 一.丢失重做日志组中成员 1.1 故障模拟 1.2 处理方法 1.3 实际处理过程 二.丢失重做日志组 2.1 丢失INACTIVE重做日 ...
- ORACLE 移动数据文件 控制文件 重做日志文件
ORACLE数据库有时候需要对存储进行调整,增加分区.IO调优等等,此时需要移动数据文件.重做日志文件.控制文件等等,下文结合例子总结一下这方面的知识点. 进行数据文件.重做日志文件.控制文件的迁移前 ...
- 四则运算appNABCD模型
团队: 郭志豪:http://www.cnblogs.com/gzh13692021053/ 杨子健:http://www.cnblogs.com/yzj666/ 刘森松:http://www.cnb ...
- 第一章-第一题(小学生四则运算)--By郭青云
1.项目需求 a) 除了整数以外,还要支持真分数的四则运算. (例如: 1/6 + 1/8 = 7/24) b) 让程序能接受用户输入答案,并判定对错. 最后给出总共 对/错 的数量. c) 逐步扩 ...
随机推荐
- oracle,sqlserver同一个表两个字段和成一个列查询 (详询请加qq:2085920154)
sql 同一张表开两个字段合成一个字段 例如 SQL tab 字段1 字段2 字段3 3 4 莫 合成 tab 字段1 字段2 3-4 莫 SQL SERVER select 字段1 + ...
- MVC 之 WebAPI 系列一
1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过 ...
- HTML颜色代码表
#000000 #2F0000 #600030 #460046 #28004D #272727 #4D0000 #820041 #5E005E #3A006F ...
- ATL 获取flash信息
// This goes past the ATL includes #import "C:/WINDOWS/system32/Macromed/Flash/Flash9e.ocx" ...
- freeCodeCamp:Mutations
蛤蟆可以吃队友,也可以吃对手. 如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回true. 举例,["hello", "Hello"]应该返回 ...
- SVN系统的几个术语
SVN系统的几个术语 User:用户,可以远程连接到SVN服务器的权限实体. User Group:用户组,用于管理一组权限相同的用户. Repository:版本库,在服务器端保存着的项目中所有的文 ...
- Linux下Hadoop2.6.0集群环境的搭建
本文旨在提供最基本的,可以用于在生产环境进行Hadoop.HDFS分布式环境的搭建,对自己是个总结和整理,也能方便新人学习使用. 基础环境 JDK的安装与配置 现在直接到Oracle官网(http:/ ...
- linux系统编程之lseek帮助文档
通过man 2 lseek可以查看linux中的系统函数lseek函数的帮助文档,为了更好的学习,我把这些重要内容翻译过来 NAME lseek - reposition read/write fil ...
- iframe自适应高度,根据src中页面来得到。
在页面布局时,div+iframe能根据具体的大小进行布局.但,对于iframe的适应大小,仍需js获取内部html文件来改变. function reinitIframe(){ var iframe ...
- easymock+junit+spring学习·
Easymock学习 Author:luojie 1. Easymock简介 EasyMock 是一套通过简单的方法对于指定的 ...