level 7
cerdarwang
楼主
我来盖个大楼。不知道能起来不,呵呵😊
起初这个程序,就是一个控制台提示符的人机对话。提示输入+-/*。输入后随机生成符号两边的两个数。然后再计算出两个数做加减乘除的结果。作为答案保留起来。然后我们就用scanf函数接收键盘输入。对比输入结果和之前保存的答案。来判断结果是否正确。整个思路就是这么简单。
程序里就两个关键函数。一个是出题函数,一个是判断对错函数。
判断对错函数很简单。把结果和答案作为参数输入,如果相等,说明结果正确。返回1。不想等返回0。
出题函数就是随机生成两个10以内的整数。与参数传递进来的运算符组合。生成题目。并且计算好结果保存到数据结构Timu中去。这里边使用了几个字符串函数。因为我不知道标准函数库里有没有,又急着用。有找不到手册。所以自己写了4-5个字符串函数都放在myDIY.h里了。这样有了这几个字符串处理函数,出题函数也就顺利完成了。
这样整个程序包含了3个文件。
1.主文件,控制人机界面。开始提示用户输入+-*/号来确定题目内容。然后出题,等待用户输入结果。设置循环来控制实现结果正确加上分数,出新题。总题目数5,全对100分。结果错误,重新输入答案。最多可以错3次。3次算错不加分。出新题。最后输出分数作为成绩。等待用户输入+-*/或退出q。
2.kaoshi.h,头文件包括,出题,判断结果对错,两个函数和Timu结构。Timu数据结构包括两个成员。字符串,题目,整数,答案。
3.myDIY.h,出题函数中用到的字符串处理函数。
下面跟帖中我给出源文件。
这个状态,就算是这个程序的0.0001版本吧。因为这个程序写完后给我老婆看了一下。说小孩子都不怎么认识字。看着就没意思。所以我就想还是要彩色的。图形化的才行。可是我就刚会使用数据结构,数组,指针。连文件流还不会。还不懂什么数据算法。更不会什么SDL什么的。正一筹莫展,发现精贴区有个朋友用printf函数搞了个画像素图的程序。于是就着手写图片中的程序了。呵呵。找到画笔就好办了。鼓捣着就有了这么个小东西了。如果吧里允许我可以先发apk上来。陆续把源代码和写代码的过程分享上来。
对了在写0.001版本的时候碰到个事情。估计对新手算是个小坑。typedef相当于,可以定义自己的数据类型。但是用这个数据类型再定义这个类型的指针可是不行的。相当于就是相当于,绝不是等于呵呵😊。typedef struct Timu TIM;可以用TIM来定义数据结构。TIM Tim,这个可以。可是TIM *pTIM定义结构指针是不行的。只能用typedef struct Timu * pTIM 来定义结构指针。呵呵,我是自学成才的看书看的也不细致。













2019年04月08日 15点04分
1
起初这个程序,就是一个控制台提示符的人机对话。提示输入+-/*。输入后随机生成符号两边的两个数。然后再计算出两个数做加减乘除的结果。作为答案保留起来。然后我们就用scanf函数接收键盘输入。对比输入结果和之前保存的答案。来判断结果是否正确。整个思路就是这么简单。
程序里就两个关键函数。一个是出题函数,一个是判断对错函数。
判断对错函数很简单。把结果和答案作为参数输入,如果相等,说明结果正确。返回1。不想等返回0。
出题函数就是随机生成两个10以内的整数。与参数传递进来的运算符组合。生成题目。并且计算好结果保存到数据结构Timu中去。这里边使用了几个字符串函数。因为我不知道标准函数库里有没有,又急着用。有找不到手册。所以自己写了4-5个字符串函数都放在myDIY.h里了。这样有了这几个字符串处理函数,出题函数也就顺利完成了。
这样整个程序包含了3个文件。
1.主文件,控制人机界面。开始提示用户输入+-*/号来确定题目内容。然后出题,等待用户输入结果。设置循环来控制实现结果正确加上分数,出新题。总题目数5,全对100分。结果错误,重新输入答案。最多可以错3次。3次算错不加分。出新题。最后输出分数作为成绩。等待用户输入+-*/或退出q。
2.kaoshi.h,头文件包括,出题,判断结果对错,两个函数和Timu结构。Timu数据结构包括两个成员。字符串,题目,整数,答案。
3.myDIY.h,出题函数中用到的字符串处理函数。
下面跟帖中我给出源文件。
这个状态,就算是这个程序的0.0001版本吧。因为这个程序写完后给我老婆看了一下。说小孩子都不怎么认识字。看着就没意思。所以我就想还是要彩色的。图形化的才行。可是我就刚会使用数据结构,数组,指针。连文件流还不会。还不懂什么数据算法。更不会什么SDL什么的。正一筹莫展,发现精贴区有个朋友用printf函数搞了个画像素图的程序。于是就着手写图片中的程序了。呵呵。找到画笔就好办了。鼓捣着就有了这么个小东西了。如果吧里允许我可以先发apk上来。陆续把源代码和写代码的过程分享上来。
对了在写0.001版本的时候碰到个事情。估计对新手算是个小坑。typedef相当于,可以定义自己的数据类型。但是用这个数据类型再定义这个类型的指针可是不行的。相当于就是相当于,绝不是等于呵呵😊。typedef struct Timu TIM;可以用TIM来定义数据结构。TIM Tim,这个可以。可是TIM *pTIM定义结构指针是不行的。只能用typedef struct Timu * pTIM 来定义结构指针。呵呵,我是自学成才的看书看的也不细致。












