一、实验目的:

1、帮助老师产出每周随机的300道含有两个运算符的四则运算,。

2、每次题目的产出均为随机,增强同学的四则运算能力。

二、实验环境:

Visual C++

三、实验内容:

1、实现随机生成两个运算符的四则运算习题,节约老师时间。

2、制作一个小清新的界面风格,让老师一目了然.

3、学生在完成力所能及的题目之后,可以尝试试题内难题,超前完成学习任务,为考上民办初中打下良好的基础。

四、实验步骤

 

清新界面,一目了然,明确了本次实验的目的

题目完全随机且不重复,在保证小学生的日常作业难度的情况下超前布置了25%的难题,锻炼小学生的自主探究以及融会贯通的能力

五、实验结果及分析

我们原本制作的程序过于理想化,在运行之后的结果确实随机,但是第二次运行之后却发现第二次的输出题目与第一次完全相同,于是我们推到重建,使用完全随机数,使得题目不重复。

六、实验体会

本次实验我们采用的是结对编程的方式完成的,第一次使用这样的方式我们收获了很多,首先我们在使用哪种计算机语言上产生了分歧,最后采用的最基础的C语言,然后我们在编程的过程中遇到过代码出错,语法问题的情况,以往我需要花费大量的时间去纠错,但是这次我刚编写好一句,同伴就指出了我的语法错误,不仅在时间上完成了效率最大化,我们由于意见不同产生的分歧也使得程序完成的更加圆满。

源代码

 1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <conio.h>
4 #include <time.h>
5 int main(){
6 int a = 0;
7 int b = 0;
8 int c = 0;
9 int d;
10 int mode = 0;
11 int i = 0;
12 printf("--------------------------------------------\n");
13 printf("1 生成300道随机四则运算题 2 退出\n");
14 printf("请输入:");
15 scanf("%d",&d);
16 if(d == 1){
17 srand((unsigned)time( NULL ) ); //初始化随机数发生器,使得每次运行生成的随机数不同
18 for(i=0;i<300;i++){ //做三百道题
19 a = rand() % 100; //生成一个0~99之间的随机数
20 b = rand() % 100; //生成一个0~99之间的随机数
21 c = rand() % 100; //生成一个0~99之间的随机数
22 mode = rand() % 16; //生成一个0~16之间的随机数,代表运算符
23 //printf("%d", a); //打印算式
24 switch(mode){ //确定运算符
25 case 0:
26 printf("%d+%d+%d = \n", a, b, c);
27 break;
28 case 1:
29 printf("%d+%d-%d = \n", a, b, c);
30 break;
31 case 2:
32 printf("%d+%d*%d = \n", a, b, c);
33 break;
34 case 3:
35 printf("%d+%d/%d = \n", a, b, c);
36 break;
37 case 4:
38 printf("%d-%d+%d = \n", a, b, c);
39 break;
40 case 5:
41 printf("%d-%d-%d = \n", a, b, c);
42 break;
43 case 6:
44 printf("%d-%d*%d = \n", a, b, c);
45 break;
46 case 7:
47 printf("%d-%d/%d = \n", a, b, c);
48 break;
49 case 8:
50 printf("%d*%d+%d = \n", a, b, c);
51 break;
52 case 9:
53 printf("%d*%d-%d = \n", a, b, c);
54 break;
55 case 10:
56 printf("%d*%d*%d = \n", a, b, c);
57 break;
58 case 11:
59 printf("%d*%d/%d = \n", a, b, c);
60 break;
61 case 12:
62 printf("%d/%d+%d = \n", a, b, c);
63 break;
64 case 13:
65 printf("%d/%d-%d = \n", a, b, c);
66 break;
67 case 14:
68 printf("%d/%d*%d = \n", a, b, c);
69 break;
70 case 15:
71 printf("%d/%d/%d = \n", a, b, c);
72 break;
73 default:
74 printf("something is wrong!\n");
75 break;
76 }
77 }
78 }
79 else if(d == 2)
80 return 0;
81 }

