软件工程个人作业03
Posted 那年夏天123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件工程个人作业03相关的知识,希望对你有一定的参考价值。
//四则运算2
//2016 3 14 Sunzhe
#include<fstream>
#include<iostream>
#include<stack>
#include<string>
#include<time.h>
using namespace std;
void chengchufa(int m,int s)
{
int v;
int j[100],k[100],l[100];//用于检查重复的数组
cout<<"请输入选择:1.有余数 2.无余数:"<<endl;
cin>>v;
for(int i=0;i<m;i++)
{
int n=rand()%4; //产生随机数,运算符
int a=rand()%s;//产生1~s随机数
int b=rand()%s;//产生1~s随机数
j[i]=n;
k[i]=a;
l[i]=b;
for(int r=i-1;r>=0;r--)//向前检查重复,如果重复则重新生成
{
if(j[r]==j[i]&&k[r]==k[i]&&l[r]==l[i])
{
int n=rand()%4; //产生随机数,运算符
int a=rand()%s;//产生1~s随机数
int b=rand()%s;//产生1~s随机数
}
}
if(n==0){
cout<<a<<"+"<<b<<"="<<endl;
}
else if(n==1){
cout<<a<<"-"<<b<<"="<<endl;
}
else if(n==2){
cout<<a<<"*"<<b<<"="<<endl;
}
else{
if(a<b)//实现被除数比除数大
{
int w;
w=a;
a=b;
b=w;
}
if(b==0)
{
b++;
}
if(v==1)//有余数
{
cout<<a<<"/"<<b<<"="<<endl;
}
if(v==2)
{
a=a-a%b;
cout<<a<<"/"<<b<<"="<<endl;
}
}
}
}
void jiajianfa(int m,int s){
int u;
int j[100],k[100],l[100];//用于检查重复的数组
cout<<"请输入选择:1有负数 2无负数"<<endl;
cin>>u;
for(int i=0;i<m;i++)
{
int n=rand() %2;//产生随机数,运算符的
int a=rand()%s;//产生1~s随机数
int b=rand()%s;//产生1~s随机数
j[i]=n;
k[i]=a;
l[i]=b;
for(int r=i-1;r>=0;r--)
{
if(j[r]==j[i]&&k[r]==k[i]&&l[r]==l[i])
{
int n=rand()%4; //产生随机数,运算符
int a=rand()%s;//产生1~s随机数
int b=rand()%s;//产生1~s随机数
}
}
if(u==1) //有负数
{
if(n==0)
{
cout<<"(-"<<a<<")+"<<b<<"="<<endl;
}
else
{
cout<<a<<"-"<<b<<"="<<endl;
}
}
if(u==2)//无负数
{
if(a<b)//实现减法无负数
{
int w;
w=a;
a=b;
b=w;
}
if(n==0)
{
cout<<a<<"+"<<b<<"="<<endl;
}
else
{
cout<<a<<"-"<<b<<"="<<endl;
}
}
}
}
void dayinfangshi(int m,int s){
int t;
cout<<"请输入选择1.在屏幕输出2.在文件输出"<<endl;
cin>>t;
if(t==1)
{
for(int i=0;i<m;i++)
{
int n=rand()%4; //产生随机数,运算符
int a=rand()%s;//产生1~s随机数
int b=rand()%s;//产生1~s随机数
if(n==0){
cout<<a<<"+"<<b<<"="<<endl;
}
else if(n==1){
cout<<a<<"-"<<b<<"="<<endl;
}
else if(n==2){
cout<<a<<"*"<<b<<"="<<endl;
}
else{
if(a<b)//实现被除数比除数大
{
int w;
w=a;
a=b;
b=w;
}
if(b==0)
{
b++;
}
cout<<a<<"/"<<b<<"="<<endl;
}
}
}
if(t==2)
{
ofstream outfile("f1.dat",ios::out);//定义文件流对象,打开磁盘文件f1.dat
if(! outfile) //如果打开失败返回0值
{
cerr<<"open error!"<<endl;
exit(1);
}
for(int i=0;i<m;i++)
{
int n=rand()%4; //产生随机数,运算符
int a=rand()%s;//产生1~s随机数
int b=rand()%s;//产生1~s随机数
if(n==0){
outfile<<a<<"+"<<b<<"="<<endl;
}
else if(n==1){
outfile<<a<<"-"<<b<<"="<<endl;
}
else if(n==2){
outfile<<a<<"*"<<b<<"="<<endl;
}
else{
if(a<b)//实现被除数比除数大
{
int w;
w=a;
a=b;
b=w;
}
if(b==0)
{
b++;
}
outfile<<a<<"/"<<b<<"="<<endl;
}
}
outfile.close();
}
}
int level(char m){//计算符号优先级
switch(m)
{
case‘+‘:
case‘-‘:
return 1;
case‘*‘:
case‘/‘:
return 2;
case‘(‘:
case‘)‘:
return 0;
case‘#‘:
return -1;
default:
break;
}
}
void intToString(int n,string &a) //将数字转化为字符串的函数
{
char str[256];
sprintf(str,"%d",n);
a=str;
}
void hunheyunsuan(int m,int f){
}
void panduandaan(int m,int f){//可以判断答案正确与否的出题
int h;
int count=0;//用来计算用户答对题的个数
int daan;//用户输入的答案
cout<<"请输入选择:"<<endl;
cout<<"1.简单的运算(只有一种运算):"<<endl;
cout<<"2.混合运算(可有多种运算):"<<endl;
cin>>h;
if(h==1)
{
for(int i=0;i<m;i++)
{
srand((int)time(0));
int n=rand() %4;//产生随机数,运算符的
int a=rand()%f+1;//产生1~f随机数
int b=rand()%f+1;//产生1~f随机数
if(n==0)
{
cout<<a<<"+"<<b<<"="<<endl;
cout<<"请输入答案:"<<endl;
cin>>daan;
if(daan==a+b)
{
cout<<"恭喜你答对了>>..<<!"<<endl;
count++;
}
else
{
cout<<"很遗憾你打错咯!"<<endl;
}
}
else if(n==1)
{
if(a<b)//实现被减数比减数大
{
int w;
w=a;
a=b;
b=w;
}
cout<<a<<"-"<<b<<"="<<endl;
cout<<"请输入答案:"<<endl;
cin>>daan;
if(daan==a-b)
{
cout<<"恭喜你答对了>>..<<!"<<endl;
count++;
}
else
{
cout<<"很遗憾你打错咯!"<<endl;
}
}
else if(n==2)
{
cout<<a<<"*"<<b<<"="<<endl;
cout<<"请输入答案:"<<endl;
cin>>daan;
if(daan==a*b)
{
cout<<"恭喜你答对了>>..<<!"<<endl;
count++;
}
else
{
cout<<"很遗憾你打错咯!"<<endl;
}
}
else
{
if(a<b)//实现被除数比除数大
{
int w;
w=a;
a=b;
b=w;
}
if(b==0)
{
b++;
}
cout<<a<<"/"<<b<<"="<<endl;
cout<<"请输入答案:"<<endl;
cin>>daan;
if(daan==a/b)
{
cout<<"恭喜你答对了>>..<<!"<<endl;
count++;
}
&n
以上是关于软件工程个人作业03的主要内容,如果未能解决你的问题,请参考以下文章