2018年05月一覧

VisualC++を使ってアプリを作ってみよう!④

こんばんは。

アプリ作りのほう進めております
苦戦しております・・・

占いアプリを作成する学習なのですが、なぜかうまく動作しないんです・・・

上の画像は成功の画像です。

そう!日付によって運勢が変わるというプログラムです!

昨日はたまたまうまくいく日だったのですが、今日とかは・・・

真ん中の画像が表示されない・・・

ちなみに運勢は「大吉、中吉、小吉、吉、凶」の5つが表示される
ようになっているのですが、私のは凶のみうまく表示されます(笑)

なぜ凶・・・
日頃の行いが悪いんでしょうか・・・(笑)

実際に自作したプログラムもこうやって思い通りいかずに四苦八苦
するのだろうな・・・

ただ今回は練習なので、深くは気にしません!

それよりもVisualStudio2017は画像も作成できるのですね。

まぁその・・・画像のセンスは置いといて、こういったものなら
VisualStudio2017内の機能で描画できるんです。

プログラムを書くだけのソフトではなく、ソフトやアプリを作るための
ソフトということですね。

まだまだ知らない機能とかたくさんありそうですね。

プログラミングの学習を始めて約1か月。先はまだまだ長そうです(笑)

 


C++の基礎学習もやることにしました。

こんばんは。

「作って覚えるVisualC++2017」でアプリを作りながらC++を覚えていこう
と以前書きました。

が、やはり、全くわからずプログラムを打ち込むのもどうなのかと、考えた末に
C++の基礎学習の参考書を買ってしまいました!

選んだのは「猫でもわかるC++プログラミング」。

いろいろあったんですけど、これが無難かなと・・・

この1か月参考書買いすぎかも・・・嫁さんにばれたら叱られるので、
この参考書は中古で安く仕入れたことにします・・・(笑)

早速読んでみたのですが、C++はやはりC言語とは別物では!?

文字や数値を表示するのにC言語では

printf(“%d円です。\n”,100);

などと表記していましたが、C++だと

std::cout << 100 << “円です。” <<std::endl;

って、全く違う・・・

さすが進化系!
C++のほうが簡単でいい!正直C言語の%dとか\nとか入力が面倒くさかった・・・(笑)

しかもC++の方の「std::」は using namespace std; と最初に書いとけば
それ以降いらないですと!?
どれだけ楽をする気だ!(笑)

まだC++の基礎学習を始めたばかりですが、最初からC++を勉強しておけば良かった
のでは・・・

まぁC++の良さに気づけたのでC言語を学習していたあの時間も無駄ではなかったと
思うことにします!

今後は2冊の参考書を同時進行でアプリ作りながら基礎学習をしていこうと思います。

がんばるぞー!

 


VisualC++を使ってアプリを作ってみよう!③

こんばんは。

中級編
5章 「簡単なアプリケーションを作成する」

を学習中でございます。

この章では兎にも角にもアプリを作るのがメインです。そして作り方も一から十まで
教えてくれるので、非常に楽です(笑)

そして楽しい!

現在は5章の中で2つアプリを作成しました。

1つ目はタイマーアプリ。

御覧の通り、真ん中の「スタート!」ボタンを押すと10秒→0秒にカウントダウンし、
0秒になったら「時間になりました!」と表示するアプリです。

2つ目は付箋アプリ。

よくある付箋アプリのそれです。

2つのアプリ共に簡単そうに見えるのですが、プログラム見たら驚愕です。
全くわかりません(笑)

プログラムもそうですが、この参考書ではアプリを作成するのに完成イメージを持つことが
非常に重要だとありました。

どのような状態が完成で、どのような機能を持たせるのか、設計図をざっくり作り、一度
頭の中を整理しておくと、プログラムを書きやすいとのこと。

確かにそうですよね。
プログラム自体も難しいですが、そこは勉強でなんとかなりそうですし、その前にどんな
アプリを作りたいのかはっきりさせないと作り用がないですもんね。

私は一応初期のほうで目標はアイアンマンに出てくる「ジャービス」としました。
とすると、ぼんやりとした完成イメージは会話ができる人工知能ということになりますかね。

プログラムと会話するプログラムをどう書けばというのは置いといて、どう設計すれば
いいのか・・・全然検討つきませんね・・・
その辺も考えないといけないですね。

どちらにせよ、先は長いので、ゆっくり考えていこうと思います(笑)


VisualC++を使ってアプリを作ってみよう!②

こんばんは。

「作って覚えるVisualC++2017 デスクトップアプリ入門」での学習をゆるりと
進めております。

初級編
3章 「オブジェクト指向プログラミングの考え方」
4章 「プログラム作成の基本を覚える」

まで学習が終わりました。

3章「オブジェクト指向プログラミングの考え方」はまたいろいろとクラスやら
インスタンスやら継承やら難しそうな言葉が多くて、躓きました。

