一行加算計算機

最初は何も分からないところから始めますので、参考書やネットをフォローしていきます。

まず、form、ラベル、ボタンの配置をして、一行の足し算のcodeを学びましょう。

① 全く役に立たない一行加算計算機!

1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10  
11 namespace SimpleCalc 
12 {
13     public partial class Form1 : Form
14     {
15         public Form1()
16         {
17             InitializeComponent();
18         }
19  
20         private void Form1_Load(object sender, EventArgs e)
21         {
22  
23         }
24  
25         private void CalcButton_Click(object sender, EventArgs e)
26         {
27             //変数の宣言
28             int valueLeft;
29             int valueRight;
30             int valueAnswer;
31             //値の取り込み
32             valueLeft = int.Parse(Input1TextBox.Text);
33             valueRight = int.Parse(Input2TextBox.Text);
34             //取り込んだ値の計算
35             valueAnswer = valueLeft + valueRight;
36             //計算結果の表示
37             AnswerTextBox.Text = valueAnswer.ToString();
38  
39         }
40     }
41 }
42  

これで暗算より遅い次のような計算機が出来上がりました。

 

 

 

数字以外を入力するとエラーとなり死んでしまいますので、
次回で数字のみ受け付けるようにします。 これは将来役に立ちます。

----------------------------------------------------------------

② 数字のみ受け付けるように改修する。

赤字のcodeが今回の修正箇所。

行34、44(赤字)で入力が整数以外だったら、入力を無視して計算するようにした。
普通は数字以外なら再入力を促すなどのメッセージを表示するが、そのうちに実装します。

1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10  
11 namespace SimpleCalc //P160まで完
12 {
13     public partial class Form1 : Form
14     {
15         public Form1()
16         {
17             InitializeComponent();
18         }
19  
20         private void Form1_Load(object sender, EventArgs e)
21         {
22  
23         }
24  
25         private void CalcButton_Click(object sender, EventArgs e)
26         {
27             //変数の宣言
28             int valueLeft;
29             int valueRight;
30             int valueAnswer;
31             
32             //値の取り込み
33             //valueLeft = int.Parse(Input1TextBox.Text); //整数以外の入力を無視するように次のように修正する
34             if (int.TryParse(Input1TextBox.Text, out valueLeft) == true)
35             {
36                 valueLeft = int.Parse(Input1TextBox.Text);//入力値を整数型に変換後代入
37             }
38             else
39             {
40                 valueLeft = 0;//0を代入
41             }
42  
43             //valueRight = int.Parse(Input2TextBox.Text); //整数以外の入力を無視するように次のように修正する
44             if (int.TryParse(Input2TextBox.Text, out valueRight) == true)
45             {
46                 valueRight = int.Parse(Input2TextBox.Text);//入力値を整数型に変換後代入
47             }
48             else
49             {
50                 valueRight = 0;//0を代入
51             }
52  
53             //取り込んだ値の計算
54             valueAnswer = valueLeft + valueRight;
55  
56             //計算結果の表示
57             AnswerTextBox.Text = valueAnswer.ToString();//表示用にstr型に変更する
58  
59         }
60     }
61 }

このエラー対策で、間違えて「5v」と入力した部分は無視されて計算されている。

--------------------------------------------------------------------

③ 小数点もOKとしましょう。

赤字のcodeが今回の修正箇所。

1 using System;
2 using System.Collections.Generic;
3 using System.ComponentModel;
4 using System.Data;
5 using System.Drawing;
6 using System.Linq;
7 using System.Text;
8 using System.Threading.Tasks;
9 using System.Windows.Forms;
10  
11 namespace SimpleCalc //P160まで完
12 {
13     public partial class Form1 : Form
14     {
15         public Form1()
16         {
17             InitializeComponent();
18         }
19  
20         private void Form1_Load(object sender, EventArgs e)
21         {
22  
23         }
24  
25         private void CalcButton_Click(object sender, EventArgs e)
26         {
27             //変数の宣言. 小数点もOKとします。
28             float valueLeft;
29             float valueRight;
30             float valueAnswer;
31  
32             //値の取り込み
33             //valueLeft = int.Parse(input1TextBox.Text); //整数以外の入力を無視するように次のように修正する
34             if (float.TryParse(input1TextBox.Text, out valueLeft) == true)
35             {
36                 valueLeft = float.Parse(input1TextBox.Text);//入力値を整数型に変換後代入
37             }
38             else
39             {
40                 valueLeft = 0;//0を代入
41                 MessageBox.Show("Enter only numerical number.");
42             }
43  
44             //valueRight = int.Parse(input2TextBox.Text); //整数以外の入力を無視するように次のように修正する
45             if (float.TryParse(input2TextBox.Text, out valueRight) == true)
46             {
47                 valueRight = float.Parse(input2TextBox.Text);//入力値を整数型に変換後代入
48             }
49             else
50             {
51                 valueRight = 0;//0を代入
52                 valueAnswer = 0;
53                 MessageBox.Show("Enter only numerical number.");                
54             }
55  
56             //取り込んだ値の計算
57             valueAnswer = valueLeft + valueRight;
58  
59             //計算結果の表示
60             answerTextBox.Text = valueAnswer.ToString();//表示用にstr型に変更する
61  
62         }
63     }
64 }
   

 

これをrunすると、入力が数値以外だと「messegeboxで数値を入れて下さい」と訂正の警告がでる。
そして結果はやり直ししないと、その入力は0と判断される。

こういうcodeの積み重ねがそのうち立派なアプリが出来るようになると期待しております。

 

 

一行計算機の稿おわり。

 

 

VC#
VC# 事始め

Pythonでアプリを作っていたけれど、配布用のexeファイルに難点があるので、以前少しかじっていた …

VC#
VC# Index

備忘録用Indexを作ってみます。 Under Construction C#の基本ルール 簡単な説 …

VC#
VC#1 2019のインストール

まずVC#1 2019のインストールから始めます。 ・良さそうなサイトからVisual Studio …