リュカの日記

2016年11月13日(日)

現在午前0時10分。
日が替わっていた。
今日中にC言語の本を終わらせる為、今から教科書に集中しようと思う。

その前にごはんだな。
ハンバーグを蒸そうと思う。

「スーパーナチュラル」の続きを観る。
何でアメリカ映画やアメリカドラマで「ヤバイ奴」を表現する時、やたらと音楽に追わせて踊りたがる奴が出てくるんだろう。
正直糞寒い表現だ。
ルシファーとかノリノリで踊りまくってて、観てるこっちが恥ずかしくなったわ。

現在午前1時23分。
ついにC言語の本も最後の「実力テスト」を残すのみとなった。
これやるのに結構時間がかかりそうだけど、何とか今日中に終わりそうだ。

「スーパーナチュラル」シーズン11のエピソード11を観た。
これも以前観たエピソードだな。
どこまで観たのか覚えてない。
なので、次は続けてエピソード12を観る事にする。

疲れた。
ちょっと横になろう。
現在午前1時34分。

現在午前3時48分。
練習問題1が終わった。
あと3問ある・・・
朝までに終わるかな・・・?

現在午前5時01分。
練習問題の2問目終了。
あと2問・・・
とりあえず一服。

現在午前5時51分。
練習問題の3問目終了。
ラスト1問!!!
とりあえず一服。

現在午前8時04分。
最後の最後の問題で詰まった;;;
今まで全部エラーを出さないように克服してきたのに、一番最後のソースだけどうあがいてもエラーになってしまう・・・
最悪だ。
これさえクリア出来れば無事この教科書を終えれるのにな・・・

現在午前8時34分。
一向に解決しない。
挿丸さんが起きてくるのを待って、ソースを見せて解いてもらうしかないかな。

----------
/*
* read_file関数
* 戻り値 :正常時 0 :エラー時 ERR_VALUE
* 引数 :struct person man[] 読み込んだデータ
* int n 要素数
*/
int read_file(struct person man[], int n)
{
/* 変数の宣言 */
FILE *fp; //ファイルポインタ
int i; //カウンタ

/* ファイルを開く */
fp; fopen_s(&fp, INFILE, "r");
if (fp == NULL) {
printf("入力ファイルを開くことができませんでした\n");
return ERR_VALUE;
}

/* データを読み込む */
i = 0;

while (fscanf_s(fp, "%s%d%s",
man[i].name, &man[i].y, man[i].a) != EOF); {
i = i + 1;
}

/* ファイルを閉じる */
fclose(fp);
return 0;
}
----------
この関数でファイルを読み込むのだが、そうすると以下のようなエラーが出る。
『warning C4477: 'fscanf_s' : 書式文字列 '%s' には、型 'unsigned int' の引数が必要ですが、可変個引数 2 は型 'float *' です』
ここら辺がもう訳わかめ状態でお手上げですわ・・・

ちょっと休憩。
現在午前9時15分。
朝マックに行ってくる。

食パンを切らしている事を思い出したので、マクドは辞めてスーパーに行った。
そこで食パンやごはんを買ってきた。

どうしようもないので、最初っからコード全部書き直してみるか。
260行もあるけど・・・
現在午前10時05分。

現在午前10時54分。
また最初からソースを書き直したのだが、やっぱり同じエラーが出る・・・
お手上げ。
てか、眠くなってきたな。

コマンドプロンプトから「.c」ファイルをコンパイル、リンクして「.exe」ファイルを直接実行してもエラーが出る。
まさか、こんな最後の最後で詰みになるとはな・・・
これまでずっと順調だったのに。

洗面所に行って鏡を見たら、両目の下に隈が出来てた。
今日未明からずっと机にかじりついてたからな。
現在午前11時15分。
眠い・・・

ポリープがあった箇所が、白い皮に覆われている。
水ぶくれが破れた痕みたいな感じで。
昨日のあれは何だったんだろう。
死も覚悟したのだが。

横になろう。
さすがに今日中にハンバーグを食べ切ってしまわないとまずいので、まだ寝ないけど。
現在午前11時29分。

15年前、2001年に刊行された教科書なので、さすがにソースコードをダウンロード出来るというサポートページもリンク切れになっている・・・

むしろ、仕様等も色々替わっているだろうに、よくぞ15年前の教科書で最後の一歩手前までたどり着けた、と自分自身をほめてやるべきだろうか。
どうしても最後の例題だけは解決出来ないのだが・・・

