结对作业(1.0版)

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.LayoutStyle.ComponentPlacement;
import java.awt.Font;
import javax.swing.JTextPane;
import javax.swing.JButton;
import java.awt.Color;
import javax.swing.JTextField;
import javax.swing.JLabel;
import java.awt.event.*;
import java.util.Random;

public class SiZeYunSuan {

    private JFrame frame;
    private JTextField textField;
    private JTextField textField_1;
    private JTextField textField_2;
    private JTextField textField_3;
    int num=5,T=0,F=0,count=1;
    int ranswer=0;
    int uanswer=0;
    private JTextField textField_4;
    private JTextField textField_5;
    private JTextField textField_6;
    private JTextField textField_7;
    private boolean stop = false;
    String str="";
    String z="";
    JTextPane textPane = new JTextPane();
    JButton button = new JButton("\u5F00\u59CB\u7B54\u9898");
    long startTime;
    long endTime;
    /**
     * Launch the application.
     */
    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    SiZeYunSuan window = new SiZeYunSuan();
                    window.frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    /**
     * Create the application.
     */
    public SiZeYunSuan() {
        initialize();
    }

    /**
     * Initialize the contents of the frame.
     */
    private void initialize() {
        frame = new JFrame();
        frame.setResizable(false);

        JPanel panel = new JPanel();
        GroupLayout groupLayout = new GroupLayout(frame.getContentPane());
        groupLayout.setHorizontalGroup(
            groupLayout.createParallelGroup(Alignment.LEADING)
                .addGroup(groupLayout.createSequentialGroup()
                    .addComponent(panel, GroupLayout.PREFERRED_SIZE, 448, GroupLayout.PREFERRED_SIZE)
                    .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        groupLayout.setVerticalGroup(
            groupLayout.createParallelGroup(Alignment.LEADING)
                .addComponent(panel, GroupLayout.PREFERRED_SIZE, 487, Short.MAX_VALUE)
        );

        textPane.setFont(new Font("Microsoft Sans Serif", Font.BOLD, 22));
        textPane.setEditable(false);
        textPane.setToolTipText("");
        textPane.setBackground(Color.WHITE);

        JPanel panel_1 = new JPanel();
        panel_1.setBackground(new Color(204, 204, 204));

        button.setBackground(Color.GREEN);

        JButton button_1 = new JButton("\u9000\u51FA");
        button_1.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                System.exit(0);
            }
        });
        button_1.setBackground(Color.RED);

        JLabel lblNewLabel = new JLabel(" \u8F93\u5165\u9898\u6570\uFF1A");
        lblNewLabel.setFont(new Font("楷体_GB2312", Font.PLAIN, 15));
        lblNewLabel.setForeground(new Color(0, 0, 0));

        JLabel label = new JLabel(" \u7B54\u5BF9\u9898\u6570\uFF1A");
        label.setFont(new Font("楷体_GB2312", Font.PLAIN, 15));

        JLabel label_1 = new JLabel(" \u7B54\u9519\u9898\u6570\uFF1A");
        label_1.setFont(new Font("楷体_GB2312", Font.PLAIN, 15));

        JLabel label_2 = new JLabel(" \u4FE1\u606F\u53CD\u9988\uFF1A");
        label_2.setFont(new Font("楷体_GB2312", Font.PLAIN, 15));

        textField = new JTextField();
        textField.setColumns(10);

        textField_1 = new JTextField();
        textField_1.setForeground(Color.GREEN);
        textField_1.setEditable(false);
        textField_1.setColumns(10);

        textField_2 = new JTextField();
        textField_2.setForeground(Color.RED);
        textField_2.setEditable(false);
        textField_2.setColumns(10);

        textField_3 = new JTextField();
        textField_3.setFont(new Font("宋体", Font.PLAIN, 12));
        textField_3.setForeground(Color.RED);
        textField_3.setEditable(false);
        textField_3.setColumns(10);

        JLabel label_3 = new JLabel(" \u6B63\u786E\u7B54\u6848\uFF1A");
        label_3.setFont(new Font("Dialog", Font.PLAIN, 15));

        JLabel label_4 = new JLabel(" \u8F93\u5165\u7B54\u6848\uFF1A");
        label_4.setFont(new Font("Dialog", Font.PLAIN, 15));

        JLabel label_5 = new JLabel(" \u5F53\u524D\u9898\u6570\uFF1A");
        label_5.setFont(new Font("Dialog", Font.PLAIN, 15));

