ニートです1からプログラミングを教えてくれる [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
1たかし
垢版 |
2015/12/25(金) 18:43:55.48
先生を募集します

先生!!
2015/12/31(木) 20:56:03.54
応援してるよ!がんばって
162takasi
垢版 |
2015/12/31(木) 21:36:11.04
>>160
ありがとうございます

>>161
ありがとうございます

ありがとうございます

ありがとうございます

良いお年を
2016/01/01(金) 00:16:42.73
明けましてすみません。
164takasi
垢版 |
2016/01/02(土) 05:35:53.62
明けましておめでとうございます。今年もよろしくお願い致します。
課題の続きをします
このところ課題しかやってる気がしないのですがこれでいいのでしょうか
たぶんいいのでしょうねまずはコード書くことに慣れること
果てしてシンプルなメモ帳と自動シャットダウンタイマーを作れるところまで成長するのでしょうか、続くのでしょうか・・・
スマホアプリなんかも作ってみたいと思うようになってきましたそんな2016年
165takasi
垢版 |
2016/01/02(土) 08:52:04.12
配列のインデックス番号は0から始まりますよね
例えば配列に5つの要素を入れたい場合は0から始まるので、
要素1.[0]
2.[1]
3.[2]
4.[3]
5.[4]
new int[4]となるはずですが
int[] s = new int[4];
for (int i = 0; i < 5; ++i)
{
s[i] = int.Parse(Console.ReadLine());
}
としたところエラーがでました
しかし、宣言でint[5]にしたところエラーにならず、要素も5つ入れることができました
int[5]だと要素が6つ入るのでは?????????
????????状態です
166takasi
垢版 |
2016/01/02(土) 08:55:46.04
ああ、馬鹿だあああああああ
そりゃループ回数が5回だから要素が6つも入るわけ無いですよね
と、いうことは↑s[5]は何も要素が入ってないことになりますよね
わざわざ空の要素を用意しないといけないのでしょうかああわからない
167takasi
垢版 |
2016/01/02(土) 08:58:50.57
MSのガイドを見たら
int[] array = new int[5];

array[0]~[4]の要素しかないんですね
間違って覚えてた!!!!!!!!!!!!!
168takasi
垢版 |
2016/01/02(土) 08:59:17.84
ややこしい!!!!コンニャロう!!
169片山博文MZ ◆T6xkBnTXz7B0
垢版 |
2016/01/02(土) 14:10:34.05
int NUM = 5;
int[NUM] a;
for (int i = 0; i < NUM; ++i) {
a[i] = i;
}
2016/01/02(土) 15:19:44.76
>>1
ニートには100%無意味だから無駄な時間を使うべきではない。
2016/01/02(土) 16:50:25.39
バッチファイル厨嫌いじゃない
2016/01/02(土) 17:25:39.25
次はファイル入出力だ。
九九の表をテキストファイルに出力してみよ。
2016/01/02(土) 17:30:02.02
ファイルを入出力する前にオープン(開く)という操作が必要だ。
入出力が終わったらクローズ(閉じる)しないといけない。
2016/01/02(土) 20:18:53.09
あけおめ

なにこれ、マジスレ?
2016/01/02(土) 20:33:29.78
>>174
マジスレだよ。たかしは本気だ。
2016/01/02(土) 20:40:42.77
コマンドプロンプトで「notepad」と入力するとメモ帳が起動する。
メモ帳のファイル名が「notepad.exe」で、システムに登録されているからだ。
「notepad "(パスファイル名)"」を入力すればメモ帳でファイルが開かれる。試して見なさい。
2016/01/02(土) 20:59:53.53
コマンドを探しだす方法は、「サーチパス」、すなわちPATHという環境変数によって指定する。
詳しくは「Windows サーチパス」で検索。
環境変数にはシステムの環境変数と、プロセスの環境変数の二種類ある。
プロセスはプログラムのインスタンスである。
また、Windowsはサーチパス以外にもAppPathというレジストリーからの情報も使ってコマンドを検索することがある。
AppPathに登録していれば、Win+Rからコマンドを起動できる。
178takasi
垢版 |
2016/01/02(土) 21:39:22.76
おはようござざいます

ファイルの入出力やってみます

このスレはマジですけどやる気はマジではないかもしれません
2016/01/02(土) 22:13:13.55
「C:\Program Files」はプログラムと、変更しないデータを格納するためのシステムフォルダである。
このフォルダにプログラムを格納したい場合、「インストーラ」を使う。
このフォルダは管理者権限なく、勝手に変更してはならない。
よってこのフォルダに設定ファイルを書き込んではいけない。
設定を書き込みたい場合は、AppDataかレジストリを使う。
180takasi
垢版 |
2016/01/02(土) 22:16:00.36
九九の表できた・・・!
class Program
{
static void Main(string[] args)
{
int num;
for(int i = 1; i < 10; ++i)
{
num = i;
for(int n = 1; n < 10; ++n)
{
if (n == 9) Console.WriteLine(num * n);
else if (n == 1) Console.Write(i + "の段 " + num * n + " ");
else Console.Write(num * n + " ");
}
}Console.ReadLine();
}
}

嬉しいので報告だけしました
2016/01/02(土) 22:18:44.87
バイナリファイルの読み書きができたら、Windows Forms (WinForms) に進んでもいいぞ。
2016/01/02(土) 22:22:42.12
>>180
それをテキストファイルに書き込めばいい。

http://ufcpp.net/study/csharp/lib_file.html
2016/01/02(土) 22:33:33.05
数値の出力において桁をそろえたい場合はString.Formatメソッドを使う。
Stringクラスはよく使うので、ひまなときはStringのメソッドを眺めておきなさい。
184takasi
垢版 |
2016/01/02(土) 23:07:56.26
できました!これでよかでしょうか
https://i.gyazo.com/dc888ad7d26be90b98ab70f4c5700482.png
185takasi
垢版 |
2016/01/02(土) 23:10:45.17
質問です。今C#を勉強していますが、このままC#を勉強すればCは勉強しなくても良いでしょうか
186takasi
垢版 |
2016/01/02(土) 23:14:46.30
と、いいますかC#の基本を理解すれば他の言語への学習もすんなり活きますか?
2016/01/02(土) 23:24:22.88
>>184
水平位置がそろっていないように見える。
九九の表ではそろえないといけない。
数値をそろえるためのstatic関数を作ってみろ。
String.Formatが使えるはず。
OSを作りたいならCは必須だが、C#の後でいい。
2016/01/02(土) 23:35:49.30
お休みなさい
189takasi
垢版 |
2016/01/02(土) 23:37:53.66
>>184
↑のすでに記述されたコードはいじらずに関数の追加だけでyそうか?
190takasi
垢版 |
2016/01/02(土) 23:39:18.32
おやすみなさい!!
191takasi
垢版 |
2016/01/03(日) 03:39:37.95
>>144先生!やっと終わりました!https://i.gyazo.com/41c13dc803015cb945175b67089c10d3.png
>>184の訂正は明日やりますおやすみなさい
2016/01/03(日) 10:57:18.83
>>191
なかなか飲み込み早いな!
2016/01/03(日) 13:51:52.10
九九の表の「データの流れ」(data flow)について考えよう。
九九のそれぞれの数はintであった。それが単一行Stringになり、WriteLineに渡される。
実は、改行文字は"\n"で表せる。これをWriteに渡せば勝手に改行してくれる。
改行文字を使うと、九九の表は複数行文字列で表せる。
データの流れは次のようにできる。

int→単一行文字列→複数行文字列⇒Write
194takasi
垢版 |
2016/01/03(日) 15:01:40.20
おはようございます続きやります
2016/01/03(日) 15:07:11.52
プログラムは役に立たせるためにあるの。
ニートは人が困ってるのを理解できてないからやれることなの。
人が困っているのを理解できない奴は役に立つプログラムは組めないの。
よって無駄。
196takasi
垢版 |
2016/01/03(日) 15:19:40.58
static関数を作って水平位置を揃える方法が分からなかったので
すでに記述されたコードをいじれば簡単にできそうだったのでやりました!
https://i.gyazo.com/e5b8f5933aeab6d63ce186064a51c487.png

それはプログラムだけではなく全ての事に言えますね!
なら僕は自分がやりたいことだけやります!!
2016/01/03(日) 15:27:53.06
今度は、そのテキストファイルをいっぺんに読み込んで画面に出力してみろ。
198takasi
垢版 |
2016/01/03(日) 15:53:05.90
できました
https://i.gyazo.com/2bc9319292001ca6ea87abefd2ac14ba.png
質問です。結果を確認するためにはReadLineで画面に出力して確認するしか無いのでしょうか?
2016/01/03(日) 16:07:45.16
>>198
デバッグ機能にステップ実行がある。少しずつ実行しながら、下の「自動変数」などの画面で変数の内容を確認できる。
また、右下の画面で呼び出し履歴が見られるし、指定したブレークポイントでデバッグ実行を止めることができる。
ただし、プログラムがDebug versionじゃないといくつかの機能は使えないかもしれない。
200takasi
垢版 |
2016/01/03(日) 16:11:30.02
ReadLineで画面出力の方が手っ取り早いから使っているんですねわかりましたありがとうございます
2016/01/03(日) 16:12:37.06
Release versionはデバッグ情報がない分、プログラムサイズが小さく、実行が速くなる。
だから、一般にプログラムを配布する場合はReleaseを使う。
2016/01/03(日) 16:15:27.34
ReadLineは入力だぞ。出力ではない。
2016/01/03(日) 16:19:06.40
次はバイナリファイルの読み書きだ。
int[] aに適当なデータを入れてその内容をバイナリファイルに書き込め。
2016/01/03(日) 17:22:59.63
改行コードを含むテキスト文字列を一気に読み込む場合はFile.ReadAllTextを使う。
逆に一気に書き込みたい場合はFile.WriteAllTextを使う。
2016/01/03(日) 17:39:21.25
ReadAllTextやWriteAllTextにはオープンが必要ない。
2016/01/03(日) 18:21:12.82
バイナリ形式ファイルは、16進数の00〜FFを1バイトとして、n個のバイトが並んだものと考えることができる。
このバイト数がファイルサイズである。ただし、どんなファイルでもバイナリとして読み込める。
通常、慣習としてテキストファイルではないものをバイナリファイルという。
2016/01/03(日) 18:43:28.81
今Fラン文系大卒職歴30歳営業なんですが
昔からプログラマーに憧れていまして
今から未経験でプログラマー関連の仕事に就きたい思っています
ですが35歳定年説なんてのも聞きますし
流石にこの歳からプログラマーは厳しいでしょうか?
2016/01/03(日) 18:58:52.60
>>207
未経験はベクターとかストアなどで職歴を作れ。
中途は実力と職歴があれば就職できる。
2016/01/03(日) 19:24:30.27
>>208
ありがとうございます
30歳からでもプログラマーを目指す事は可能なんですね
ただ未経験なので、知識や実力がないので、まずは仕事しながら勉強をして
その後、職業訓練校のC言語やマイコンなど勉強するコースに入りプログラマー系の仕事につけるようにガンバリマス
2016/01/03(日) 19:54:27.31
少し補足しておくと、日本企業は体裁を重んじるから注意が必要だ。
学歴はもちろん、体臭・口臭がひどかったり、受け答えが障害者っぽかったり、
マナーやエチケットを守らなかったりすると、落とされる可能性が高くなる。
就職活動にもマナーというものがあり、事前に本などを読んで把握しておかないといけない。
履歴書が手書きじゃないと受け付けない企業さえある。
2016/01/03(日) 20:21:02.27
ニートになってしまったなら、これまでの親の教育を全部疑わないといけない。
何かが世間体と違うのではないか?
なぜいつも軍隊っぽいのかとか。
キャッチボールもサッカーもしたことがないのはなぜなんだ、とか。
2016/01/03(日) 20:28:55.64
お前は旧日本軍なのか?
2016/01/03(日) 20:47:07.01
洗顔料やインターネットの存在も知らないような毒親の教育を受けたら最悪だぞ。
2016/01/03(日) 20:48:59.42
で、毎晩酒を飲んで悪酔いして、からんでくるんだぞ
2016/01/03(日) 21:13:43.37
やつらは体裁やら面子などを重んじて、子どもの生活など、1つも考えてはいない。
そんな奴等は地獄を見て滅んでしまえばいい。
216takasi
垢版 |
2016/01/03(日) 22:11:00.40
おはようございます
今から始めます
217takasi
垢版 |
2016/01/03(日) 22:39:41.36
できました
https://i.gyazo.com/488e837c6c5091f3d0f53b89e399dbb3.png
バイナリファイルとはテキストファイル以外を言うんですね、初めて知りました。

質問です。Streamクラス?を使うには一番上にあるusing System.IOを追加しないと使えませんでした
はじめから記述されていないのはファイルサイズやプログラムの実行速度に影響があるからでしょうか?
と、すると綺麗なコードを書くにはすでに記述されているLinqやTextも消したほうが良いですか?
218takasi
垢版 |
2016/01/03(日) 22:44:10.99
なんかあまり理解できていません
インスタンス?の作成のusing使う時と使わない時の違いとか
usingだと短く書けるからでしょうか
というか基本を全然理解できていない感
本とか読んだほうがいいですかねえ
2016/01/03(日) 23:19:47.41
バイナリ形式のnバイトの整数データを書き込むときに、上位バイトと下位バイトのどちらを
先に書き込むのかは、システムによって異なる。
C#では下位バイトを先に書き込む。このようなデータ形式をリトルエンディアンという。
バイナリデータの読み書きにおいてはデータサイズを常に意識しないといけない。
2016/01/03(日) 23:25:19.57
>>218
usingは記述を少なくして楽をするために使う。
重複した長いコードを何度も記述すると、コードを読むのも書くのも疲れるだろう。
2016/01/03(日) 23:41:47.25
お休み。次はお待ちかねのWinFormsをやるぞ。
222takasi
垢版 |
2016/01/03(日) 23:52:49.05
下位バイトとか上位バイトとかその他にも専門的な用語が散見されてこれはもう本買って読んだほうが良いかもしれませんね ついて行けてない感

ありがとうございましたおやすみなさい
2016/01/03(日) 23:55:14.54
.exeファイルもテキストファイルではないからバイナリである。
.csファイルはテキストファイルだから、バイナリファイルではない。
バイナリファイルをテキストエディタで開くと文字化けすることがある。
224takasi
垢版 |
2016/01/03(日) 23:57:05.92
文字もバイナリデータの集まりでは無いのでしょうか?
2016/01/04(月) 00:19:47.33
>>224
人間は動物だが、人間のことを動物呼ばわりすると失礼だろ。慣例だよ、慣例。
226takasi
垢版 |
2016/01/04(月) 00:33:15.96
そういうものなのですね
こういう性格なので飲み込みが遅いです・・・
227takasi
垢版 |
2016/01/04(月) 00:35:52.82
WinFormsはGUIを持ったプログラムなんですね!
アプリ制作に一歩近づきますね
2016/01/04(月) 04:58:07.33
どんなアプリ作りたいの?
229takasi
垢版 |
2016/01/04(月) 17:26:48.96
目下の目標はwindowsアプリの自動シャットダウンタイマーと最前面表示できるテキストエディタですね
230takasi
垢版 |
2016/01/04(月) 17:29:23.69
おはようございます
2016/01/04(月) 17:41:18.88
Windowsフォームアプリを作るよ。ファイルメニューからプロジェクトを新規作成。
Visual C#のWindowsフォームアプリケーションを選択してOK。
フォームのデザインが表示される。
2016/01/04(月) 17:46:27.36
1つ注意点がある。デザインのために自動生成されるコードには直接触らない。
編集する前にコメントを読んで自動生成コードじゃないか確認。
下手に編集するとデザインが変更できなくなる。
2016/01/04(月) 17:53:48.61
Form1のデザインでフォームを右クリックしてプロパティを選べ。
フォームのプロパティが表示される。
Textプロパティを「こんにちはWinForms」に変更してEnterキー。
TopMostというプロパティを探し出してTrueにしろ。
2016/01/04(月) 17:57:14.76
デザインが変わったのを確認してデバッグ開始。これでWinFormsアプリができた。
次にVS画面の右側に縦書きで「ツールボックス」という項目があるだろう。クリックしてみよ。
2016/01/04(月) 18:02:08.20
すべてのWindowsフォームをクリックして展開。ボタンを追加するぞ。
Buttonをクリック。デザインフォーム上をドラッグ。これでボタンができた。
ボタンを右クリックしてプロパティ。Textに「終了」と入力してEnter。
さらにボタンをダブルクリック。
2016/01/04(月) 18:06:23.24
button1_ClickメソッドがForm1クラスに追加される。
そこで「this.Close();」と入力する。デバッグ実行せよ。
2016/01/04(月) 18:15:36.71
課題。デザインフォームにいくつかLabelとTextBoxを追加して
BMIを計算するアプリを作れ。
ヒント:Textプロパティに文字列をセット
238takasi
垢版 |
2016/01/04(月) 18:20:20.49
おはおうございます
今から始めます
2016/01/04(月) 18:39:03.30
つまずいたら質問したまえ
2016/01/04(月) 18:55:12.12
どうした?
241takasi
垢版 |
2016/01/04(月) 19:15:10.35
できました!https://i.gyazo.com/e13d55b77a9005e84156751faeb1aa83.png
すべてのWindowsフォームが見つからずつまづきました
テキストボックスやラベルの縦のサイズは変更できないんですかね?
2016/01/04(月) 19:20:13.65
>>241
複数行(multiline)にするプロパティがあるはずだ。
TopMostプロパティはフォームを最前面に保つ働きをする。
2016/01/04(月) 19:24:49.22
Form1はクラスだから、1プロセスに複数のインスタンスを作ることができる。
ソースコード全体がどうなってるか把握しなさい。
244takasi
垢版 |
2016/01/04(月) 19:32:25.17
マルチライン見つけました
ソースコード把握しあした
2016/01/04(月) 19:34:57.02
「ボタンを押す」という出来事(イベント)に対してメソッドで処理を行う。
典型的なイベント駆動型プログラミングだね。
プロパティとイベントの使い方をマスターすれば、さまざまなアプリを作れるだろう。
246takasi
垢版 |
2016/01/04(月) 19:36:52.54
はいい!
2016/01/04(月) 19:52:07.73
新しいアプリを作成しよう。フォームのTopMostをTrueにする。フォームのAutoSizeModeをGrowAndShrinkにする。
TextBoxを配置。TextBoxを複数行に。TextBoxのDockをFillに。デバッグ開始。
248takasi
垢版 |
2016/01/04(月) 20:03:22.86
できました!https://i.gyazo.com/5c6e00277ece5f85d540dfafee9965de.png
Textに入力する文字は改行できないのでしょうか?
249takasi
垢版 |
2016/01/04(月) 20:06:06.13
右の↓をクリックしたら入力幅が広がって改行できるようになりました
250takasi
垢版 |
2016/01/04(月) 20:08:19.79
メモ:プロパティのTextの右側の↓クリック
https://i.gyazo.com/edfc66c55f84d20ab93181c0f392156a.png
2016/01/04(月) 20:08:20.64
>>248
AcceptsReturnプロパティ。昔はEnterキーのことをReturnキーと言っていた。
このフォームにメニューを付ければテキストエディタに見えるだろう。
252takasi
垢版 |
2016/01/04(月) 20:13:32.06
もしかしてwin純正のメモ帳もTextBoxを画面いっぱいに表示して作られてるんですか?
C#で作られてるかはワカリマセンが
2016/01/04(月) 20:16:02.92
テキストボックスがフォーム全体に広がっているからフォームを右クリックできない。
こんなときは「プロパティ」ウィンドウの上側のコンボボックスで切り替える。
プロパティウィンドウのカミナリアイコンをクリックするとすべてのイベントが見れるぞ。
2016/01/04(月) 20:24:12.46
>>252
メモ帳はC/C++で作られている。C/C++のテキストボックスはEDITというウィンドウクラスから
作られており、C#のそれとは多少違う。フォームのサイズが
変更されたらWM_SIZEメッセージを受け取り、テキストボックスのサイズを
合わせるといった原始的なことをやっている。
255takasi
垢版 |
2016/01/04(月) 20:30:27.61
C#でも純正メモ帳と全く同じようなものを作れるのでしょうか?
またC/C++でシンプルなメモ帳を作る人がいたらその理由は何でしょうか?
C#の方が楽に作れる気がするのですが
C/C++にもwinformsみたいなのがあって楽に作れるんですかね
2016/01/04(月) 20:33:38.76
そのサイズを合わせるのもSetWindowPosとかMoveWindowといったAPI関数呼び出しで
しなきゃいけない。プロパティは使わない。
なんというか、C/C++は生産性が低く、スマートではない。
2016/01/04(月) 20:36:55.39
C#は.NETという枠組みで動くが、C/C++はそれより外側の、OSに近い低レベルなところで動く。
.NETがなかった頃はVBやC/C++などしかなかった。
2016/01/04(月) 20:42:57.76
実行環境に.NETがないと動かない。これが最大のデメリット。
259takasi
垢版 |
2016/01/04(月) 20:44:09.57
わかったようなわからないような
C/C++は細かいところをいじれる と、いうか細かくしかいじれない感じですね
260takasi
垢版 |
2016/01/04(月) 20:46:04.98
.NET FREAMWORKSでしたっけ?あれがなきゃC#を動かせないんですか ふむふむ
WINマシンでしか動かせないんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況