我的第一个程序

忙活了半个下午做出来了,勉强可以见人,虽然还有些瑕疵,但是我也尽力了......

我做的是一个能对0--10之间的整数进行四则运算的,题目的数据是程序自动生成的,而且程能接收用户输入的整数答案,并判断对错程序结束时,统计出答对、答错的题目数量。

我做的是一个窗体:

拖了三个textbox控件,一个combobox控件,一个label和三个button控件,大部分的控件属性都没有改变,只有前两个textbox控件改了Enabled的属性改为false,使其不可输入数据,按下“说明”按钮有个小小的说明:

程序运行后的结果是这样的:

这个程序其实很简单,最主要的是“+”“-”“*”“/”,不同计算方法的切换,所以我用了switch语句,

string result = "";

switch (symbol)             {

case '+':

result = (n1 + n2).ToString();

break;

case '-':

result = (n1 - n2).ToString();

break;

case '*':

result = (n1 * n2).ToString();

break;

case '/':

result = n2 == 0 ? "除数不能为零。" : (n1 / n2).ToString();

break;

default:

break;

}

return result;

这部分是最难得,其次就是随机数的产生,

private void RandomNum()
        {
            Random ran = new Random();
            double n1, n2;
            n1 = ran.Next(0, 10);
            n2 = ran.Next(0, 10);
            textBox1.Text = n1.ToString();
            textBox2.Text = n2.ToString();
            textBox3.Text="";
            Count++;
         }

最后就是窗体之间的转换和最后计算结果的现实,这个比较简单啦!

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

(窗体转换)

private void Form2_Load(object sender, EventArgs e)
        {
            textBox1.Text = Form1.Count.ToString();
            textBox2.Text = Form1.right.ToString();
            textBox3.Text = ((Form1.right / (double)(Form1.Count)) * 100).ToString() + "%";
        }

(最后在form3现实结果)

这个就是我的全部设计,至于时间,因为是断断续续的没法精确,但是我这点儿水平。估计有整整3个多小时吧!还是保守估计的。

嗯,最后是测试部分了。说实话,这个我不太会,后面我会继续努力的。

至于需求分析方面,我觉得比较适合小学生来练习计算能力,所以我觉得可以的话可以多一个保存结果,就是正确率那个。便于学生来看自己的进步或者适当的再进行练习,而且还可以美化一些,因为小孩子可能更喜欢漂亮些的东西......

还有最后一个上传代码的,我只能说:呵呵哒........
                                                      
                                                                                                                                                                                                       (2015.10.3 晚)
                                                                                                                                                                               
 
 
 
 

四则运算(window窗体程序)的更多相关文章

  1. window窗体程序意外崩溃,EventType clr20r3错误的解决方法

    EventType clr20r3, P1 ggreadcard.exe, P2 1.0.0.0, P3 51d3d283, P4 zljy.common, P5 1.0.0.0, P6 4fc6c2 ...

  2. 写一个去除AI2XAML注释及多余数字位数的WPF窗体程序

    原文:写一个去除AI2XAML注释及多余数字位数的WPF窗体程序 使用正则表达式去除多余注释及冗余数字位,关键代码:            string pattern = @"/b(/d+ ...

  3. wpf的UserControl用户控件怎么添加到Window窗体中

    转载自 http://www.cnblogs.com/shuang121/archive/2013/01/09/2853591.html 我们来新建一个用户控件UserControl1.xaml &l ...

  4. 作业二:个人编程项目——编写一个能自动生成小学四则运算题目的程序

    1. 编写一个能自动生成小学四则运算题目的程序.(10分)   基本要求: 除了整数以外,还能支持真分数的四则运算. 对实现的功能进行描述,并且对实现结果要求截图.   本题发一篇随笔,内容包括: 题 ...

  5. 写window应用程序日志System.Diagnostics.EventLog.WriteEntry

    System.Diagnostics.EventLog.WriteEntry( MySource , Writing to event log. ); 可以写window应用程序日志 查看的地方:右击 ...

  6. 转:vs发布window应用程序时出错:未能签名 ...\setup.exe

      在vs发布window应用程序过程中,提示“SignTool 报告了一个错误‘未能签名 ...\setup.exe.SignTool 错误: ISignCode::Sign 返回的错误: 0x80 ...

  7. 如何给windows窗体程序打包成一个安装包

    http://blog.csdn.net/xyy410874116/article/details/6341787 给windows窗体程序打包成一个安装包:具体操作在:http://hi.baidu ...

  8. 学习java随笔第十一篇:java窗体程序

    要开java的窗体程序,就要下载开发窗体的工具. 这里我用的是的myeclipse,可以直接在网上下载安装即可. 我用的是10.0版本的,如果需要汉化的话,可以看一下这篇文章:myeclipse.10 ...

  9. VS2010 win32项目windows窗体程序 向导生成代码解析

    目录: 1.Win32项目的windows窗体程序的向导生成了如下代码 2.手工生成代码如下 3.当消息队列中没有消息需要处理,我们可以利用这段时间处理我们自己的任务 1.Win32项目的window ...

