一、所选题目
题目1
我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
能够自动生成四则运算练习题
可以定制题目数量
用户可以选择运算符
用户设置最大数(如十以内、百以内等)
用户选择是否有括号、是否有小数
用户选择输出方式(如输出到文件、打印机等)
最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二、部分代码
实现主要功能的函数如下:
(1)void suiji(int n,int m,int lenth,int b[])函数:随机生成不带小数的整数四则混合算式
(2)void suijip(int n,int m,int lenth,int b[])函数:随机生成带小数的四则混合算式
(3)void fuhao(int n,FILE *fp)函数:随机生成算式中的运算符号
void fuhao(int n,FILE f)
{
switch(n)
{
case 0:fprintf(f,"+");break;
case 1:fprintf(f,"-");break;
case 2:fprintf(f,"");break;
case 3:fprintf(f,"/");break;
}
}
(4)double chushup(double *a,int m)函数:生成除数不为0的小数
double chushup(double a,int m)
{
double chong;
while(1)
{
chong=rand()/(double)(RAND_MAX/m);
if(chong!=0.0)
break;
}
return chong;
}
(5)int chushu(int *a,int m)函数:生成除数不为0的整数
int chushu(int a,int m)
{
int chong;
while(1)
{
chong=rand()%m;
if(chong!=0)
break;
}
return chong;
}
角色扮演:驾驶员
查看源代码,请:点击此处
三、运行结果如下
1、随机生成100个、最大算数为100、拥有"+、-、*、/"的整数混合运算式,并用文件输出
2、随机生成30个、最大算数为100、拥有"+、-、*、/"的小数混合运算式,并用文件输出
3、随机生成20个、最大算数为30、不含有"+"的整数混合运算式,并用文件输出
4、随机生成20个、最大算数为100、不含有"/"的小数混合运算式,并用文件输出
5、随机生成10个、最大算数为100、只有"+"的整数混合运算式,并用文件输出
四、总结
在此次结队编程中,通过和小伙伴的交流,我们最终确定了所用的编写思路和方法,进而我们进行了此次作业的编程工作。我在编写代码的过程中,一直在犯一些特别低级的错误,比如命名非常不规则、格式不规范、查错找错时,小伙伴会及时的批评、矫正和提醒。同时,当遇到一些不太了解、不会用的知识点时,小伙伴都会及时的上网查找学习,使整个编程过程都比较顺利、省时省力。最后,我和小伙伴在经过几个下午的艰苦奋战之后,终于实现了老师所要求的大部分功能。但是,唯一有点遗憾的就是由于时间的原因,没能实现界面部分,主要还是对界面这一方面不是很了解,希望以后能对界面有比较深入的了解和学习。
通过第二次和小伙伴的结队编程合作,的确让我体会到了自己在编程过程中的有很多不好的习惯,比如在编写代码过程中对变量名、函数名的命名很随意,以及编写的代码在对齐格式、注释等方面也不是很严格,导致后期出现错误再回来检查时,需要重新返工,再此查找理解解变量的语义、函数所实现的功能,在此过程中也浪费了很多宝贵的时间。通过这次编程的确让我受到了非常非常深刻的教训,以后一定会注意的。注意:细节决定成败。