作业二(1)
作业二(1):个人编程项目——四则运算
1)作业要求:
包括整数,真分数的四则运算
2)编程环境:
使用VS2010,编程语言C++
3)具体思路:
因为是随机出题器,所以会用到随机数,我的想法是:先定义两个随机数作为运算数,因为算法会用到+—*/所以再定义四个随机数,用于调用运算符,之后再进行运算。
4)实验代码:
#include<iostream>
#include<stdlib.h>
#include<iomanip>
#include<time.h>
using namespace std;
#define random() (rand()%100)//运用rand()函数随机生成100以内的整数。
void main()
{
int s1,s2,s3,s4;
srand((int)time(NULL));//运用srand函数设立随机种子,让种子和当前时间有关,避免每次生成的随机数相同
for(int i=0;i<30;i++)//运用for循环,共循环30次,生成30随机运算。
{
s1=random();
s2=random();
int k=(int)rand()%5;//运用rand()函数随机生成5以内的整数。
switch(k)
{
case 0:{cout<<s1<<"+"<<s2<<"=";
break;} //进行整数加法运算
case 1:{cout<<s1<<"-"<<s2<<"=";
break;} //进行整数减法运算
case 2:{cout<<s1<<"*"<<s2<<"=";
break;} //进行整数乘法运算
case 3:{
while(s2==0)
s2=random();
cout<<s1<<"/"<<s2<<"=";
break;} //进行整数除法运算
case 4: //真分数运算部分
{
while(s2==0||s1>=s2)
{
s1=random();
s2=random();
}
s3=random();
s4=random();
while(s4==0||s3>=s4)
{
s3=random();
s4=random();
}
int q=(int)rand()%4;
switch(q)
{
case 0:
cout<<"("<<s1<<"/"<<s2<<")"<<"+"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
case 1:
cout<<"("<<s1<<"/"<<s2<<")"<<"-"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
case 2:
cout<<"("<<s1<<"/"<<s2<<")"<<"*"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
case 3:
cout<<"("<<s1<<"/"<<s2<<")"<<"/"<<"("<<s3<<"/"<<s4<<")"<<"=";
break;
}
}
}
cout<<endl;
}
system("pause");
}
结果截图:
5)实验总结:
虽然第一次作业不是很好,老师也发现有许多的问题,干事修改后,希望老师给个成绩,通过这次 作业让我了解和学习到了很多的知识,同时让我对c语言这门课程方面的知识,有了一定的了解,让我深深感觉到了,这么课程的重要性,同时自己也有着许许多多的问题,和自己不了解的一些知识,在同学和老师的帮助下,也让我增进不少,从同学的帮助下,在网络上找到一些自己能看的懂得代码,同时也让好的同学帮助我努力的教会我,让我体会到了c语言的乐趣和魅力,在这些知识的不足,也让我知道我还有很大的上升空间,让我弥补一些自己身上的不足,希望下次作业能有更大的进步和提高。![这次试验的优点是在不断地调试和运行之后终于实现了这个代码,完成了c++创建栈的全部过程, 。,真正是我收获最大的一次,但问题是懂得了算法,写不出代码。嗯,所以,在接下来的学习中,还要加深对代码这一块的了解和掌握。