開発環境
- OS X Mavericks - Apple(OS)
- Emacs (CUI)、BBEdit - Bare Bones Software, Inc. (GUI) (Text Editor)
- C++ (プログラミング言語)
- g++(コンパイラ)
C++実践プログラミング (スティーブ オウアルライン (著)、Steve Oualline (原著)、Steve Oualline(原著)、望月 康司(翻訳)、クイープ(翻訳) 、オライリー・ジャパン)のⅡ部(シンプルなプログラミング)の8章(ほかの制御文)、8.4(プログラミング実習)、実習 8-5.を解いてみる。
その他参考書籍
- C++プログラミング入門 (グレゴリー サティア (著)、ダウグ ブラウン (著)、Gregory Satir (原著)、Doug Brown (原著)、望月 康司 (翻訳)、谷口 功 (翻訳)、オライリージャパン)
実習 8-5.
コード(BBEdit, Emacs)
sample.cpp
#include <iostream> int n; int a, b, c; int main() { std::cout << "数字(0から100まで)を入力: "; std::cin >> n; if (n > 100 || n < 0) { std::cout << "1から100までの数字を入力して下さい。\n"; } else { a = n / 100; n %= 100; b = n / 10; n %= 10; c = n; if (a == 1) { std::cout << "one hundred "; } if (b == 1) { switch (c) { case 0: std::cout << "ten"; break; case 1: std::cout << "eleven"; break; case 2: std::cout << "twelve"; break; case 3: std::cout << "thirteen"; break; case 4: std::cout << "fourteen"; break; case 5: std::cout << "fifteen"; break; case 6: std::cout << "sixteen"; break; case 7: std::cout << "seventeen"; break; case 8: std::cout << "eighteen"; break; case 9: std::cout << "nineteen"; break; default: break; } } else { switch (b) { case 2: std::cout << "twenty"; break; case 3: std::cout << "thirty"; break; case 4: std::cout << "forty"; break; case 5: std::cout << "fifty"; break; case 6: std::cout << "sixty"; break; case 7: std::cout << "seventy"; break; case 8: std::cout << "eighty"; break; case 9: std::cout << "ninety"; break; default: break; } if (b != 0 && c != 0) { std::cout << '-'; } switch (c) { case 1: std::cout << "one"; case 2: std::cout << "two"; break; case 3: std::cout << "three"; break; case 4: std::cout << "four"; break; case 5: std::cout << "five"; break; case 6: std::cout << "six"; break; case 7: std::cout << "seven"; break; case 8: std::cout << "eight"; break; case 9: std::cout << "nine"; break; default: break; } } std::cout << '\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から100まで)を入力: 85 eighty-five $ ./sample 数字(0から100まで)を入力: 100 one hundred $ ./sample 数字(0から100まで)を入力: 15 fifteen $
0 コメント:
コメントを投稿