我的第一个程序

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

我做的是一个能对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. golang cgo 使用总结

    原文地址 CGO 提供了 golang 和 C 语言相互调用的机制.某些第三方库可能只有 C/C++ 的实现,完全用纯 golang 的实现可能工程浩大,这时候 CGO 就派上用场了.可以通 CGO ...

  2. 高德地图API(流程法)整理分析

    [高德地图API(流程法)分析]: 前言:公司现在的网约车项目,使用的是高德地图,因为地图导航这一块的功能占比量比较大,为了方便大家对高德地图API的了解和学习使用,使用流程图把高德API分析整理了下 ...

  3. Modelsim SE自动化仿真——如何将.do文件中自定义的库链接到testbench顶层模块

    我们用Modelsim SE进行仿真时,为了方便,一般会编写.do文件来启动当前仿真.关于.do文件的编写,一般网上都有成型的模板,我们只要稍微改几个参数,就可以符合我们的仿真需求了.但是如果仿真时需 ...

  4. 17-[JavaScript]- 内置对象 Array,String,Date,Math

    1.Array数组 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> < ...

  5. element-ui 点击行如何获取table的行索引

    文档中有一个tableRowClassName方法,可以获取到当前行的index, tableRowClassName ({row, rowIndex}) { //把每一行的索引放进row row.i ...

  6. CLR via C#读书笔记一:CLR的执行模型

    CLR(Common Language Runtime)公共语言进行时是一个可由多种编程语言使用的“进行时”. 将源代码编译成托管模块 可用支持CLR的任何语言创建源代码文件,然后用对应的编译器检查语 ...

  7. 洛咕P3250 [HNOI2016]网络 整体二分

    这题太神仙了必须写博客... 显然可以想到二分答案.二分一个答案mid,如果所有长度\(\geq mid\)的路径都过x,那么答案一定\(<mid\),否则答案\(\geq mid\). 那么就 ...

  8. Win10版本号区分

      版本号 内部版本号 UniversalApiContract  首个正式版 1507 10240 1  首个重大更新 1511 10586 2  一周年更新 Anniversary Update ...

  9. Navigation - How to define the structure of the navigation tree via the NavigationItemAttribute

    In the meantime, you should use the Model Editor to create such a navigation structure. There are se ...

  10. python 中的特殊方法,纠正自己笨笨的记忆

    1. __new__ 和 __init__ 的区别 python 2.x 老式类(默认继承type) class A: pass 老式类中没有__new__类方法(也就是说定义也不会执行,它不是老式类 ...