软件工程——第三次作业

——题目:

请编写一个能自动生成小学四则运算题目的 “软件”。

让程序能接受用户输入答案,并判定对错。

最后给出总共 对/错 的数量。

——需求分析:

此“软件”主要面向小学生,考虑到小学生对计算机的使用和掌握程度有限,所以此“软件”的操作应尽量简单,易使用;

用户能在此"软件"上练习简单的四则运算;

此“软件”能提交用户的答案,并判断对错;

在使用此 “软件”后及时给出正确与错误的题目数。

——功能需求:

首先登陆用户;

其次,选择计算的数据;

设计一个时间计时器;

判断答案对错,给出答案;

设计计算次数;

——扩展功能:

程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。

用户在第一次答题时,需要用户输入用户名,用户下次启动后,程序需要记住用户前一次输入的用户名

——设计:

通过利用VS2010进行设计,思想,编码,利用模块化程序的思想进行软件的开发,把里面的函数封装起来,进行调用;

——代码实现:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void domainUpDown1_SelectedItemChanged(object sender, EventArgs e)
        {

        }
        int s = 0;
        private void button1_Click(object sender, EventArgs e)
        {
            jisuan();
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            textBox2.Text = "";
            textBox3.Text = "";
            textBox4.Text = "";
            comboBox1.Text = "";
            label6.Text = "";
        }

        long second = 120;
        private void timer1_Tick(object sender, EventArgs e)
        {
            second -= 1;
            label12.Text = new DateTime(second * 10000000).ToLongTimeString();
        }

        private void button3_Click(object sender, EventArgs e)
        {

        }

        private void button3_Click_1(object sender, EventArgs e)
        {
            label10.Text = textBox5.Text;
        }
        void jisuan()
        {
            if (textBox1.Text == null || textBox2.Text == null || textBox3.Text == null)
            {
                MessageBox.Show("计算的数字和你所填的答案不能为空");
            }
            else
            {
                s = s + 1;
                label6.Text = s.ToString();
                int a, b;
                int c;
                a = Int32.Parse(textBox1.Text);
                b = Int32.Parse(textBox2.Text);
                if (comboBox1.Text == "加")
                { c = a + b; textBox3.Text = c.ToString(); }
                if (comboBox1.Text == "减")
                { c = a - b; textBox3.Text = c.ToString(); }
                if (comboBox1.Text == "乘")
                { c = a * b; textBox3.Text = c.ToString(); }
                if (comboBox1.Text == "除")
                { c = a / b; textBox3.Text = c.ToString(); }
                if (textBox3.Text == textBox4.Text)
                {
                    label4.Text = "恭喜你,计算正确!!!!";
                }
                else { label4.Text = "对不起,回答错误!!!"; }
            }

        }
    }
}

——实现效果:

——设计步骤:

(1)需求分析

(2)设计概要

(3)模块化分析

(4)代码实现

(5)单元测试

——PSP

时间: 2024-10-23 09:50:41

软件工程——第三次作业的相关文章

2017秋-软件工程第三次作业(1)-第三周例行总结

第三周例行报告   1本周PSP   2字数统计   博文字数统计不包含本作业中的文字,因为本作业是在截图后写了一些想法之后才得到的. 3代码行数   本周代码工作几乎是把上周的所有代码重写一遍,并进行了大量的尝试工作.有这样的疑问:注释掉的.删除掉的.尝试后废弃不用的代码算不算最后的代码行数呢? 4博文字数   5饼状图 时间统计和上周的饼状图非常相似,为了证明不是从上周的粘贴而来,特意将数值给出 总结: 1本周学习过程中,大部分的工作依旧集中在提交作业前2天. 2感谢老师将提交作业时间设置为

软件工程第三次作业

本周的作业请参照此文:http://www.ruanyifeng.com/blog/2015/12/git-workflow.html 制定本组项目的GitHub版本更新流程. 制定本组的代码规范.GitHub提交源码的标准. 组长组织每周例会(可以使用群微信群试验一下每天沟通项目开发进度的方法)需要有证据能够在博客上公布 根据邹欣老师的教材相关内容,确定小组成员的角色,细化项目需求.时间计划.列出产品积压工作项和预计开发时间 第一题:制定本组项目的GitHub版本更新流程 通过学习链接中的内容

