1)设计目的:
应用于小学生自己对四则运算的检测
2)编程环境:
使用VS2010,编程语言C++
3)具体思路:
程序主题分为三个部分:定义及调用的头文件、四则运算、随机数获得。其中加.减.乘.除四种运算的处理过程,通过主函数的switch开关语句和一个while循环来调用,该程序的关键是通过使用"rand()%10"来获取一个0到9的一位整数随机值或真分数值来为用户出题。
#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"); }
程序图
总结
在接受来自多方面的帮助下,完成这次作业。通过这次程序的制作,对switch语句和随机函数有的用法,和使用的思想有了新的认识,对其中的一些细节和程序整体的构造有了一定的认识。让我认识到自己存在着很多不足之处,在这之后的学习之中,努力完善自己的各个方面。