落書きノート

ふと自分が気になった事を書いてます

C++で問題を解く

久しぶりにクラスとか関数とかで分けたような気がします。今迄ダラダラと書く傾向にあったので。。。

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int random(int a, int b){
  if(b < a)
    return a;
  else
    return rand() % (b - a) + a;
}

int main(void){
  int a,b;
  srand(time(NULL));

  cout << "下限値を入力してください。" << endl;
  cin >> a;
  cout << "上限値を入力してください。" << endl;
  cin >> b;

  cout << "生成した乱数は" << random(a,b) << "です。" << endl;

  return 0;
}



#include <iostream>

using namespace std;

int read_pint(){
  int a;
  bool flag = true;

  do{
    cout << "正の整数値を入力してください。" << endl;
    cin >> a;
    if(a <= 0){
      cout << "正の整数値ではありません。" << endl;
    }else{
      flag = false;
    }
  }while(flag);

  return a;
}

int div(int m){
  return m / 10;
}

int mod(int m){
  return m % 10;
}

bool confirm_retry(){
  int retry;

  do{
    cout << "もう一度?<Yes...1/No...0> : ";
    cin >> retry;
  }while(retry != 0 && retry != 1);

  return static_cast<bool>(retry);
}

int main(void){
  do{
    int n = read_pint();
    cout << "逆から読むと";
    while(n > 0){
      cout << mod(n);
      n = div(n);
    }
    cout << "です。" << endl;
  }while(confirm_retry());

  return 0;
}