        textField_4 = new JTextField();
        textField_4.setEditable(false);
        textField_4.setColumns(10);

        textField_5 = new JTextField();
        textField_5.setColumns(10);

        textField_6 = new JTextField();
        textField_6.setFont(new Font("Yu Gothic", Font.BOLD, 14));
        textField_6.setForeground(Color.CYAN);
        textField_6.setEditable(false);
        textField_6.setColumns(10);

        JLabel label_6 = new JLabel(" \u6240\u7528\u65F6\u95F4\uFF1A");
        label_6.setFont(new Font("Dialog", Font.PLAIN, 15));

        textField_7 = new JTextField();
        textField_7.setFont(new Font("宋体", Font.PLAIN, 14));
        textField_7.setEditable(false);
        textField_7.setColumns(10);
        GroupLayout gl_panel_1 = new GroupLayout(panel_1);
        gl_panel_1.setHorizontalGroup(
            gl_panel_1.createParallelGroup(Alignment.TRAILING)
                .addGroup(gl_panel_1.createSequentialGroup()
                    .addGap(11)
                    .addComponent(lblNewLabel, GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
                    .addGap(110))
                .addGroup(gl_panel_1.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                        .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                            .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                                .addGroup(gl_panel_1.createSequentialGroup()
                                    .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                                        .addComponent(label_5, GroupLayout.PREFERRED_SIZE, 90, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label, GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE))
                                    .addPreferredGap(ComponentPlacement.RELATED))
                                .addGroup(gl_panel_1.createSequentialGroup()
                                    .addComponent(label_3, GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
                                    .addPreferredGap(ComponentPlacement.RELATED)))
                            .addGroup(gl_panel_1.createSequentialGroup()
                                .addComponent(label_1)
                                .addPreferredGap(ComponentPlacement.RELATED)))
                        .addGroup(gl_panel_1.createSequentialGroup()
                            .addComponent(label_4)
                            .addPreferredGap(ComponentPlacement.RELATED)))
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                        .addComponent(textField_2, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
                        .addComponent(textField_1, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
                        .addComponent(textField_4, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
                        .addGroup(gl_panel_1.createSequentialGroup()
                            .addComponent(textField, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(ComponentPlacement.RELATED, 13, Short.MAX_VALUE))
                        .addComponent(textField_5, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE)
                        .addComponent(textField_6, GroupLayout.DEFAULT_SIZE, 54, Short.MAX_VALUE))
                    .addGap(66))
                .addGroup(Alignment.LEADING, gl_panel_1.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.TRAILING, false)
                        .addComponent(label_6, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(label_2, GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE))
                    .addPreferredGap(ComponentPlacement.RELATED)
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                        .addComponent(textField_7, GroupLayout.PREFERRED_SIZE, 54, GroupLayout.PREFERRED_SIZE)
                        .addComponent(button_1, GroupLayout.PREFERRED_SIZE, 82, GroupLayout.PREFERRED_SIZE)
                        .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, 75, GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(10, Short.MAX_VALUE))
                .addGroup(Alignment.LEADING, gl_panel_1.createSequentialGroup()
                    .addGap(52)
                    .addComponent(button)
                    .addContainerGap(91, Short.MAX_VALUE))
        );
        gl_panel_1.setVerticalGroup(
            gl_panel_1.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel_1.createSequentialGroup()
                    .addContainerGap()
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                        .addComponent(lblNewLabel, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
                        .addComponent(textField, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
                    .addGap(18)
                    .addComponent(button, GroupLayout.PREFERRED_SIZE, 42, GroupLayout.PREFERRED_SIZE)
                    .addGap(18)
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                        .addGroup(gl_panel_1.createSequentialGroup()
                            .addGap(18)
                            .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                                .addComponent(label_5, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)
                                .addComponent(textField_4, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(ComponentPlacement.RELATED)
                            .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                                .addGroup(gl_panel_1.createSequentialGroup()
                                    .addGap(40)
                                    .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                                        .addComponent(textField_6, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
                                        .addComponent(label_3, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)))
                                .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                                    .addComponent(textField_5, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
                                    .addComponent(label_4, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)))
                            .addPreferredGap(ComponentPlacement.UNRELATED)
                            .addGroup(gl_panel_1.createParallelGroup(Alignment.LEADING)
                                .addComponent(label, GroupLayout.PREFERRED_SIZE, 28, GroupLayout.PREFERRED_SIZE)
                                .addComponent(textField_1, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(ComponentPlacement.RELATED)
                            .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                                .addComponent(textField_2, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE)
                                .addComponent(label_1)))
                        .addGroup(gl_panel_1.createSequentialGroup()
                            .addGap(206)
                            .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                                .addComponent(label_2, GroupLayout.PREFERRED_SIZE, 26, GroupLayout.PREFERRED_SIZE)
                                .addComponent(textField_3, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))))
                    .addPreferredGap(ComponentPlacement.RELATED)
                    .addGroup(gl_panel_1.createParallelGroup(Alignment.BASELINE)
                        .addComponent(label_6, GroupLayout.PREFERRED_SIZE, 26, GroupLayout.PREFERRED_SIZE)
                        .addComponent(textField_7, GroupLayout.PREFERRED_SIZE, 30, GroupLayout.PREFERRED_SIZE))
                    .addGap(33)
                    .addComponent(button_1, GroupLayout.PREFERRED_SIZE, 41, GroupLayout.PREFERRED_SIZE)
                    .addGap(40))
        );
        panel_1.setLayout(gl_panel_1);

