背景

伴随着人类社会的进步,人们的计算工具也在不断的变化,从远古时期的结绳计数,到算筹,算盘,以及近代的机械计算机、计算尺,直至今天我们广泛运用的电子计算机。计算工具的每一次进步,都导致科学技术发生深刻的革命。

人类最初是用手指来作为记数和计算工具的。在古代,人们还广泛地使用过筹码和结绳来作为记数和计算的工具,其中筹码可能采用石子、木棍、滑片等,每一个可以单独使用也可用工具在其刻上道使用。我们中华民族的祖先,在公元前5世纪以前开始使用算筹。利用算筹记数,用笔写下来就是筹算数字,当时这在世界上是十分先进的。而作为我们的祖先对世界文明的重大贡献——四大发明之一的珠算盘,则是人类经过设计加工,制造出来的第一种计算工具。十六世纪以来,随着机械设计和制造水平的提高,同时也为了满足日益复杂的计算要求,许多科学家设计制造了以齿轮为主要构件的机械式计算机。自从上个世纪四十年代电子计算机的发明,人类计算工具的发展进入了一个新纪元。计算机以人类技术史上前所未有的高速度发展着,其主要构件由电子管、晶体管、集成电路,一直发展到运用超大规模集成电路。计算机的计算速度也从每秒几千次算术计算,提高到每秒上万亿次算术计算。

摘 要

小学生四则运算,是利用VC++软件编写的一程序,电脑可随机的出10道四则运算题,每题十分。答题者输入需要运算的数,其中要求算式面向小学1~2年纪,数的大小不超过50且运算的结果必须在0~50之间,答题者有三次答题机会,在这三次机会之内答出,系统会自动根据答案的正确与否,得出分数,按照相应的分数给出级别,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”

功能要求

题目:小学生算术四则运算测试程序

面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答。

功能要求:

