第三次作业,疑问希望老师解答一下。谢谢

作业要求:

该程序是一个能随机在1-10数字之间整数进行的四则运算,程序可以根据用户输入的答案判断对错,并且可以统计出答题的总数和答对题的数量。

(做了两个第一个遇到点麻烦,又做第二个)

这是我第一次做的窗体程序,但是遇到点麻烦,运行起来点击第一个数textbox1或第二个数textbox2或第三个数textbox3中任意一个按钮运行的页面就会消失,但还在调试中。我问陈老师,老师没能给我具体解答,只好等开学问c#老师。所以这个程序就先搁置这了。下面作业是后来用控制台做的

设计思路:

1、先建两个窗体,拉进去自己需要的控件,然后编写代码。

2、定义正确和总的题数的变量。

3、Random产生随机数。

4、textBox3计算加减乘除结果,单击开始运行。

5、停止转到Form2进行测试。

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 WindowsFormsApplication2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public static int count = 0;
private int t = 60;
public static int right = 0;

private void button1_Click(object sender, EventArgs e)
{
label4.Text = t.ToString();
timer1.Enabled = true;
timer1.Interval = 1000;
timer1.Start();
RandomNum();
}
private void RandomNum()
{
Random ran = new Random();
int n1, n2;
n1 = ran.Next(1, 11);
n2 = ran.Next(1, 11);
textBox1.Text = n1.ToString();
textBox2.Text = n2.ToString();
textBox3.Text = "";
count++;
}

private void timer1_Tick(object sender, EventArgs e)
{
if (t <= 0)
{
timer1.Enabled = false;
textBox3.Enabled = false;
MessageBox.Show("时间到!");
textBox3.Enabled = false;
Form2 frm2 = new Form2();
frm2.ShowDialog();
}
t = t - 1;
label4.Text = t.ToString();

}

private void button2_Click(object sender, EventArgs e)
{
textBox3.Enabled = false;
Form2 frm2 = new Form2();
frm2.ShowDialog();
}

private void button3_Click(object sender, EventArgs e)
{
new Form3().Show();
}

private void textBox3_KeyDown(object sender, KeyEventArgs e)
{
int sum;
if (comboBox1.Text == "+")
sum = int.Parse(textBox1.Text) + int.Parse(textBox2.Text);
else
if (comboBox1.Text == "-")
sum = int.Parse(textBox1.Text) - int.Parse(textBox2.Text);
else
if (comboBox1.Text == "*")
sum = int.Parse(textBox1.Text) * int.Parse(textBox2.Text);
else
if (comboBox1.Text == "/")
sum = int.Parse(textBox1.Text) / int.Parse(textBox2.Text);

if (e.KeyCode == Keys.Enter)
{
if (textBox3.Text == textBox3.ToString())
right++;
textBox3.Text = "";
RandomNum();

}

}
}
}

这个程序花费我两天但我不后悔。

思考题:

private void Random()