        button.addActionListener(new ActionListener(){//开始答题
            public void actionPerformed(ActionEvent e)
            {
                count=1;
                T=0;F=0;
                str="";
                z="";
                stop=false;
                textField_6.setText("");
                textField_4.setText(""+count);
                startTime=System.currentTimeMillis();
                String str1;
                str1=textField.getText();
                num=Integer.parseInt(str1);
                if(num>5)
                {

                    textPane.setText("输入题数错误,请重新输入!(1~5)");
                    textField.setText("");
                }
                else
                {
                    textField_1.setText(""+T);
                    textField_2.setText(""+F);
                    button.setVisible(false);
                    textField.setEditable(false);
                    showtext();
                }

            }
        });
        textField_5.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e)
            {
                if(!stop)
                {
                textField_6.setText(""+ranswer);
                uanswer=Integer.parseInt(textField_5.getText());
                if(num==count)
                {
                    if(uanswer==ranswer)
                    {
                        textField_3.setText("答对!");
                        T++;
                        textField_1.setText(""+T);
                        count++;
                    }
                    else
                    {
                        textField_3.setText("答错!");
                        F++;
                        textField_2.setText(""+F);
                        count++;
                    }
                    stop=true;
                    textField_3.setText(" 答題結束!");
                    endTime=System.currentTimeMillis();
                    textField.setEditable(true);
                    button.setVisible(true);
                    textField_7.setText((endTime-startTime)/1000+"s");

                }
                else if(uanswer==ranswer)
                {
                    textField_3.setText("答对!");
                    T++;
                    textField_1.setText(""+T);
                    showtext();
                    count++;

                }
                else
                {
                    textField_3.setText("答错!");
                    F++;
                    textField_2.setText(""+F);
                    showtext();
                    count++;
                }
            }
            }
        });
        GroupLayout gl_panel = new GroupLayout(panel);
        gl_panel.setHorizontalGroup(
            gl_panel.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel.createSequentialGroup()
                    .addComponent(textPane, GroupLayout.PREFERRED_SIZE, 243, GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(panel_1, GroupLayout.PREFERRED_SIZE, 196, GroupLayout.PREFERRED_SIZE)
                    .addGap(28))
        );
        gl_panel.setVerticalGroup(
            gl_panel.createParallelGroup(Alignment.LEADING)
                .addGroup(gl_panel.createSequentialGroup()
                    .addGroup(gl_panel.createParallelGroup(Alignment.LEADING)
                        .addComponent(textPane, GroupLayout.PREFERRED_SIZE, 484, GroupLayout.PREFERRED_SIZE)
                        .addComponent(panel_1, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        panel.setLayout(gl_panel);
        frame.getContentPane().setLayout(groupLayout);
        frame.setBounds(100, 100, 454, 518);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        }
    void showtext()
    {
        char op=‘+‘;
        int a=0,b=0,c=0,e=0,f=0,opnum=0,chioce=0;
        int temp=0;
        Random ra =new Random();
        e=ra.nextInt(10)+1;
        f=ra.nextInt(10)+1;
        chioce=ra.nextInt(2)+1;
        if(e%2==0)
        {
        a=ra.nextInt(10)+2;
        }
        else
        {
            a=-ra.nextInt(10)+2;
        }
        if(f%2==0)
        {
        b=ra.nextInt(10)+2;
        }
        else
        {
            b=-ra.nextInt(10)+2;
        }
        c=ra.nextInt(5);
        opnum=Math.abs(ra.nextInt())%4+1;
        textField_5.setText("");
        switch(chioce)
        {
        case 1:
        {
        switch(opnum)
            {
            case 1:
                op=‘+‘;
                break;
            case 2:
                op=‘-‘;
                break;
            case 3:
                op=‘*‘;
                break;
            case 4:
                op=‘/‘;
                break;
            }                                               

            if((op==‘-‘) && (a<b))
            {
                temp=a;
                a=b;
                b=temp;
            }

            if(op==‘/‘)
            {
                if(b==0)
                {
                    b=1;
                }
                a=a*b;
            }
            if(a>0&&b>0)
            {
                z=String.valueOf(a)+String.valueOf(op)+String.valueOf(b)+"="+"\n";
            }
            else if(a<0&&b>0)
            {
                z="("+String.valueOf(a)+")"+String.valueOf(op)+String.valueOf(b)+"="+"\n";
            }
            else if(a>0&&b<0)
            {
                z=String.valueOf(a)+String.valueOf(op)+"("+String.valueOf(b)+")"+"="+"\n";
            }
            else
            {
                z="("+String.valueOf(a)+")"+String.valueOf(op)+"("+String.valueOf(b)+")"+"="+"\n";
            }
            str=str+z;
            textPane.setText(str); 

            switch(op)
            {
            case ‘+‘:   ranswer=a+b;   break;
            case ‘-‘:   ranswer=a-b;   break;
            case ‘*‘:   ranswer=a*b;   break;
            case ‘/‘:   ranswer=a/b;   break;
            }
            break;
        }
        case 2:
        {
            int jc=1;
            str=str+String.valueOf(c)+"!="+"\n";
            textPane.setText(str);
            for(int i=c;i>0;i--)
            {
                jc=jc*i;
            }
            ranswer=jc;
            break;
        }
        }
    }
}

程序运行截图如下:

===一开始的进去的界面

===程序设定的是输入1~5的题数,如果输入不正确会提示重新输入~~

===输入正确后按开始答题按钮,按钮会消失,并且输入题数的框是不可改的。用户只能在输入答案的框内输入,当题数答完后,输入题数的框可以重新输入,开始答题的按钮会重新出现~~~

===每答完一题,界面会显示正确答案和判断对错,并且显示答对的题数和答错的题数,答题结束后,界面显示用户答题的所用时间,然后用户可以重新输入答题的题数,重新开始或者按退出按钮退出~~~

===作业中的照片,人太丑,不敢露脸~~~

这个结对作业,我们估计的总用时是8-10小时,结果我们用了7个小时完成了这个实验,比预计的快了一个小时。

1.我们用的是Eclipse(java)进行编程的

2.我们完成的内容是:

(2).可以出表达式里含有负整数(负整数最小不小于-100)的题目,且负数需要带括号,用户输入的结果不用带括号。如: 2*(-4) = -8

(3)用户答题结束以后,程序可以显示用户答题所用的时间

(4)用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数

(6)程序可以出单个整数阶乘的题目:如:4!=24

3.本次结对的同学为 :

201306114305 欧其锋  博客:http://www.cnblogs.com/ouqifeng/

201306114305 吕日荣  博客:http://www.cnblogs.com/Russelling/

4.这个编程过程中,框架界面是共同完成的,欧其锋完成的功能是(2)(3),吕日荣完成的功能是(4)(6);

总结:通过这次实验,我觉得我们的收获还是挺大的,首先这个实验要求我们能够提高效率,因为结对的作用就是为了提高工作的效率,这方面我们还是做到了,我们用的时间比预想的时间少了。其次这个实验其实最难的部分是界面的实现,做界面这个东西,我们运用到了WindowBuilder,这个东西让我们在做界面的时候提高了效率,也提高了容错率,在这方面我觉得这个东西帮到了我们很多。最后就是功能与面板之间的一个支持方面的难点,我们在这方面使用了很多很多时间去解决这个问题。    我们觉得,这个实验其实只是一个开始,毕竟我们寻找bug的能力还有所缺陷,我们想到的范围还是比较狭隘的,我们希望这个实验是我们提高的一个阶段,当老师寻找到bug的时候,我们会继续去思考,解决这些bug,完善这个程序。

这只是1.0的版本,后期会有功能更加完善的功能的2.0,3.0版,请期待!

时间: 2024-12-17 04:21:29

结对作业(1.0版)的相关文章

结对项目2.0版

更新内容: 1.在之前基础上实现四个数的四则运算. 2.实现了带有括号的运算. 存在问题: 运算过程中偶尔会有-nan(ind)的结果,还在找原因. 部分代码如下: 1 //运算符栈的长度 2 #define OPSTACK_LENGTH 5 3 //操作数栈的长度 4 #define NUMSTACK_LENGTH 100 5 //输入串的最大长度 6 #define MAX_STRING_LENGTH 100 7 #pragma warning(disable:4996) 8 //表达式结构

软件工程结对作业02(借鉴版)

软件工程结对作业02(借鉴版) 在编写程序的时候因为不会将Java程序嵌入进jsp中所以借鉴了一个学姐的程序,下面是学姐的程序.但在对学姐程序就行修改时发现了一些问题: 在Newjsp中能调用html中的题目个数的参数 在Myjsp中不能调用html中的题目个数的参数 其中这个参数timugeshu,是我自己后来添加的,用来改变题目个数的,与Java程序无关,只在jsp文件中作用 源程序: NewFeil.html <!DOCTYPE html> <html> <head&g

结对作业:五子棋

本次结对作业我们组做的是五子棋,代码如下:package com.temptation.gobang; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.a

结对作业电梯调度问题

以下为结对作业,我只能做到看懂,真的不太会编..我会努力学的 问题描述: 某大楼共有20层,现安装4个电梯参数如下: 1号电梯 全楼层 最大负载800kg 2号电梯 单数层 最大负载800kg 3号电梯 双数层 最大负载1600kg 4号电梯 全楼层 最大负载2000kg 分析: 4个电梯是相互独立工作的,那么分为4个相互独立的调度模块.1号电梯与4号电梯均服务于全楼层且仅有最大负载不同,而2号和3号电梯 服务模式类似.那么1.4号电梯调度模块可合并为一个.同样地,2.3号模块也可以合并.电梯调

结对作业--电梯调度

结对编程 结对成员:王长(2011040101179)CODING:https://coding.net/u/smile-wang  高庆阳(2013040101173) 博客:http://www.cnblogs.com/gaoqingyang1994/   CODING:https://coding.net/u/gaoqingyang1994 结对编程的优缺点 在结对编程模式下,一对程序员可以平等的.互补地进行开发工作:他们一起分析,一起设计,一起写测试用例,一起编码,一起做测试...这样在

软件工程网络15结对作业1

一.需求分析 1.题目需求 1)除了整数以外,还要支持真分数的四则运算,真分数的运算,例如:1/6 + 1/8 = 7/24 2)运算符为 +, ?, ×, ÷ 3)并且要求能处理用户的输入,并判断对错,打分统计正确率. 4)要求能处理用户输入的真分数, 如 1/2, 5/12 等 5)使用 -n 参数控制生成题目的个数,例如执行下面命令将生成10个题目Myapp.exe -n 10 题目分析: 1)支持真分数和整数的运算: 2)能够判断对错,且输出正确答案:能够计算正确率并输出: 3)将程序弄

