開発環境
- 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 コメント:
コメントを投稿