{

Random ran = new Random();

int n1, n2;

n1 = ran.Next(1, 11);

n2 = ran.Next(1, 11);

textBox1.Text = n1.ToString();

textBox2.Text = n2.ToString();

textBox3.Text="";

count++;

//换成

private void Random()

{

Random ran = new Random();

int n1, n2;

n1 = ran.Next(1, 101);

n2 = ran.Next(1, 101);

textBox1.Text = n1.ToString();

textBox2.Text = n2.ToString();

textBox3.Text="";

count++;//就行了

 第二次做

设计思路:

用控制台应用程序设计,主要运用定义变量,并用while(){}循环,switch(表达式){case常量表达式1:语句1;break;case常量表达式2:语句2;break;.....default;语句m;break;}循环语句,if(){}循环语句来实现程序的运用。

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace jiajianyunsuan
{
class Program
{
static void Main(string[] args)
{

int q = 0;
int x = 1;
int o = 0;
Random r = new Random();

while (q < 1)
{
int a = r.Next(0, 11);
int b = r.Next(0, 11);
int c = r.Next(0, a);
int d = r.Next(1, 11);
Console.WriteLine("请输入1为加,2为减,3为乘,4为除");
int y = int.Parse(Console.ReadLine());
switch (y)
{
case 1:
Console.WriteLine("第{0}题:{1} + {2} = ? ", x, a, b);
int result = Convert.ToInt32(Console.ReadLine());
if (result == a + b)
{
o++;

;

}
x++;
break;
case 2:
Console.WriteLine("第{0}题:{1} - {2} = ? ", x, a, c);
int result2 = Convert.ToInt32(Console.ReadLine());
if (result2 == a - c)
{
o++;

}
x++;

break;
case 3:
Console.WriteLine("第{0}题:{1} * {2} = ? ", x, a, b);

int result3 = Convert.ToInt32(Console.ReadLine());

if (result3 == a * b)
{
o++;

}
x++;
break;
case 4:
Console.WriteLine("第{0}题:{1} / {2} = ? ", x, a, d);

int result4 = Convert.ToInt32(Console.ReadLine());
;
if (result4 == a / d)
{
o++;

}
x++;
break;

}
Console.WriteLine("输入0继续答题,输入1结束答题");
int q1 = int.Parse(Console.ReadLine());
q = q + 1;

}

Console.WriteLine("你一共答了{0}题,你答对了{1}题", x - 1, o);
Console.ReadLine();

}
}
}

整个作业做下来真不容易,第一个程序整整花了我两天时间,克服了九九八十一难还是没有成功,第二个是请教同学之后做出来的,这个作业考虑的更多一点,想到了除数不能为零,这个程序页面看起来没有窗体看到简洁明了,但是相对来说这个更容易设计。

psp耗时分析:

psp Personal Software Process Stages Time(h)
planning .计划 36
.Estimate .估计这个任务需要多长时间 36
Development .开发 30
.Analysis .需求分析 3
.Design Spec .生成设计文档 3
.Design Review .设计复审 2
• Coding Standard .代码规范 2
 • Design .具体设计 3
 • Coding .具体编码 8
• Code Review .代码复审 4
 • Text .测试 2
Reporting .报告 1
• Test Report .测试报告 1
• Size Measurement .计算工作量 1
 • Postmortem&Process Improvement Plan .事后总结并提出改进计划 4

思考题:

同上,只要把范围改一下就行了

nt a = r.Next(0, 11);
int b = r.Next(0, 11);
int c = r.Next(0, a);
int d = r.Next(1, 11);

改成

nt a = r.Next(0, 101);
int b = r.Next(0, 101);
int c = r.Next(0, a);
int d = r.Next(1, 101);

附加题:

有一点想法 ,但不知道成熟不成熟。不敢写。

总结:做下来这个作业我的假期已经过的差不多了,虽然没能向同学们那样出去游玩,但我在书的海洋里遨游的也挺好。现在看来是我学的不到家。看到题后思路想法都是有的,具体实践有点难度,需要助手。不过,我会继续努力。加油

时间: 2024-10-29 00:06:09

第三次作业,疑问希望老师解答一下。谢谢的相关文章

第三周作业,关于老师的一个问题给出了一点自己的想法

你认为“实体商城不会消失”,随着物流的发展.虚拟技术的发展,实体商场到底以什么样的形式存在(在未来)的呢? 首先,对于这个问题,我觉得嘛,实体商场是不会消失的,即使是随着网购等虚拟购物方式的发展. 第一我先说下不消失的原因,问问所有有网购经历的人关于他们对于网购的评价,一定不会是百分之百满意的,甚至不能达到百分之八十,就拿买香奈儿的化妆品来说吧,如果是你在网上买,你真的会因为他说是正品,你就完全相信吗?可是如果是一个专卖店呢?一个有授权的专柜,并且现场让你亲自感受一下他的材质,那么我相信,你宁愿

機器學習基石(Machine Learning Foundations) 机器学习基石 作业四 课后习题解答

大家好,我是Mac Jiang,今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业四的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博友发现错误请及时留言联系,谢谢!再次提醒:请不要以此博客作为通过考试的用途,还是更好学习.理解课程的途径!希望我的博客对您的学习有所帮助!

機器學習基石(Machine Learning Foundations) 机器学习基石 作业二 课后习题解答

大家好,我是Mac Jiang,首先祝贺大家清明节快乐!作为一名苦逼的程序员,博主只能窝在实验室玩玩游戏,顺便趁着大早上没人发一篇微博.不过还是祝各位出行的兄弟玩的开心! 今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业二的习题解答.笔者在做这些题目时遇到很多困难,当我在网上寻找答案时却找不到,而林老师又不提供答案,所以我就想把自己做题时对题目如何思考的写下来,为大家提供一些思路.当然,我对题目的理解不一定是正确的,如果各位博

第三次作业总结

知识点一 如何在屏幕上显示信息 1.用到的主要函数是:printf 2.函数printf(” “)可以输出双引号中任何固定不变的内容 3.必须在程序前面拥有:编译预处理命令#include<stdio.h>,而且后面不需要加:分号 4.任何一个程序都必须包含一个:主函数main 5.每一条语句后面都必须有分号 6.若想显示的内容分行,可以在printf的双引号中加\n. 如何实现简单的数据处理 知识点二 1.常量,变量和数据类型 2.算术运算和赋值运算 3.格式化输出函数printf() 变量

第三次作业-徐镇、尚清丽

 —— 题目:           请编写一个能自动生成小学四则运算题目的 “软件”.           让程序能接受用户输入答案,并判定对错.           最后给出总共 对/错 的数量. ——需求分析: 此“软件”主要面向小学生,考虑到小学生对计算机的使用和掌握程度有限,所以此“软件”的操作应尽量简单,易使用: 用户能在此"软件"上练习简单的四则运算: 此“软件”能提交用户的答案,并判断对错: 在使用此 “软件”后及时给出正确与错误的题目数. ——基本功能要求: 对于该题目

第0次作业 邹欣老师关于师生关系博客的观看及问题回答

(1):最理想的师生关系是健身教练和学员的关系,在这种师生关系中你期望获得来自老师的哪些帮助? 在博客中邹欣老师先后把大学老师和学生的关系比作餐馆和食客.老板和雇员.保姆和幼儿.哥们和哥们.路人甲和路人乙.狱警和犯人等等,最终将抛出了自己的观点认为大学老师和学生的关系应该是健身教练和学员的关系.我认为在文章中邹欣老师的形容十分恰当,我也期望在未来的大学生活中能与任课老师建立这样的关系.在此我也写出一些自己的想法. 第一,特别高兴老师能将即将学习的内容提前公布,让我们有充足的时间进行预习,这样在上

第三次作业三总结与心得

知识点总结: 1.调用幂函数pow()生成乘方表 power=pow(); 2.#include<math.h>程序中调用了数学函数,需包含头文件math.h 3.调用自定义函数fact(i)计算i! product=fact(i); 4.double fact(int n);自定义函数的声明,以分号结束 5.double product;变量product用于存放结果(阶乘的值) 6.return product;将结果送回主函数 7.定义求n!的函数double fact(int n)函数

第三次作业 结对编程 (小神童数学测试系统)

一 需求分析 本次我们做的程序依旧是数学的四则运算,但是进行了部分的增量开发,接下来,我们谈谈这个程序的相关需求,此程序是一个1—10的四则运算,那么可以想到主要用于小学生,(ps 个人想法,不排除其他高年级的使用,因为用户可以输入任意的随机数范围),此外,本程序还可能会出现在家庭.教育机构和部分教学网站上面,因为他们可能会给学生出一些简单的数学题目,可以自由设置测试时间,题目数量等内容,而这一程序正好解决了这一个问题,我想,产品的需求必须首先知道用户需要什么,要以客户为中心.而这个产品正好解决

第三次作业——个人作业——软件产品案例分析

第三次作业--个人作业--软件产品案例分析 评测产品:K米,安卓端 第一部分 调研,评测 评测 初体验 还没去KTV的时候,刚开始下了这个APP,我按正常软件一样,进行了注册功能,可到要写用户信息的时候,(可能是本着比较随意的思想,只想一直点,只填了一些以外使用其他APP时候的基本信息就一直点进一步),在上传用户头像的时候,我想直接跳过,没想到这一定要上传头像才可以啊!!!然后注册完后点进去,看了下K歌功能都不能用,看了一下用户的社区,发现大部分用户动态都是国庆的,这个时候已经10.17了,可见