加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

程序设计方法学课程设计--小学生算术四则运算测试程序(C)

(2011-09-13 22:18:37)
标签:

杂谈

分类: 自己写哒

程序设计方法学课程设计--小学生算术四则运算测试程序(C)程序设计方法学课程设计--小学生算术四则运算测试程序(C)

 

 

  

   信息学院课程设计     

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

        姓    名:      李爱霞                

        学    号:    200912110118            

        班    级:    计算机科学与技术        

        课    程:    程序设计方法学        

        任课教师:       黄                

          

 

2011年6月28日

 

 

 课程设计任务书及成绩评定

题目

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

 

 

课程设计的任务及要求   

    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”。

 课程设计所需的软件、硬件等

    软件:WIN-tc   VC++6.0

硬件:计算机  

 

 

 

 

课程设计进度计划

2011年4月~ 5月初,进行可行性研究,完成选题.

    2011年5月,根据选题查阅资料、进行概要设计,确定设计方案 

2011年6月,详细设计,实施设计方案,编写程序、调试程序.

2011年7月初,完成课程设计(任务书)的撰写

                      参考文献、资料索引

序号

编著者

文献、资料名称

出版单位

[1] 谭浩强 C语言程序设计(第三版) 清华大学出版社 2005

[2] 严蔚敏,吴伟民  数据结构(C语言版)清华大学出版社 2007

[3] 胡正国 吴健 邓正宏 程序设计方法学(第2版) 北京国防工业出版

  

 

任课老师评语

 

 

 

 

 

 

 

 

 

 

 

成绩:                  指导教师签字:                 日期:          

                  

 

 

 

目        

  

背    ……………………………………………....1

摘    ………………………………………………....1

功能要求…………………………………………… .......2

设计流程……………………………………………........3      

程序执行……………………………………………........4

程    ……………………………………………....... 5

程    …………………………………………............6 

程    ..…………………………………………..........7

程    …………………………………………........ 

实验结果………………………………………….............9

实验结果………………………………………....……... 10

实验心得…………………………………………...... .11

 

                     

 

 

 

                              背景

 

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

  人类最初是用手指来作为记数和计算工具的。在古代,人们还广泛地使用过筹码和结绳来作为记数和计算的工具,其中筹码可能采用石子、木棍、滑片等,每一个可以单独使用也可用工具在其刻上道使用。我们中华民族的祖先,在公元前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次,依然还没输对,结果“失败”,程序结束。若在这之内,系统会自动根据你做的题的正确与否给出相应成绩。

 

 

 

程序设计方法学课程设计--小学生算术四则运算测试程序(C)

 

            

         

 

程序执行

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

 

  2.输入程序

   #include<stdio.h>

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\n\n",n+1);

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

   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\n\n");

        }

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

scanf("%d",&ad);

if(ad==t->add)

             t->grade=7;

               printf("不错,本题得7\n\n");

              }

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

scanf("%d",&ad);

if(ad==t->add)

                   t->grade=5;

                    printf("还行,本题得5\n\n");

                    }

               else t->grade=0;

                    printf("失败,本题得0\n\n");

                    printf("正确结果是%d\n\n",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("***********************欢迎进入小学生算术四则运算测试程序***********************\n\n");

    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<i;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.编译程序    compilectrl+F7

 

5.建立程序    BuildF7

 

6.运行程序    Executectrl+F5

 

           

 

 

 

 

 

 

 

 

实验结果

 

 

进入界面            

程序设计方法学课程设计--小学生算术四则运算测试程序(C)

 

 

测试第一题

程序设计方法学课程设计--小学生算术四则运算测试程序(C)

 

 

 

其余题目测试

程序设计方法学课程设计--小学生算术四则运算测试程序(C)

 

 

最后一题

程序设计方法学课程设计--小学生算术四则运算测试程序(C)

            

  实验心得

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

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

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

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

 

 

 

 

 

 

 

 

 

 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有