精华内容
下载资源
问答
  • VB小学数学四则运算程序代码 “加”、“减”、“乘”、“除”
  • 小学四则运算vb chengxu

    2011-06-04 00:30:30
    此乃小学四则运算,可用于初学者参考,也可用于自用
  • VB.net实现小学生登录 然后选择答题 或者查分,答完题目最后将结果返回给“record.txt”文件
  • 一、背景阿超有个儿子上小学二年级,老师...C/C++、C#、Java、Python、VB、JavaScript、Perl……具体要求如下:能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)除了整数外,...

    一、背景

    阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题,比如:

    C/C++、C#、Java、Python、VB、JavaScript、Perl……

    具体要求如下:

    能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)

    除了整数外,还要支持真分数的四则运算

    请大家用任何一种自己擅长的语言来编写这段程序,并把程序的介绍和自己编写的过程写一个博客

    二、分析

    (一) 自己擅长的是c语言,准备用c语言,但是自己学的java,想用java试试,支持真分数运算,如果用C语言,我们可以这么考虑,a,b,c,d随机生成。

    a/b      c/d,

    (1)可能存在a,b,c,d;a和b存在公约数,c和d存在公约数。

    解 决办法:先求a和b的最大公约数m,先求c和d的最大公约数n,然后a=a/m;b=b/m;c=c/m;d=d/m;,然后就可以算加"+"法 (a*d+b*c)/(b*d);减“-”法(a*d-b*c)/(b*d);乘“*”法a*c/(b*d);除法“/”,判断一下分母是否为0,分数符 号直接输出;

    (2)可能存在a>b,c>d的情况,真假分数情况。输出直接输出符号“/”。

    (二)有判断正确和错误,每答一次就判断一次,回答正确和回答错误,一次性答对是10分,答两次才答对得5分,答三次才答对得3分。

    (三)输入一个数,知道出题的数目,随机产生的题数目,多输也会提示输入错误。

    三、代码部分

    我用的是java写的:

    importjava.util.InputMismatchException;

    importjava.util.Random;

    importjava.util.Scanner;

    import java.io.*;

    public classPratices {

    public static voidmain(String[] args) {

    newPratices().list_Pratices();

    }

    public int random_Num(intrange) {

    return (int) (Math.random() *range);

    }

    public voidlist_Pratices() {

    int right = 0;

    int wrongtimes = 0;

    intnum_1, num_2, temp;

    int type = random_Num(4);

    int score = 0;

    int count = 1;

    System.out.println("请输入题目数量:");

    Scanner sc = newScanner(System.in);

    int n =sc.nextInt();

    while (count <=n) {

    type = random_Num(2);

    num1 = random_Num(100); //100以内随机数

    num2 = random_Num(100); //100以内的随机数

    wrongtimes = 0;

    if (type == 0)

    {

    System.out.print("(" + count + ") " + num1 + " + " + num2+ " = ");//加法

    }

    else if(type == 1)

    {

    if ((num1

    {

    temp =num1;

    num1 =num2;

    num2 =temp;

    }

    System.out.print("(" + count + ") " + num1 + " - " + num2+ " = ");//减法

    }

    else if(type == 2)

    System.out.print("(" + count + ") " + num1 + " * " + num2+ " = ");//乘法

    }

    else if(type == 3)

    {

    if(num2!=0)

    System.out.print("(" + count + ") " + num1 + " / " + num2+ " = ");//除法

    elseSystem.out.println("分母为零");

    }

    int answer = this.getAnswer(count);

    boolean flag =check(num1, num2, type, answer, count);

    if(flag) {

    right++;

    System.out.println("回答正确");

    score += this.getScore(wrongtimes);

    } else{

    while (wrongtimes < 2) {

    wrongtimes++;

    System.out.println("回答错误 " + wrongtimes + " 次");

    answer = this.getAnswer(count);

    flag =check(num1, num2, type, answer, count);

    if(flag) {

    score += this.getScore(wrongtimes);

    right++;

    wrongtimes = 0;

    break;

    }

    }

    if (wrongtimes == 3)

    System.out.println("回答错误 ");

    elseSystem.out.println("回答正确");

    }

    count++;

    }

    System.out.println("回答正确 : " +right);

    System.out.println("回答错误: " + (10 -right));

    System.out.println("获得分数: " +score);

    System.out.println(getDegree(score));

    }

    public boolean check(int num_1, int num_2, int type, intmy_Answer,

    intcount) {

    int answer = 0;

    if (type == 1) {

    answer = num_1 -num_2;

    } else if (type == 0) {

    answer = num_1 +num_2;

    }

    return my_Answer ==answer;

    }

    public int getAnswer(intcount) {

    int my_Answer = 0;

    BufferedReader br = new BufferedReader(newInputStreamReader(System.in));

    try{

    my_Answer =Integer.parseInt(br.readLine());

    } catch(IOException e) {

    e.printStackTrace();

    } catch(NumberFormatException e) {

    System.out.println("输入有误");

    return 0;

    } finally{

    if (count >= n && (br != null)) {//不会超出输入的n

    try{

    br.close();

    } catch(IOException e) {

    e.printStackTrace();

    }

    br = null;

    }

    }

    returnmy_Answer;

    }

    public int getScore(intwrongtimes) {

    if (wrongtimes == 0) {

    return 10;

    } else if (wrongtimes == 1) {

    return 7;

    } else if (wrongtimes == 2) {

    return 5;

    } else

    return 0;

    }

    public String getDegree(int score) {

    if (score > 90)

    return "SMART";

    else if (score > 80)

    return "GOOD";

    else if (score > 70)

    return "OK";

    else if (score > 60)

    return "PASS";

    else

    return "TRY AGAIN";

    }

    }

    展开全文
  • 阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题,比如: ...

          原题目如下:     

          阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题,比如:

          C/C++、C#、Java、Python、VB、JavaScript、Perl……

        具体要求如下:

           1.能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)

           2.除了整数外,还要支持真分数的四则运算

     

     

           分析可知需要采用一个自己熟悉的语言来变成实现自动生成30道小学四则运算题目且结果均为非负数,同时还要可以支持真分数的四则运算。这里我选择了C语言(毕竟我太菜,别的还不会)。一开始我的写的是四则混合运算,但是反复调试发现自己的判断非负的地方还存在很大问题,昨天晚上想了很久发现解决很麻烦,跟全算出结果差不多少,所以我还是放弃了。今天重新写了一个简单的。我觉得这个程序主要有3个地方需要注意。首先是随机生成问题,只使用rand()是不对的,这样生成的数是伪随机数,上网查了一下得知最简单的解决方法是应该在主函数里加上一句srand(time(0)),这里我最初是在每个rand()前都加上了srand(time(0)),导致产生的随机数都一样,应该只要在主函数里加一句就行了。这是个值得注意的地方。其次是关于如何保证结果都是非负数,由于是四则运算,因此只有出现“-”号的时候才会有这种可能。我是这样解决的:用x和y来表示整数题目时2个运算数,当出现“-”时(if(op==‘-’)),通过while(x-y<0)语句来循环进行重新随机,知道产生x大于等于y为止。当遇到分数题目时候,采用a/b,c/d形式,同理通过while(a*d-b*c<=0)语句来循环进行重新随即。最后关于真分数的问题,并不难,真分数简单来讲就是分母比分子大的分数,因此只要保证a>b且c>d就好了。整个程序的开发时间大概1个小时。下面是源代码:

    #include<iostream.h>
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<time.h>
    
    char Operator()
    {
        char op;
        int i;
        i=rand()%4+1;
        switch(i)
        {
            case 1: return '+';
            case 2: return '-';
            case 3: return 'x';
            case 4: return '/';
        }
    }
    
    void integer()
    {
        int x,y;
        char op;
        x=rand()%100+1;
        y=rand()%100+1;
        op=Operator();
        if(op=='-')
            while(x<y)
            {
                x=rand()%100+1;
                y=rand()%100+1;
            }
        cout<<x<<op<<y<<"="<<endl;
    }
    
    void fraction()
    {
        int a,b,c,d;
        a=rand()%100+1;
        b=rand()%100+1;
        c=rand()%100+1;
        d=rand()%100+1;
        char op;
        while(a<=b||c<=d)
        {
            a=rand()%100+1;
            b=rand()%100+1;
             c=rand()%100+1;
            d=rand()%100+1;
        }
        op=Operator();
        if(op=='-')
            while((b*c-a*d)<0)
            {
                a=rand()%100+1;
                b=rand()%100+1;
                c=rand()%100+1;
                d=rand()%100+1;
            }
        cout<<b<<"/"<<a<<op<<d<<"/"<<c<<"="<<endl;
    }
    +
    void main()
    {
        srand(time(0));
        int i,n,m;
        cout<< "请输入出题类型"<<endl;
        cout<< "1.整数四则运算"<<endl;
        cout<< "2.分数四则运算"<<endl;
        cin>>i;
        cout<< "请输入出题数目"<<endl;
        cin>>n;
        for(m=1;m<=n;m++)
        {
            if(i==1)
                integer();
            else
                fraction();
        }
    }

     

       

           

    转载于:https://www.cnblogs.com/m108280546/p/5269702.html

    展开全文
  • VB编写的小四则运算(含界面),可以帮助小学生训练四则运算!!!
  • 一、背景 阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来...能自动生成小学四则运算题目(注意是给小学生用的,...

    一、背景

        阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题,比如:

          C/C++、C#、Java、Python、VB、JavaScript、Perl……

        具体要求如下:

    • 能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
    • 除了整数外,还要支持真分数的四则运算

        请大家用任何一种自己擅长的语言来编写这段程序,并把程序的介绍和自己编写的过程写一个博客

    二、分析

       (一) 自己擅长的是c语言,准备用c语言,但是自己学的java,想用java试试,支持真分数运算,如果用C语言,我们可以这么考虑,a,b,c,d随机生成。

    a/b      c/d,

    (1)可能存在a,b,c,d;a和b存在公约数,c和d存在公约数。

    解 决办法:先求a和b的最大公约数m,先求c和d的最大公约数n,然后a=a/m;b=b/m;c=c/m;d=d/m;,然后就可以算加"+"法 (a*d+b*c)/(b*d);减“-”法(a*d-b*c)/(b*d);乘“*”法a*c/(b*d);除法“/”,判断一下分母是否为0,分数符 号直接输出;

    (2)可能存在a>b,c>d的情况,真假分数情况。输出直接输出符号“/”。

    (二)有判断正确和错误,每答一次就判断一次,回答正确和回答错误,一次性答对是10分,答两次才答对得5分,答三次才答对得3分。

    (三)输入一个数,知道出题的数目,随机产生的题数目,多输也会提示输入错误。

    三、代码部分

    我用的是java写的:

    import java.util.InputMismatchException;
    import java.util.Random;
    import java.util.Scanner;
    import java.io.*;
    
    public class Pratices {
    public static void main(String[] args) {
      new Pratices().list_Pratices();
      }
    
      public int random_Num(int range) {
      return (int) (Math.random() * range);
      }
      public void list_Pratices() {
        int right = 0;
        int wrongtimes = 0;  
        int num_1, num_2, temp;
      int type = random_Num(4);
      int score = 0;  
        int count = 1;
        System.out.println("请输入题目数量:");
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
      while (count <= n) {
      type = random_Num(2);
      num1 = random_Num(100);  //100以内随机数
      num2 = random_Num(100);  //100以内的随机数
      wrongtimes = 0;
    
      if (type == 0)
        {
      System.out.print("(" + count + ")  " + num1 + " + " + num2+ " = ");//加法
      }
        else if(type == 1)
        {
      if ((num1 < num2))
         {
      temp = num1;
      num1 = num2;
      num2 = temp;
      }
      System.out.print("(" + count + ")  " + num1 + " - " + num2+ " = ");//减法
      }
        else if(type == 2)
    
      System.out.print("(" + count + ")  " + num1 + " * " + num2+ " = ");//乘法
        }
          else if(type == 3)
        {
            if(num2!=0)
      System.out.print("(" + count + ")  " + num1 + " / " + num2+ " = ");//除法
          else
            System.out.println("分母为零");
        }
    
      int answer = this.getAnswer(count);
      boolean flag = check(num1, num2, type, answer, count);
      if (flag) {
      right++;
      System.out.println("回答正确");
      score += this.getScore(wrongtimes);
      } else {
      while (wrongtimes < 2) {
      wrongtimes++;
      System.out.println("回答错误 " + wrongtimes + " 次");
      answer = this.getAnswer(count);
      flag = check(num1, num2, type, answer, count);
      if (flag) {
      score += this.getScore(wrongtimes);
      right++;
      wrongtimes = 0;
      break;
      }
      }
      if (wrongtimes == 3)
      System.out.println("回答错误 ");
      else
      System.out.println("回答正确");
      }
      count++;
      }
      System.out.println("回答正确 : " + right);
      System.out.println("回答错误: " + (10 - right));
      System.out.println("获得分数: " + score);
      System.out.println(getDegree(score));
      }
    
      public boolean check(int num_1, int num_2, int type, int my_Answer,
      int count) {
      int answer = 0;
      if (type == 1) {
      answer = num_1 - num_2;
      } else if (type == 0) {
      answer = num_1 + num_2;
      }
      return my_Answer == answer;
      }
      public int getAnswer(int count) {
      int my_Answer = 0;
      BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
      try {
      my_Answer = Integer.parseInt(br.readLine());
      } catch (IOException e) {
      e.printStackTrace();
      } catch (NumberFormatException e) {
      System.out.println("输入有误");
      return 0;
      } finally {
      if (count >= n && (br != null)) {//不会超出输入的n
      try {
      br.close();
      } catch (IOException e) {
      e.printStackTrace();
      }
      br = null;
      }
      }
      return my_Answer;
      }
      public int getScore(int wrongtimes) {
      if (wrongtimes == 0) {
      return 10;
      } else if (wrongtimes == 1) {
      return 7;
      } else if (wrongtimes == 2) {
      return 5;
      } else
      return 0;
      }
    
      public String getDegree(int score) {
      if (score > 90)
      return "SMART";
      else if (score > 80)
      return "GOOD";
      else if (score > 70)
      return "OK";
      else if (score > 60)
      return "PASS";
      else
      return "TRY AGAIN";
      }
      }

    转载于:https://www.cnblogs.com/chengxs/p/5263935.html

    展开全文
  • vb.net制作的一个简单的vb.net混合运算程序设计一个由计算机来当小学低年级学生算术老师的VB应用程序,要求给出一系列的两个1~10数的四则运算的算术题,学生输入该题的答案,计算机根据学生的答案判断正确与否,并...
  • 随机四则运算小程序

    2012-05-07 10:30:57
    随机的四则运算小程序,即可以用来给小学生做算术题,也便于VB初学者自学使用
  • 一.作业描述及要求: 阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小...能自动生成小学四则运算题目(...

         

    一.作业描述及要求:

     阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题,比如:

          C/C++、C#、Java、Python、VB、JavaScript、Perl……

        具体要求如下:

    • 能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
    • 除了整数外,还要支持真分数的四则运算

        请大家用任何一种自己擅长的语言来编写这段程序,并把程序的介绍和自己编写的过程写一个博客

    实现过程:用rand()来随机产生0—99以内的随机数进行加减乘除四则运算,用switch,case来确定符号, 用srand(time(NULL))来以现在的系统时间作为随机数的种子来产生随机数。

     

    源代码如下所示:

        

    #include<iostream.h>
    #include<stdlib.h>
    #include<time.h>
    int main()
    {
    int a,b,c,t;
    srand(time(NULL));
    for(int i=0;i<30;i++)
    {
    a=rand()%100;
    b=rand()%100;
    c=rand()%4;
    switch(c)
    {
    case 0:
    cout<<a<<"+"<<b<<"="<<endl;
    break;
    case 1:
    if(a<b)
    {
    t=a;
    a=b;
    b=t;
    }
    cout<<a<<"-"<<b<<"="<<endl;
    break;
    case 2:
    cout<<a<<"*"<<b<<"="<<endl;
    break;
    case 3:
    if(b!=0)
    {
    cout<<a<<"÷"<<b<<"="<<endl;
    }
    else
    {
    i=i-1;
    }
    break;
    }
    }
    cout<<"30道数学测试题结束"<<endl;
    return 0;
    }

    运行界面:

     

    转载于:https://www.cnblogs.com/dengxiuyue/p/5267538.html

    展开全文
  • 一.作业描述及要求: 阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个...能自动生成小学四则运算题目(注意...
  • 这次的结对编程是我和府斐妍同学一起...小学老师要每周给同学出300道四则运算练习题。 这个程序有很多种实现方式: c/c++ c#/VB.net/Java Excel Unix Shell Emacs/Powershell Perl Python 两个运算符,10...
  • 科学计算器;VB实现;二进制十进制十六进制;四则运算逻辑运算;小学期作品;物有所值
  • 一、整数四则运算1. 整数加法:把两个数合并成一个数的运算叫做加法。(1)在加法里,相加的数叫做加数,加得的数叫做和。加数是部分数,和是总数。(2)加数+加数=和 一个加数=和 — 另一个加数2. 整数减法:已知两个加...
  • 一家软件公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道四则运算题目给小学生做。 二柱子立马就想到写一个小程序来做这件事。这个事情可以用很多语言或者工具来实现:Excel,C/C++,C#,VB,Unix Shell,...
  • 更多学习资料扫码入群(一)整数四则运算1 整数加法:把两个数合并成一个数的运算叫做加法。在加法里,相加的数叫做加数,加得的数叫做和。加数是部分数,和是总数。【公式】加数+加数=和一个加数...
  • VB编译的一个出题系统,给小学生出一些四则运算,可选择出题数量,答完后系统给出正确答案,最后会给出总得分(百分制)。除法时用的是四舍五入
  • 软件工程第一次作业

    2016-03-12 17:56:00
    一、题目: 阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这...能自动生成小学四则运算题目(注意是给小学生...
  • 第二次作业

    2019-03-19 21:24:00
    结对成员: 软件工程(2)班 1759212 袁佳敏 1759210 钱...• 小学老师要每周给同学出300道四则运算练习题。 • 这个程序有很多种实现方式: • C/C++ • C#/VB.net/Java • Excel • Unix Shell • Emacs/...
  • 小学老师要每周给同学出300道四则运算练习题。 这个程序有很多种实现方式。 C/C++ C# VB.net java Excel UnixShell Emacs Powershell/Vbscnpt Python 两个运算符100以内的数字,不需要写答案。【估计时间30min...
  • 小学老师要每周给同学出300道四则运算练习题。 这个程序有很多种实现方式。 C/C++ C# VB.net java Excel UnixShell Emacs Powershell/Vbscnpt Python 两个运算符100以内的数字,不需要写答案。【估计时间30min...
  • 简单的结对代码练习

    2016-03-22 16:48:00
    课堂上,李巍老师给了我们一个结对项目的练习: 某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。二柱立马就想到写一个小程序来做这件事。 这个事情可以用很多语言...
  •  某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。二柱立马就想到写一个小程序来做这件事。 这个事情可以用很多语言或者工具来实现: •Excel、C/C++、Java、C#...
  • 软件工程作业 第二次

    2019-03-17 21:56:00
    小学老师要每周给同学出300道四则运算练习题。这个程序有很多种实现方式。C/C++C#/VB.net/javaExcelUnixShellEmacs/Powershell/VbscnptPython两个运算符100以内的数字,不需要写答案。【估计时同t】现在估计写这个...
  •  某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。二柱立马就想到写一个小程序来做这件事。 这个事情可以用很多语言或者工具来实现: Excel、C/C++、Java、C#、...
  • 某公司程序员二柱的小孩上了小学二年级,老师让家长每天出30道(100以内)四则运算题目给小学生做。二柱立马就想到写一个小程序来做这件事。 这个事情可以用很多语言或者工具来实现: •Excel、C/C++、Java、C#、...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

vb小学四则运算