基于C语言的小学四则运算出题器的更多相关文章

  1. EGener2四则运算出题器

    项目源码: https://git.coding.net/beijl695/EGener2.git (代码纯属原创,设计细节不同,请思量) 项目发布后,由于期间各种事情,耽搁至最后一天交付.这次的项目 ...

  2. C++四则运算出题器---有答案版

    一.实验题目 四则运算扩展----能接受答案并判断对错然后给出成绩. 二.实验思路 在每次输出算式后面输入答案,然后判断对错,对则统计. 稍微优化了一下界面. 三.代码 // 12345.cpp : ...

  3. 四则运算出题器(C++)-BUG修复

    定制题目数量这个功能测试: (1)输入题目数为负数时: 可正确处理: (2)输入题目数量为0时: 可正确处理: (3)输入题目数量为小数时: 程序运行出错: 错误分析: 因为代码中题目数量的变量Que ...

  4. 四则运算出题器(c++)

    一.设计思路 这次版本加入了一下功能: 可定制题目的数量:修改循环次数: 可以定制每行打印的题目数和行间距的大小(当前题目序号可以整除定制数时输出输入的行间距个换行符): 可以定制算式的范围(修改随机 ...

  5. paperOne基于java web的简易四则运算出题网站

    项目成员:张金生     张政 需求概要 1.运算数均为正整数 2.包含的运算符有+,-,*,/ 3.除法运算结果为整除运算 4.批量生成题目并判题 核心功能分析 1.题目生成——java后端 题目生 ...

  6. 结对编程——paperOne基于java web的简易四则运算出题网站

    项目成员:张金生     张政 需求分析: 1.要进行四则运算: 2.运算题目随机: 3.进行对错判断: 4.整数运算. 程序概要: 1.用JSP实现: 2.用户可选择题目数量: 3.答题页用表格列出 ...

  7. C语言基于GTK+Libvlc实现的简易视频播放器

    小编心语:现下,各种视频播放软件层出不穷,竞争也越演越烈,不知道大家有木有这个想法,小编有时在想能不能做一款属于自己的视频播放器呢~小编特意去实验楼,整理出了这篇关于如何实现简易视频播放器的博文.简易 ...

  8. 基于C# 语言的两个html解析器

    基于C# 语言的两个html解析器 1)Html Agility Pack http://nsoup.codeplex.com/ 代码段示例: HtmlDocument doc = new HtmlD ...

  9. 【软件工程Ⅱ】作业四 |个人项目-小学四则运算 “软件”之初版(C语言)

    本次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2186 本次作业代码的github地址:https://gith ...

  10. 小学四则运算结对项目报告(GUI)

    小学四则运算结对项目报告(GUI) 一.Coding.Net项目地址: https://git.coding.net/wsshr/Calculation.git 二.PSP表格(完成前): PSP 任 ...

随机推荐

  1. asp.net core 浏览器向服务端传递对象或对象数组参数服务端接收方式

    日常开发中我们经常会在客户端向服务器端传递参数,下面以asp.net core为例 专门分享传递对象或对象数组方法 一.键值对专递对象 以下是一个表单,现在需求是将以下 表单 所有input元素以独享 ...

  2. idea 导入项目之后,只显示项目文件,不显示项目结构

    导入项目之后,只显示项目文件,不显示项目结构 解决方法 1.点击file->project structure..->Modules 点击右上角+加号 ->import Module ...

  3. python学习之路---基础概念扩展:变量,表达式,算法,语句,函数,模块,字符串

    对于学过一点编程语言的人,学习python基础知识不难,基本大同小异 本章是根据一本书来学习python的编程(强烈推荐)来记录学习python中的有意思的总结 Python 基础教程(第三版)    ...

  4. 使用CMD创建任意文件

    C:\>fsutil file createnew 用法 : fsutil file createnew <文件名> <长度> 范例:fsutil file create ...

  5. linux 部署python 系统服务管理命令 yum源设置 linux定时任务 python在linux的虚拟环境安装以及使用

    安装python3 三种方式 ==linux下很多脚本默认都用python2, 所以不要把python3的执行文件改为python,因为linux里默认python就是运行python2版本 == y ...

  6. React中使用CSS的N种方式

    1.在组件中直接使用style,注意,div1各个属性值加双引号 const div1 = { width: "300px", margin: "30px auto&qu ...

  7. 光纤加速卡第410篇:基于XCVU9P+ C6678的40G光纤的加速卡 光纤的加速卡 无线通信

    光纤加速卡第410篇:基于XCVU9P+ C6678的40G光纤的加速卡 光纤的加速卡 无线通信   基于XCVU9P+ C6678的40G光纤的加速卡 一.板卡概述 二.技术指标 •  板卡为自定义 ...

  8. Unity算法之A星- A*Pathfind Project插件的使用

    先上效果图 首先上  插件地址  (如果没有积分可以评论区联系我) 1.下载完毕后导入unity 导入后可以在Component里面看到多了一个Pathfinding选项 2.场景搭建 首先新建两个层 ...

  9. spider_requests库简单ip代理

    """使用requests 设置ip代理"""import requestsdef func(): url = 'http://ip.273 ...

  10. MySQL单表存储上限

    -------------- mysql的上限不是单纯的根据内容的大小决定的.跟数据的条数也有关系. 可以把mysql理解成一个服务器.处理数据的通道的流量有限.(这段瞎编的) MySQL本身并没有对 ...