「C言語 "C4477" "fscanf_s"」でググったけれど、回答らしい回答は見つからなかった。
とりあえず課題って事で置いておいて、明日からは図書館で借りてきたC#の勉強してくかな。
そのうち、C++の本を借りて読んでいる時にでも、今回の課題の答えが見つかるかもしれない。
元々C++用の環境でC言語に挑んでいたので。

でも、明日は精神科の医者と歯医者に行かないといけないので、あんまり勉強出来ないかもな。
俺のプログラム熱もいつまで続くか分からないけど。
一つ一つ自力でクリアしていくのが、今は楽しい。

色々ググったけど、やっぱり解決方法が分からない。
今まではググって全部解決したのに、最後の問題だけ無理っぽい。
とりあえずハンバーグを蒸そう。
それを食べたら、今日は眠ろうと思う。
さすがに疲れた。
明日からはC#をやる。

今月英語教材の「Forest」シリーズ買いそろえようと思っていたけど、今はプログラムにはまっているので、そっちはちょっと保留にする。
そういえば、去年の今頃は中国語勉強しようとしてたっけな。
あれ、全然続かなかったよな・・・

現在午後13時59分。
一昨日作った、消費期限3日前のひき肉のハンバーグを食べ切った。
そういう先入観があるからか、少し生臭く感じてしまった。
今日はそろそろ寝る前の薬を飲もうと思う。

そうだ、この前警察が訪ねてきた時、一日分重複して薬を飲んでしまったので、明日精神科の医者に行った時にまた予備に1日分多めに薬を出してもらうのを忘れないようにしよう。

現在午後15時00分。
まだ眠気が来ないので、PCを立ち上げた。
さっき弟の奥さんがLINEの「みてね」に新しい画像をアップロードしていて、弟と一緒に写っている甥っ子の写真を見てて、何だか心が癒された。
俺も伯父として●っ君に情が移ってきたのかもしれない。
俺にとっても可愛い甥っ子なんだし、弟夫婦からしたら目に入れても痛くないような存在なんだろうな、と思う。

現在午後15時32分。
コーヒーが入った。
そろそろ眠れるだろうか。

挿丸さんがまた10進数を2進数に変換する方法を教えてくれた。
まず11個の〇を用意する。
「〇〇〇〇〇〇〇〇〇〇〇」
これを2つずつ囲っていくと、
「〇〇」「〇〇」「○○」「○○」「○○」〇
となる。
5つの塊と1つの〇が余る事になる。
この余った1つの〇を、右端に立てて、その上でその〇を除外する。
まず右端に「1」という数字が立った。
次、
「〇〇」「〇〇」「○○」「○○」「○○」と、2つずつ固まった〇が10個になる。
この塊を2つずつに分断すると、
『「〇〇」「〇〇」』『「○○」「○○」』「○○」
と、2つの塊と1つの余りが出来る。
この1つの塊を1として、2桁目に1を立て、その余った塊を除外する。
現在数字は「11」となる。
次。
『「〇〇」「〇〇」』『「○○」「○○」』
これをさらに2つずつの塊に分けていく。
【『「〇〇」「〇〇」』『「○○」「○○」』】
すると、1つの塊が出来て、あまりが0だ。
あまりが0なので、3つ目の数字に0を立てる。
現在の数字は「011」だ。
最後。
【『「〇〇」「〇〇」』『「○○」「○○」』】を2つずつの塊に分ける。
しかし、これ以上2つでまとめる事が出来ないので、割り算の商は0となる。
そして、2つに分けきれなかった余りは1つだ。
この1を4つ目の数字に立てる。
すると、現在の数字は「1011」となる。
この「1011」が2進数で「11」を表す数字となるそうだ。
だから、プログラミングの本で、数字を2ずつ割って行って、その余りを次々右端から代入していったんだな。
今回の挿丸さんの講義はまじでめっちゃ分かりやすかった。
目からうろこだ。

今回C言語の本で詰まったところを挿丸さんに尋ねたのだが、挿丸さん的にはC言語は終わった言語で、専門じゃないらしく、よく分からないとの事だった。
「最後の最後出来なかったのは気持ち悪いけど、図書館からC#の本借りてきたならそっちやった方がいいよ。絶対その方が楽しいから」との事だった。
そうしよう。
明日からC#の勉強を開始する。
C言語の本はとりあえず保留。
でも、10数年前にやった時はこんなに最後の最後まで教科書を進んで行く事が出来なかったので、ある程度進歩は出来たのかな、と思う。
現在午後17時01分。
そろそろ意識がまどろんできた。
一服してから布団に入ろうと思う。


 < 過去  INDEX  未来 >


リュカ

My追加