アフィリエイト広告を利用しています

広告

posted by fanblog

2018年04月21日

《その367》2行2列の行列計算アプリ


 2行2列の行列計算

 入力された文字列を数値に変換する手順が、あまりキレイではありませんが・・・。
int::Parse を使おうとするとエラーになってしまうので、まわりくどいコードになってしまいました。


 MainPage.xaml の コントロール配置図です。
add_b02102.png


 以下は、MainPage.xaml のコードです。
自動で作成されるコードなので、小さいフォントにしました (^^;)
確認が必要な場合は、コピペしてください m(_ _ )m

<Page
x:Class="App4.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App4"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d">

<Grid Background="White" Margin="-10,10,10,-10">
<TextBox x:Name="a11" HorizontalAlignment="Left" Margin="200,150,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="a21" HorizontalAlignment="Left" Margin="200,200,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="a12" HorizontalAlignment="Left" Margin="300,150,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="a22" HorizontalAlignment="Left" Margin="300,200,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="b11" HorizontalAlignment="Left" Margin="450,150,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="b21" HorizontalAlignment="Left" Margin="450,200,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="b12" HorizontalAlignment="Left" Margin="550,150,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="b22" HorizontalAlignment="Left" Margin="550,200,0,0" Text="" VerticalAlignment="Top" PlaceholderText="整数値"/>
<TextBox x:Name="c11" HorizontalAlignment="Left" Margin="740,150,0,0" Text="" VerticalAlignment="Top" IsReadOnly="True" Background="#33ECE559"/>
<TextBox x:Name="c21" HorizontalAlignment="Left" Margin="740,200,0,0" Text="" VerticalAlignment="Top" IsReadOnly="True" Background="#33ECE559"/>
<TextBox x:Name="c12" HorizontalAlignment="Left" Margin="840,150,0,0" Text="" VerticalAlignment="Top" IsReadOnly="True" Background="#33ECE559"/>
<TextBox x:Name="c22" HorizontalAlignment="Left" Margin="840,200,0,0" Text="" VerticalAlignment="Top" IsReadOnly="True" Background="#33ECE559"/>
<TextBlock HorizontalAlignment="Left" Margin="165,136,0,0" Text="(" TextWrapping="Wrap" VerticalAlignment="Top" Height="108" Width="32" FontSize="72"/>
<TextBlock HorizontalAlignment="Left" Margin="415,136,0,0" Text="(" TextWrapping="Wrap" VerticalAlignment="Top" Height="108" Width="32" FontSize="72"/>
<TextBlock HorizontalAlignment="Left" Margin="705,136,0,0" Text="(" TextWrapping="Wrap" VerticalAlignment="Top" Height="108" Width="32" FontSize="72"/>
<TextBlock HorizontalAlignment="Left" Margin="920,136,0,0" Text=")" TextWrapping="Wrap" VerticalAlignment="Top" Height="108" Width="32" FontSize="72"/>
<TextBlock HorizontalAlignment="Left" Margin="630,136,0,0" Text=")=" TextWrapping="Wrap" VerticalAlignment="Top" Height="108" Width="87" FontSize="72"/>
<TextBlock HorizontalAlignment="Left" Margin="380,136,0,0" Text=")" TextWrapping="Wrap" VerticalAlignment="Top" Height="108" Width="32" FontSize="72"/>
<Button Content="計算" HorizontalAlignment="Left" Margin="740,72,0,0" VerticalAlignment="Top" Width="89" FontSize="24" Click="Button_Click"/>
</Grid>
</Page>



 以下は、ボタンクリック時に作動するプログラム Button_Click関数です。

//
// MainPage.xaml.cpp
// MainPage クラスの実装。
//

#include "pch.h"
#include "MainPage.xaml.h"

using namespace App4;

using namespace Platform;
using namespace Windows::Foundation;
using namespace Windows::Foundation::Collections;
using namespace Windows::UI::Xaml;
using namespace Windows::UI::Xaml::Controls;
using namespace Windows::UI::Xaml::Controls::Primitives;
using namespace Windows::UI::Xaml::Data;
using namespace Windows::UI::Xaml::Input;
using namespace Windows::UI::Xaml::Media;
using namespace Windows::UI::Xaml::Navigation;


MainPage::MainPage()
{
InitializeComponent();
}


void App4::MainPage::
Button_Click(Platform::Object^ sender,
Windows::UI::Xaml::RoutedEventArgs^ e)
{
String^ s11 = a11->Text; std::wstring p11(s11->Data());
const wchar_t* v11 = p11.c_str(); int x11 = _wtoi(v11);
String^ s12 = a12->Text; std::wstring p12(s12->Data());
const wchar_t* v12 = p12.c_str(); int x12 = _wtoi(v12);
String^ s21 = a21->Text; std::wstring p21(s21->Data());
const wchar_t* v21 = p21.c_str(); int x21 = _wtoi(v21);
String^ s22 = a22->Text; std::wstring p22(s22->Data());
const wchar_t* v22 = p22.c_str(); int x22 = _wtoi(v22);
String^ t11 = b11->Text; std::wstring q11(t11->Data());
const wchar_t* w11 = q11.c_str(); int y11 = _wtoi(w11);
String^ t12 = b12->Text; std::wstring q12(t12->Data());
const wchar_t* w12 = q12.c_str(); int y12 = _wtoi(w12);
String^ t21 = b21->Text; std::wstring q21(t21->Data());
const wchar_t* w21 = q21.c_str(); int y21 = _wtoi(w21);
String^ t22 = b22->Text; std::wstring q22(t22->Data());
const wchar_t* w22 = q22.c_str(); int y22 = _wtoi(w22);

int z11 = x11 * y11 + x12 * y21;
int z12 = x11 * y12 + x12 * y22;
int z21 = x21 * y11 + x22 * y21;
int z22 = x21 * y12 + x22 * y22;

c11->Text = z11.ToString();
c12->Text = z12.ToString();
c21->Text = z21.ToString();
c22->Text = z22.ToString();
}



アプリをスタートして、数値を入力した状態です。
add_b02202.png


 計算ボタンを押して、結果が表示されました。
add_b02302.png


この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/7575472
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


検索
<< 2018年08月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
プロフィール
こうすけさんの画像
こうすけ

 たまに、クリック お願いします m(_ _)m

 AA にほんブログ村 IT技術ブログ C/C++へ

こうすけ:メール kousuke_cpp@outlook.jp

【1】★★C++ 記事目次★★ ← 利用可能です。
・新版明解C++入門編 / 新版明解C++中級編
・その他 C++ 関連記事

【2】★★こうすけ@C#★★
・C# の初歩的な記事


×

この広告は30日以上新しい記事の更新がないブログに表示されております。