開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- C++ (プログラミング言語)
- g++(コンパイラ)
C++実践プログラミング (スティーブ オウアルライン (著)、Steve Oualline (原著)、Steve Oualline(原著)、望月 康司(翻訳)、クイープ(翻訳) 、オライリー・ジャパン)のⅡ部(シンプルなプログラミング)の10章(C++ プリプロセッサ)、10.7(プログラミング実習))、実習 10-3を解いてみる。
その他参考書籍
- C++プログラミング入門 (グレゴリー サティア (著)、ダウグ ブラウン (著)、Gregory Satir (原著)、Doug Brown (原著)、望月 康司 (翻訳)、谷口 功 (翻訳)、オライリージャパン)
実習 10-3
コード(BBEdit, Emacs)
sample.cpp
#include <iostream> #define IS_DIGIT(x) ((x) >= '0' && (x) <= '9') #define IS_HEX(x) (IS_DIGIT(x) || \ (((x) >= 'A' && (x) <= 'F') || ((x) >= 'a' && (x) <= 'f'))) int main() { char digits_hexes[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F', 'g', 'h', 'i', 'j', 'k', 'l', 'G', 'H', 'I', 'J', 'K', 'L'}; int i; for (i = 0; i < 34; ++i) { std :: cout << digits_hexes[i] << ": " << IS_DIGIT(digits_hexes[i]) << ", " << IS_HEX(digits_hexes[i]) << '\n'; } return (0); }
Makefile
# # FSFのg++コンパイラ用のMakefile # CC=g++ CFLAGS=-g -Wall all: sample sample: sample.cpp $(CC) $(CFLAGS) -o sample sample.cpp clean: rm sample
入出力結果(Terminal)
$ make && ./sample g++ -g -Wall -o sample sample.cpp 0: 1, 1 1: 1, 1 2: 1, 1 3: 1, 1 4: 1, 1 5: 1, 1 6: 1, 1 7: 1, 1 8: 1, 1 9: 1, 1 a: 0, 1 b: 0, 1 c: 0, 1 d: 0, 1 e: 0, 1 f: 0, 1 A: 0, 1 B: 0, 1 C: 0, 1 D: 0, 1 E: 0, 1 F: 0, 1 g: 0, 0 h: 0, 0 i: 0, 0 j: 0, 0 k: 0, 0 l: 0, 0 G: 0, 0 H: 0, 0 I: 0, 0 J: 0, 0 K: 0, 0 L: 0, 0 $
0 コメント:
コメントを投稿