ただこれらも使い方はまだ理解できていませんが、考え方自体は納得できる部分が
あるので、プログラミングに慣れてきたら使いこなせるようになるのではないかと
思います。

何か物を量産して作る際にいちいちひな形から作成するのは面倒で手間だというのは
リアルなモノづくりもプログラムも変わらないということですね。

本書を学習していてオブジェクト指向のことよりもプログラム自体に戸惑いました。

C言語とC++ってプログラムの書き方結構違う・・・

これは・・・C言語の進化系というC++になって大幅に変化したのか、それとも私の勉強した
「苦しんで覚えるC言語」で載っていたプログラムは入門者用参考書の為、ただ載せていな
かったからなのか・・・

->とか::とか習ってない!!(忘れているだけかも?(笑))

ただプログラム自体読み取れなくても、「作って覚えるVisualC++2017 デスクトップ
アプリ入門」は画面の操作方法からなにから全て載っているので、学習を進めることが
できます(笑)

4章 「プログラム作成の基本を覚える」ではついにアプリを作成しました。


足し算だけするアプリですが、ちゃんとexeファイルで作成することができました。

こんなものでも自分で作ったんだという実感がわくとうれしいものです。

この調子でガンガンアプリを作っていきます!

ただその前に多少C++の基礎知識を身に着けておくべき・・・なのでしょうか・・・

 


VisualC++を使ってアプリを作ってみよう!①

こんばんは。

昨日はめられた罠、解決しました!!

結局なにが原因でだめだったのか、なにがきっかけで良くなったのかは
正直わかりません。

ちなみにうまくいったときの画像がこちら。

恐らくこれかな~という解決方法が
1.上部ウインドウのエラーとなっていたForm1.h[デザイン]を一度削除
2.右側のソリューションエクスプローラーのForm1.hを再度ダブルクリック
3.WindowsフォームでForm1が表示されるようになった。

ツールボックスのLabel等も貼り付けることができ、無事解決となりました。

2000円以上もかけた参考書が無駄にならなくてよかった。

ということで、「作って覚えるVisualC++2017 デスクトップアプリ入門」
の学習ロードマップを紹介します。

準備編
1章 「プログラミングの基礎」
2章 「VisualStudio2017の基本操作」

初級編
3章 「オブジェクト指向プログラミングの考え方」
4章 「プログラム作成の基本を覚える」

中級編
5章 「簡単なアプリケーションを作成する」
6章 「デバッグモードで動作を確認する」

上級編
7章 「「簡易家計簿」を作成する(前編)」
8章 「「簡易家計簿」を作成する(後編)」
9章 「「簡易家計簿」を作成する(応用編)」
10章 「最後に」

以上、10章の構成となっています。

ちなみに私がはまっていたのは2章です。
本当に最初の最初、準備編で参考書を手放さなくてはならないところでした。

なにはともあれ、準備編は終了したので、これで初級編に進めます。

アプリ作成の基本ややり方を学んでいきたいと思います!

 


VisualC++を使ってアプリを作ってみよう!と思ったのに・・・

こんばんは。

先日C言語の学習を終えました。

今度は実践形式で実際にプログラミング言語を使って、何かを作って
みようということで、「作って覚えるVisualC++2017 デスクトップアプリ入門」
を買いました。

なぜこの本かというと、C言語を学習していた際に使っていた開発環境が
VisualStudio2017ということで相性が良さそうだと思ったからです!

C言語もC++も同じようなものなのでしょう?
また一から初心者向けのC++の参考書を学習するのは嫌だったので、
C++はこの本でアプリ作りながら覚えようと思います(笑)

さて、早速学習を開始しようと、本書を読み進め、同じような手順で
操作していたのですが、なんと・・・この本の罠にはまり、先に進めなく
なってしまったのです。

しかも、まだ準備編で・・・(笑)

その状態がこちら・・・

本書ではこのエラーは出るものだと解説しておりました。
そして、VisualStudio2017を一旦閉じ、再起動すればうまくいくと・・・

何回再起動してもうまくいかないんです・・・

しょうがないので、上の画像にある、「MSDNフォーラムでこのエラーに関連する投稿
を検索」を押し、いろいろと調べました。

そしたら同じような悩みを抱えた人がおり、そのアンサーにC++ではWindowsForm
は使えないので諦めてC#という言語にしたほうが良いとのこと・・・

だめじゃんこれw

ああ・・・2000円以上もして買ったのに・・・

諦めきれないので、いろいろといじくりまわしてやります・・・


C言語学習8

こんばんは。

16章 複数の型をまとめる
17章 ファイルの取り扱い
18章 マクロ機能
19章 動的配列
20章 複数のソースファイル
21章 キーボード入力

まで一気に学習を進め、全章の学習が終了しました!

17章の「ファイルの取り扱い」を学習時もfopenがVisualStudio2017で
扱えなかったのですが、何か相性が悪いのでしょうか。
もはや学習も終盤だったので、うまく動作しないものは放っておき
ましたが・・・(笑)