随机推荐

  1. 更新Android Studio 3.1.1碰到的问题

    碰到了如下问题 The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. Perhaps you m ...

  2. Vue Router的入门以及简单使用

    Vue Router 是Vue官方的路由管理器,是Vue用来实现SPA的插件.它和 Vue.js 的核心深度集成,让构建单页面应用(SPA)变得易如反掌. 基本概念: 路由:是一种映射关系,是 “pa ...

  3. maven第二天——重要概念与其它操作

    一.在eclipse中建立工程 在day01中我们搭建了eclipse的maven环境,接下来我们开始建立maven项目 1.在eclipse中建立JAVA工程 file->new->ma ...

  4. RabbitMQ(二):理解消息通信RabbitMQ

    原文:RabbitMQ(二):理解消息通信RabbitMQ 一.消费者.生产者和信道 生产者(producer):生产者创建消息,然后发布(发送)到代理服务器(RabbitMQ),可以说发送消息的程序 ...

  5. 关于自动AC机

    嗯,,,,自动AC机 在cena评测时: Const SourcePath:string='incantation'; InputFile:string='incantation.in'; Outpu ...

  6. 3-1 实现简单的shell sed替换功能

    1.需求 程序1: 实现简单的shell sed替换功能 file1 的内容copy到file2 输入参数./sed.py  $1  $2 $1替换成$2 (把a替换成% ) 2.个人思路 open ...

  7. 实现后门程序以及相应的rootkits,实现对后门程序的隐藏

    iptables的一些命令: a.    a) 使用规则实现外网不能访问本机,但是本机主动发起的连接正常进行. sudo iptables –A INPUT -p tcp —tcp —syn -j D ...

  8. 洛咕 P2463 [SDOI2008]Sandy的卡片

    哈希水过. 首先这是一段delta相同的序列,按照套路差分一下,b[i]=a[i]-a[i-1],然后就是这些序列的最长公共子段 由于数据范围很小,就可以二分,枚举第一个序列的子段然后每个子序列暴力c ...

  9. Flutter - 弹出底部菜单Show Modal Bottom Sheet

    在很多安卓App上,有很多底部弹出的菜单,这个在Flutter上同样可以实现. 先看一下效果 嗯,就是这样子的,当用户点击菜单区域以外的时候,菜单会自动关闭. 下面就看一下Dart语言实现 float ...

  10. 180807-Quick-Task 动态脚本支持框架之Groovy脚本加载执行

    Quick-Task 动态脚本支持框架之Groovy脚本加载执行 上一篇简答说了如何判断有任务动态添加.删除或更新,归于一点就是监听文件的变化,判断目录下的Groovy文件是否有新增删除和改变,从而判 ...