[B]C++のコンソール入力 独習C++練習問題1.3


まあこの辺は、既知の範囲内


/*----------------------------------------------->
独習C++
練習問題1.3
------------------------------------------------->*/

#include<iostream>
using namespace std;

void problem1(){
/*------------------------------------------------------------------------------------>
従業員の労働時間と時給を入力し、
その従業員の合計賃金を表示するプログラムを作りなさい。
(入力プロンプトを表示すること)
--------------------------------------------->*/

double time;
double rate;

cout <<"\n労働時間(h) 時給(\\/h)を入力:\n";
cin >> time >> rate;
cout << "労働時間\t" << time << "(h)\t時給\t\\" << rate <<"(\\/h)";
cout << "\n合計賃金:\t\\" << time * rate;

}

void problem2(){
/*------------------------------------------------------------------------------------>
フィートをインチに変換するプログラムを作成しなさい。
ユーザにフィート数の入力を求め、
それに対応するインチ数を表示します。

ユーザがフィート数として0を入力するまで、
この処理を繰り返します。
--------------------------------------------->*/

int rateInchPerFeet = 12;
int feet;

cout << "\n フィート数を入力。0で終了:\n";
do{
cin >> feet;

if(feet){
cout << "\n feet:\t" << feet << "\t Inch\t" << feet * rateInchPerFeet << "\n";
}
}while( feet != 0 );
}

int main(){

int numProb;

do{
cout << "実行する問題を選択してください。0で終了:\n";
cout << "\t1:合計賃金を表示するプログラム\n";
cout << "\t2:フィートをインチに変換するプログラム\n";

cin >> numProb;

switch( numProb ){
case 1:
problem1();
break;
case 2:
problem2();
break;
}
}while( numProb != 0 );

getchar();

return 0;
}


/*-------------------------------------------------->
独習C++
練習問題1.3.3

本文中のCプログラムをC++に書き直しなさい
---------------------------------------------------->*/

/*---------------------------------------------->
//------------------------------------------>
//このCプログラムをC++スタイルに書き直す。
//このプログラムは、最大公約数を計算する
//-------------------------------------------->

#include < stdio.h >

int gcd( int a , int b ){
if(!b) return a;
return gcd( b , a % b );
}

int main( void ){
int a , b , c;

prinf( "2つの整数を入力:");
scanf( "%d%d",&a,&b );
c = gcd( a , b );
printf("最大公約数は %d\n",c);
return 0;
}
------------------------------------------------>*/

#include< iostream >
using namespace std;

int gcd( int a , int b ){

if(!b) return a;
return gcd( b , a % b );
}

int main(){

int a , b , c;

do{
cout << "2つの整数を入力:両方ともゼロを入力して終了\n";
cin >> a >> b;
c = gcd( a , b );
cout << "\n最大公約数は " << c << "\n";
}while( a != 0 || b != 0 );

return 0;
}