プログラミング学びたての初心者がここまでくると、プログラマーの
負荷を減らすための便利な機能もそんな機能つけるなよ~頭がこんがら
がるんだが・・・と思ってしまいます。

実際プログラミングをガンガンこなせるようになると、ポインタとかマクロ
とか構造体とか便利なんでしょうね。

私はこのあたり、半分も理解できていない気がします(笑)
思想はわかるんですけどね・・・その機能がある意味とか出来た背景とか・・・
ただ、なんせ実際のプログラムがややこしい!

それにしても、いや~疲れた。

高校を卒業して以来、仕事のことを勉強する機会はあっても、
仕事以外でなにかを勉強したことがなかったので、だいぶ疲れ
ました。

内容をすべて理解したかと言われると、そうではないのですが、
とりあえずこれでC言語の基礎を学び終えたことになります。

これからはいよいよ人工知能を作ろう!といきたいところですが、
実際のアプリやらソフトをこの知識だけで作れるかと言われると
作れそうもありません。

今度はもう少し実践に近い形で勉強を続けていきたいと思います。


C言語学習7

こんばんは。

15章 ポインタ変数の仕組み

の学習を終えました(終わらせました)。

結局、深く考えなくてもよいと、参考書に書いてあったので、
深く考えないことにします(笑)

練習問題も全くわからなかったので、即解答見ました!

ちなみに練習問題がこちら。
「0~100の範囲で入力された複数の数値の中から、最大値と最小値を
求めて表示するプログラムを作成せよ。-1が入力された場合は入力の
終わりと判定する。」

解答がこちらでした。

*が付いたりしているので、ポインタを使ったのだな~ということしかわかりません(笑)

こういう参考書とか、まぁ学生のときの教科書とかもそうですが、出題される練習問題って
本当に習ったことを出題しているのでしょうか・・・

いや、たしかに習った文や公式を使っているのでしょうけど、応用の仕方についていけないん
ですよね~・・・

子供のころから勉強しておけば、頭が柔らかくなったのでしょうか!?

 

自分の子供には勉強させよう(笑)


C言語学習6

こんばんは。

14章 文字列を扱う方法

の学習を終えました。

なぜかはわかりませんが、strcpyやstrcatを使う文?がうまく動作しませんでした。
#include<string.h>は定義しているのに・・・

VisualStudio2017の問題なのか?私だけ?

ということで練習問題はできていません。

練習問題は「名字と名前を別々に入力させて、それを結合して表示するプログラム
を作成せよ」でした。

まぁこの問題は計算式を考えなくても良いし、学んだことをただ単純に書けばいいんだ
ろうなと。
ってことで、scanfで入力させて、strcatで合体させればいいんでしょう!

回答もそのような感じでしたので、VisualStudio2017でコンパイルできれば
恐らく解けました!

そんな感じで14章 文字列を扱う方法の学習を終えたので、15章 ポインタ変数の仕組み
に取り掛かったのですが、一言でいうとよくわかりません!

メモリをアドレスにしてポインタで読み書き?
ポインタ型?ポイント値?

実態はショートカットなんだな~ということだけなんとなくわかりました。

明日は朝が早いため、この章の学習は明日再度することにします。

それでは。


C言語学習5

こんばんは。

11章 関数の作り方
12章 変数の寿命
13章 複数の変数を一括して扱う

まで学習しました。

完璧に理解できているかというと、全くそうではないのですが、
とりあえずテンポよく、学習していこうとのことで分からなくても
深く考えておりません(笑)

11章の練習問題ではまたオリンピック開催年の問題でした。
これは1度したので、計算式については完璧です。
ただし、章的に関数を使えということなのだろうということで、

ほい、どうだ!
前解いた問題を丸々関数にして、貼り付けただけですが、それらしくなってるのでは
ないでしょうか!

模範解答は以下でした。

レベルが違う・・・

12章はプログラム書き取り問題はありませんでした。

13章の練習問題は「入力された10個の数値を最後から表示するプログラムを作成せよ」
でした。

これはまぁできたはできたんですが、たぶんこういうことではないんだろうなと。

画像はないのですが、配列を10個作って、そのなかにscanfで入力した値を最後に
printfで逆順に出力するプログラムを作りました。手打ちで10回・・・

ただ、恐らく出題者の意図は「何回も同じ文を打たずに!」なのだろうなと・・・

模範解答は以下でした。

ほら、やっぱりw

出題者の意図もわかって、for文使うんだろうな~とまでわかって、いろいろと試したの
ですが、私にはfor文を使いこなせなかったです・・・

ただ今回の件でfor文について理解が深まった気がします。条件式で定義したあとの
{}の中の条件式で定義した変数部分が繰り返されるのですね!

やはり分からなくてもそこで立ち止まるよりはわからないまま進んでいけば、
あとでわかってくるということですね。

どんどんいこう!


スポンサーリンク
広告1
広告1