软件工程第三周作业:微软必应词典案例分析

0x01 :微软必应词典案例分析 0x0104 :微软必应词典功能性BUG说明       0x010404 : BUG – 1 – 模块功能未实现 运行环境或平台 iOS 9.0.1 必应词典软件版本 版本3.5,版权所有@2014 Microsoft 软件测试BUG特征 [优先级1]应用程序模块功能未实现,包含整个模块不能正常运行 重现步骤 1. 打开必应词典软件进入设置中,选择跨软件查词设置,设置为打开和一直运行 2. 按照使用说明所说随意打开某一App(这里选择提醒事项) 3. 按使用说

软件工程第三次作业(微软小娜案例分析)

第一部分 调研, 评测 1.上手体验  我使用的是win10系统,所以自带Cortana,之后又在手机上下载了安卓版本.第一感受不管是在电脑上还是在手机上都比较流畅,优化的比较好.电脑上使用也比较方便,在桌面上就能直接打开,安卓手机则需要下载.使用上,语音识别还算准确,而且搜索到的信息也比较有用. 2.bug测试 (1)语音输入后莫名弹出必应. (2)语音识别不太准确 3. 用专业的语言描述 (每个bug 不少于 40字),如有必要, 可以配图. 当语音输入有标点时,Cortana有几率打开ed

2017年软件工程第三次作业-2效能分析

要求0 以 战争与和平 作为输入文件,重读向由文件系统读入.连续三次运行,给出每次消耗时间.CPU参数       首先,我下载ptime.exe,不知道什么原因我下载下来以后运行老出现闪退现象.一直没法使用.我就接下来开始下载visual studio 2015,但是下载了一下午就是下不下来,我也很苦恼啊,电脑还是变成了巨难用,我下载的时候大概是缺少很多插件,我也不懂了.然后通过请教学长和同学,我使用了Very Sleepy CS软件来对功能进行效能分析. 由于我上次作业功能四没有实现,我没办

2018软件工程第三次作业

最大连续子数组和(最大子段和) 一.问题描述 问题描述: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+-+a[j]},1<=i<=j<=n 例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20. 二.题目分析 本

软件工程第三次作业--求最大子段和

一.最大连续子数组和(最大子段和) 问题背景 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整数均为负数时定义子段和为0,依此定义,所求的最优值为: Max{0,a[i]+a[i+1]+-+a[j]},1<=i<=j<=n.例如,当(a[1],a[2],a[3],a[4],a[5],a[6])=(-2,11,-4,13,-5,-2)时,最大子段和为20. 问题分析 当给定一组数组时,

软件工程第三次作业绝对编程

一.项目描述:黄金点游戏 黄金点游戏是一个数字小游戏,其游戏规则是: N个同学(N通常大于10),每人写一个0-100之间的有理数 (不包括0或100),交给裁判,裁判算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值.提交的数字最靠近G(取绝对值)的同学得到N分,离G最远的同学得到-2分,其他同学得0分.玩了几天以后,大家发现了一些很有意思的现象,比如黄金点在逐渐地往下移动. 现在请大家根据这个游戏规则,编一个可以多人一起玩的小游戏程序,要求如下: 1.本作业属于结对编程项

现代软件工程第三次作业-自我评价的改进

自我评价的改进 温浩: 通过调查问卷的测评,我对自己的专业技能有了较为直观的认识,经过反思与总结,我认为自己需要做如下改进: 1. 从被动编程向主动编程转变.拿到一个项目,要真的的了解需求,主动发掘需求中的盲点:遇到问题要主动寻找解决方案,最好事先做好各方面的估计. 2. 保持高的标准.不能只关注代码的结果,还要关注代码的质量.某些模块是否需要应用一些设计模式,是否考虑了资源的释放,算法复杂度是否能够进一步优化. 3. 重视测试步骤.不同模块需要进行实际模块的测试,不能因为某些地方简单就想当然的

软件工程——第三次作业(二)

对上周作业中的功能4 (仅由文件重定向读入,不由控制台读入) 做效能分析. 功能4:(还没改出来,出错,待续.) git: