C#学习历程——大作业

  C#的学习不知不觉就接近尾声了,这最后的大作业也让我学到了不少。

  以下是大作业中关于Windows Phone 8.1 App的一些代码,运行图片,和我自己的感悟。

  首先,通过Windows Phone 8.1我学会了如何实现页面的跳转。使用 Frame.Navigate(typeof()); 即可实现页面的跳转了。而不同页面间的数据传递,则可以使用下面这条代码: Frame.Navigate(typeof(), e); (e为你想要传递的数值)。涉及到多个数值的传递时,我们就可以将这些数值存入一个数组,再通过数组进行传递了。

  接着谈一下我的APP吧。其实它的难度挺低的,只是对于分期付款所需花费的总金额进行了一个计算。当然也有一点新颖的地方,那就是引入了通货膨胀率这一概念。通货膨胀率=(现物价—基准物价)/基准物价。现物价就是现在的物价,基准物价就是你用来比较的物价了。那么通过月通胀率我们就可以大致算出我们现在的100元相当于一个月前的多少,即100/(1+月通胀率)。我觉得引入了这个概念,我们可以更为清晰的了解我们的购物花费,也可以更好地做出选择。下面就是一些代码和运行结果的截图了。

            //多个数据的传递
            double check = 1;
            double W = Convert.ToDouble(w);
            double month = Convert.ToDouble(textBox1.Text);
            double rate = Convert.ToDouble(textBox2.Text);
            double[] a = new double[5];
            a[0] = check;
            a[1] = W;
            a[2] = month;
            a[3] = rate;
            Frame.Navigate(typeof(Page4), a);              
     //通过Button的点击,进行计算和输出
     private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            double wc = 0;
            double w = 0;
            double x = Convert.ToDouble(textBox.Text);
            double z = 0;
            if (a[0] == 1)
            {
                double W = a[1];
                double month = a[2];
                double rate = a[3] / 100;
                double n = W / month;
                for (int i = 0; i < month; i++)
                {
                    z = Math.Pow(1+x/100, i);
                    w = w + ((W - i * n) * rate + n);
                    wc = wc + ((W - i * n) * rate + n) / z;
                }
            }
            if (a[0] == 2)
            {
                double W = a[1];
                double s = a[2];
                double month = a[3];
                w = month * s;
                for (int i = 0; i < month; i++)
                {
                    z = Math.Pow(1+x/100, i);
                    wc = wc + s / z;
                }
            }
            textBlock1.Text = Convert.ToString(Math.Round(w, 2));
            textBlock2.Text = Convert.ToString(Math.Round(wc, 2)) + "";
            if (wc < a[1])
            {
                textBlock3.Text = "省了" + Convert.ToString(Math.Round(a[1] - wc, 2)) + "";
            }
            if (wc > a[1])
            {
                textBlock3.Text = "多花了" + Convert.ToString(Math.Round(wc - a[1], 2)) + "";
            }
            if (wc == a[1])
            {
                textBlock3.Text = "奇迹啊!二者花费正好相等";
            }
        }

原文地址:https://www.cnblogs.com/tjuwx/p/4512309.html