(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;

(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;

(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;

(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;

(5)总成绩90以上显示“SMART”80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN”

程序流程

打开Visual C++软件,输入编写的程序,程序无误后,系统会自动生成10道题。输入数字,结果会根据程序设计者编写的程序自动算出。若输入的数超过50或输入数之后结果超过50或是负数的。系统将会显示“结果不正确,你还有j次机会,加油”(1<=j<3)。若次数超过3次,依然还没输对,结果“失败”,程序结束。若在这之内,系统会自动根据你做的题的正确与否给出相应成绩。

程序执行

1.打开Visual C++软件,执行“File—>new”。

2.输入程序

#include

struct struc { int a;

int b;

int c;

int add;

int grade;

};

int sj(int n)

{int t;

t=rand()%n;

return t;

}

void ctm_i(struct struc *t)

{ t->a=sj(51);

t->c=sj(2);

if(t->c==1) { t->b=sj(51-(t->a));

t->add=(t->a)+(t->b);}

else { t->b=sj((t->a)+1);

t->add=(t->a)-(t->b);}

t->grade=10;

}

void tcm_i(struct struc *t,int n)

{ int ad;

printf("********************************************************************************n");

printf("................................................................................n");

printf("现在进行第%d题nn",n+1);

printf("本题你总共有三次机会nn");

if(t->c==1)printf("%d+%d=",t->a,t->b);

else printf("%d-%d=",t->a,t->b);

scanf("%d",&ad);

if(ad==t->add)

{ t->grade=10;

printf("很好,本题得10分nn");

}

else { printf("结果不正确,你还有两次机会,加油nn");

scanf("%d",&ad);

if(ad==t->add)

{ t->grade=7;

printf("不错,本题得7分nn");

}

else { printf("结果不正确,你还有一次机会,加油nn");

scanf("%d",&ad);

if(ad==t->add)

{ t->grade=5;

printf("还行,本题得5分nn");

}

else { t->grade=0;

printf("失败,本题得0分nn");

printf("正确结果是%dnn",t->add);

}

}

}

printf("................................................................................n");

printf("********************************************************************************n");

}

void main()

{ int i,j,g=0;

char x;

struct struc test[10];

srand((unsigned)time(NULL));

printf("********************************************************************************n");

printf("................................................................................n");

printf("***********************欢迎进入小学生算术四则运算测试程序***********************nn");

printf("...本程序是面向小学1~2年级学生,随机选择两个整数和加减法形成算式要求学生解答....n");

printf("功能说明:n");

printf("(1)电脑随机出10道题,每题10分,程序结束时显示学生得分;n");

printf("(2)确保算式没有超出1~2年级的水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;n");

printf("(3)每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案;n");

printf("(4)对于每道题,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分;n");

printf("(5)总成绩90以上显示“SMART”,80-90显示“GOOD”,70-80显示“OK”,60-70显示“PASS”,60以下“TRY AGAIN“。n");

printf("................................................................................n");

printf("********************************************************************************n");

for(i=0;i<=9;i++)

{ ctm_i(&test[i]);

for(j=0;j

if(test[i].a==test[j].a&&test[i].b==test[j].b&&test[i].c==test[j].c)

ctm_i(&test[i]);

}

printf("准备好了吗?按任意键进入");

scanf("%c",&x);

for(i=1;i<=5;i++)

{ printf("********************************************************************************n");

printf("................................................................................n");

}

for(i=0;i<=9;i++)

tcm_i(&test[i],i);

printf("测试结束");

for(i=0;i<=9;i++)

g=g+test[i].grade;

if(g>90) printf("SMART");

else if (g>80) printf("GOOD");

else if (g>70) printf("OK");

else printf("TRY AGAIN");

}

3.Fileàsaveàctrl+s

4.编译程序compile—ctrl+F7

5.建立程序Build—F7

6.运行程序Execute—ctrl+F5

实验结果

进入界面

测试第一题

其余题目测试

最后一题

实验心得

作为一名计科系的学生,程序设计是至关重要的。程序设计报告的结束,意味着程序设计方法学这门课程即将终止,但这并不意味着 对程序设计学习的结束。

通过半学期的程序设计方法学的学习,不仅使我们对以前学过的知识有了更进一步的了解和掌握,而且让我们学习到了以往未接触过的一些方面,如:VC++软件的使用、C++程序的编写、不同类型程序的编写形式。

这次的社会实践报告让我们学到了很多东西,让我们能够将课堂上学习到的知识与实践相结合,不再是让我们只死读书,学会将学到的理论知识运用到生活中的具体事情中。而且通过这次的实践报告,我们小组成员之间相互探讨,彼此分工合作,使本来需要很长时间才能完成的工作很快就被完成,这让我们深刻意识到团队合作的重要性,团结的重要性。

程序和实践报告虽然都完成了,但不可避免的还存在一些不好之处。所以,我们仍旧还会继续努力,掌握更多的知识,学习永无止境。

c语言做小学生测验程序,[转载]程序设计方法学课程设计--小学生算术四则运算测试程序(C)...相关推荐

  1. 小学生算术加法测试c 语言,程序设计方法学课程设计--小学生算术四则运算测试程序(C)...

    背景 伴随着人类社会的进步,人们的计算工具也在不断的变化,从远古时期的结绳计数,到算筹,算盘,以及近代的机械计算机.计算尺,直至今天我们广泛运用的电子计算机.计算工具的每一次进步,都导致科学技术发生深 ...

  2. C语言小学生英语CAI,C语言课程设计小学生心算CAI系统报告书

    C语言课程设计小学生心算CAI系统报告书 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 小学生心算CAI系统 专 业 电气工程及其自动化 班 级 电气0985 学 号 20 ...

  3. c语言课程设计 湖南工程学院 小学生cai 系统 2013,研究报告C语言课程设计小学生心算CAI系统报告书.doc...

    研究报告C语言课程设计小学生心算CAI系统报告书 应用技术学院 课 程 设 计 报 告 课程名称 C语言课程设计 课题名称 小学生心算CAI系统 专 业 电气工程及其自动化 班 级 电气0985 学 ...

  4. Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计

    Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计 程序界面 ① 游戏开始界面(如下图): 显示游戏标题,提供"开始游戏"."游戏模式"和" ...

  5. Java课程设计-小学生计算器

    功能 源码.经验交流QQ群:613879714,有问题QQ群提问,这里不能及时回复 1.功能 小学生计算器可以进行两位数的加减乘除运算 2.演示 B站演示视频链接 java课程设计-小学生计算器 3. ...

  6. 语言做的表白魔方_程序员表白教程,这些代码用过的都说浪漫

    作为一名程序员,如何用自己的技术向喜欢的人表白? 这篇程序员表白教程,可以让你创造出不一样的浪漫! 你值得拥有! 1. I Love You Batch le 不如送她一个惊喜? 让她的电脑自动关机, ...

  7. c语言音像店程序,音像店管理程序_C 课程设计.pdf

    课 程 设 计 报 告 课程名称 C 语言课程设计 课题名称 音像店管理程序 专 业 信息安全 班 级 信安1501 学 号 1151290113 姓 名 李浩东 指导教师 姜力争 2016 年 1 ...

  8. c语言编写拆字程序,倒计时器 单机课程设计.doc

    倒计时器 单机课程设计 <单片机原理及应用>课程设计任务书 二级学院电子信息与电气工程学院 专业:班级: 学生姓名指导老师职 称讲师 课题名称 课题工作内容1. 设计内容:硬件电路的设计. ...

  9. 单片机c语言程序开发洗衣机,单片机课程设计(洗衣机控制系统).doc

    实用标准文档 文案大全 PAGE 4 东北石油大学 课 程 设 计 课 程 课 程 单片机课程设计 题 目 洗衣机控制系统设计 院 系 电气信息工程学院 专业班级 测控14-1班 学生姓名 孔锡达 学 ...

最新文章

  1. Python:尝试对知乎网验证码进行处理
  2. mysql高可用 持久层_MyBatis持久层框架使用总结 转载
  3. python mac 安装pillow,关于python:安装了Pillow,但仍然得到“ImportError:没有名为PIL的模块”...
  4. Java数组、集合的三种遍历方式(包懂)
  5. 能取代top命令的htop
  6. 了解一下JAVA中的NIO模块
  7. [转] C#2010 在TreeView控件下显示路径下所有文件和文件夹
  8. 详细解读八大无线网络安全技术利弊
  9. .Net Compact Framework 基础篇(10)--多语言程序的定制
  10. Facebook发区块链货币,这不就是Q币吗???
  11. 自定义 feign 调用实现 hystrix 超时、异常熔断
  12. CNC:CNC计算机数控系统技术之斯沃数控仿真软件简介、软件界面(顶部栏、中间工具栏、左边栏、CNC工作区、液晶屏工作区、系统控制面板)之详细攻略
  13. 各种带有物理学特点的把妹法[转]
  14. codeforces 909 f
  15. 使用vs2008制作dll文件,生成动态链接库
  16. tp5 对接腾讯云聊天
  17. win10自动关机设置_电脑小技巧设置自动关机
  18. “剑指Offer”数据结构篇:java实现
  19. JSPlumb文档翻译
  20. 无线网络知识、WiFi原理

热门文章

  1. requests库怎么安装在python中-python安装requests库的实例代码
  2. python turtle画气球-如何用python的装饰器定义一个像C++一样的强
  3. 学会python之后-python学会基础语法之后,如何提高?
  4. python爬虫下载-用Python爬虫下载整本小说
  5. python处理多个excel表-使用python把Excel表格由一个分隔成多个
  6. 东大18秋计算机网络在线作业1答案,东大17秋学期《计算机网络基础》在线作业3 免费答案...
  7. nginx启动初始化过程(二)
  8. Chronometer的使用
  9. 【调试基础】Part 3 Window操作系统
  10. 信号在PCB传播速度SDRAM布线(sdram布线距离主控的距离)