结对作业1

结对作业1 结对成员:孟鲜鲜 代码跳转入口. 代码功能:静态链表实现查找功能 代码审查表 功能模块名称 静态链表实现查找功能 审查人 张子扬 审查日期 2018/4/6 代码名称 用静态链表实现查找功能 代码作者 孟鲜鲜 文件结构 重要性 审查项 结论 头文件和定义文件的名称是否合理? 是 头文件和定义文件的目录结构是否合理? 是 版权和版本声明是否完整? 无版权声明 重要 头文件是否使用了 ifndef/define/endif 预处理块? 否 头文件中是否只存放"声明"而不存放&q

结对作业——随机生成四则运算

结对作业 UI 第三组 朱池苇 PB16150206 刘鼎乾 PB16070837 Github 地址: 项目简介 这次软件工程结对项目为制作一个给小学生用的四则运算出题软件,然后我们抽到的是UI组,也就是负责人机交互--随机生成四则运算--使用Core组封装好的dll模块. 需求分析 对上述各属性参数(生成题目的数量,操作数的数量,题目及答案中的数值的范围--)进行设置 调用Core模块得到题目和运算结果,显示题目,接受输入,并能判断答案是否正确 增加"倒计时"功能,每个题目必须在2

结对作业2——自动生成四则运算

软件结对作业三 1 选择题目 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 二.单元测试 1 代码运行结果 (1)首先展示的是代码运行成功的界面: (2)以下为加减乘除四种不同运算方式下随机产生的题目: 注:其中用户可以