ゼノンさんのブログ -2ページ目

覚え書き的な内容

こんにちわゼノンです。

私はC++の勉強をするときVC++2010Expressを活用しています。

最初はコマンドラインからコンパイルしていたんですが、

そうもめんどくさくなってry

まあ知り合いのSEが言うには別にPGになるわけでも無いから統合環境で良いんじゃね?

というので、

ついには統合環境ばっかり使うように・・・

まあ前置きはどうでもいいとして、

ご覧の皆様は
1>d:\class\file1\file1.cpp(43): warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files\microsoft visual studio 10.0\vc\include\stdio.h(371) : 'sprintf' の宣言を確認してください。
1> file1.vcxproj -> D:\class\Debug\file1.exe

のような警告文を見たことがありませんか?


gets()などでもよく見かけますね


既にご存知の方が多いと思いますが、


この警告はマイクロソフトが定義したセキュリティ強化版の関数があるので


この強化版の関数を使うことを推奨しているがために発生してしまうそうです


ではそのセキュリティ強化版を使えば良いんじゃね?


と思う人も居らっしゃるでしょう。


しかし困った事に


このセキュリティ強化版・・・


オリジナルの関数とは微妙に定義が異なるそうです。


それは困りますよね。


期待した結果がでないのは嫌です。


なので、この警告を発生させず前のバージョンの関数を使います。とソースで書いてやれば万事解決というわけですね!


それにはプリプロセッサで#define _CRT_SECURE_NO_WARNINGSと命令します。


すると、


1>------ ビルド開始: プロジェクト: file1, 構成: Debug Win32 ------
1> file1.cpp
1> file1.vcxproj -> D:\class\Debug\file1.exe
========== ビルド: 1 正常終了、0 失敗、0 更新不要、0 スキップ ==========

通常通りビルドが完了します。


入門書で書かれていたのですが、紙だと参照&検索がめんどくさいので書いておきました。


要り用ならばコピペしてください!(誰得かもしれない)


ご閲覧ありがとうございました。

萌えて覚える物理学の基本

こんばんわ、ゼノンです。

今日はPHPから出版されている「萌えて覚える物理学の基本」なる本を買ってきました。

なんだかほんとに分かるのかよ

って感じがするかもしれません。

しかしマンガで分かるシリーズとは違い、

(別にあのシリーズがだめというわけではないですが)

中身は挿絵に女の子がでーんとのっかっているぐらいで結構しっかりした内容です。

原理から一般式まで、色々載ってます

古典的な物理から現代物理までの様々な物理の話が載ってます

可愛い女の子は色んな絵師さんが描いているので

自分の好みの法則がみつかるかもしれませんよ。

これから物理を勉強しよう。

復習したいなって方にオススメです!

C++で九九の表を作ってみた

こんばんわゼノンです。


今日は昨日から作っていた九九の表(コンソールアプリ)がやっとできたのでソースをうpしてみます。


完璧自己満ですが←


そんなことは気にしない!!


最初はこちらのサイト様「猫でもわかるプログラミング 」

http://www.kumei.ne.jp/c_lang/intro/no_14.htm


載せられていたC言語で作った九九の表を元にやろうとしたのですが、


中々うまくいきませんでした。


printf()には引数を与えて字数揃えなどなどやってくれますが、


coutだと事前に関数で設定してから、


出力するということを完璧に忘れていまして・・・


いくら実行しても

123456789

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


と出力されるばかりでした。


まあfor文の実行のされ方?を見なおしたら普通に実行できたましたが・・・


途中経過はとってないのでなんとも言えません・・・


まあ何はともあれ作ったソース貼ります!



//foro5.cpp

//kuku-hyou

#include <iostream>

using namespace std;

int main()
{
	int i = 1;
	int j = 1;

	cout << " |";

	//一段目を作るループ
	for (i = 1;i <= 9;i++) {	
		cout.setf(ios::right, ios::adjustfield);//右揃え
		cout.width(3);//三桁表示
		cout << i;
	}

	cout << endl;
	cout <<"-----------------------------" << endl;//点線を引く
	
	//九九の表を作るループ
	for (i = 1; i <= 9; i++) {
		cout << i << "|";//行番号と縦線を入れる
		for (j = 1; j <= 9;j++) {
			cout.setf(ios::right, ios::adjustfield);//右揃え
			cout.width(3);//三桁表示
			cout << i * j;//表の本体

			if (j == 9)//9列目で改行
				cout << endl;
			}
		}
	return 0;
}
こんな感じになりました。
結果:
 |  1  2  3  4  5  6  7  8  9
-----------------------------
1| 1 2 3 4 5 6 7 8 9
2| 2 4 6 8 10 12 14 16 18
3| 3 6 9 12 15 18 21 24 27
4| 4 8 12 16 20 24 28 32 36
5| 5 10 15 20 25 30 35 40 45
6| 6 12 18 24 30 36 42 48 54
7| 7 14 21 28 35 42 49 56 63
8| 8 16 24 32 40 48 56 64 72
9| 9 18 27 36 45 54 63 72 81
結構キレイに表示できたんじゃないかなあと思います。
自己満乙!
なんでしょうね。簡単なことでも実行されると気持ちいいですね!
2次元配列を使った九九の表というのもあるそうなので色々考えていきたいです。


自分のメモ変わりという形になるかもしれませんが、
一からC++解説って需要ありますかね?
自分の勉強にもなるのでやってみようかなあなんて。
まあもっと分かるようになってからじゃないとダメですよね。