我的第一个程序

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

我做的是一个能对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 晚)
                                                                                                                                                                               
 
 
 
 

最新文章

  1. 小猪cms微信二次开发之怎样分页
  2. JavaScript增强AJAX基础
  3. 字符串反转C#的实现
  4. tomcat maven book
  5. TortoiseGit日常使用指南
  6. MySQL 数据库中用户表中口令登陆设置
  7. Is the Information Reliable?(差分约束)
  8. >/dev/null 2>&1 这句话的含义
  9. 【转】android开发 dts、各种接口porting----不错
  10. Oracle之 11gR2 RAC 修改监听器端口号的步骤
  11. 调用Runtime.getruntime 下的exec方法时,有",<,|时该怎么办?
  12. GMA Round 1 最短距离
  13. Promise的两种处理异步的方式
  14. input控制输入保留一位小数
  15. MVC 5 Scaffolder + EntityFramework+UnitOfWork Pattern 代码生成工具
  16. 基于php5.5使用PHPMailer-5.2发送邮件
  17. [scala] scala 函数 (⑦)
  18. 【Redis学习之二】Redis:redis.conf 配置详解
  19. CSS3 动画的一些属性
  20. ref和out的使用与区别【转】

热门文章

  1. js 设计模式——观察者模式
  2. MySQL数据库初始
  3. Linux-2.6驱动程序分层分离概念
  4. (数据科学学习手札26)随机森林分类器原理详解&Python与R实现
  5. 6.Exceptions-异常(Dart中文文档)
  6. 【BZOJ1002】[ZJOI2006]轮状病毒
  7. 4552: [Tjoi2016&Heoi2016]排序
  8. 使用JDBC连接MySQL数据库
  9. weblogic在linux和window下的安装
  10. variadic templates & pass by const reference & member operator [] in const map & gcc sucks