fork(3) download
  1. #include <stdio.h>
  2.  
  3. #define PLUS 1 // メソッドとして使うためにマクロを定義する
  4. #define MINUS 2 // 上に同じ。こちらは引き算のメソッドで、上のが足し算メソッド
  5.  
  6. int object (int method,int valuea,int valueb);
  7.  
  8. int main(int argc, const char * argv[])
  9. {
  10. int valuea = 0; //数値A
  11. int valueb = 0; //数値B
  12. int command = 0; //コマンド
  13. int anser = 0; //答え
  14.  
  15. printf("数値Aを入力してね\n");
  16. scanf("%d",&valuea); //数値Aに代入
  17. printf("\n数値Bを入力してね\n");
  18. scanf("%d",&valueb); //数値Bに代入
  19. printf("\n実行する計算のコマンドを入力してね\n");
  20. printf("たしざん==1 引き算==2\n");
  21. scanf("%d",&command); //変数commandに代入
  22.  
  23. if (command == 1) anser = object(PLUS, valuea,valueb);//コマンドが1ならばobject関数に足し算をするようにメソッドを送る
  24. else if (command == 2) anser = object(MINUS, valuea, valueb);//コマンドが2ならばobject関数に引き算をするようにメソッドを送る
  25. //object関数から帰ってきた計算の答えを変数anserに代入する
  26.  
  27. printf("\n答えは%dになりましたとさ。",anser); //答えが入っている変数anserを標準出力
  28.  
  29. return 0;
  30. }
  31.  
  32. int object (int method,int valuea,int valueb){
  33.  
  34. int anser = 0; //答えを格納する変数anser
  35.  
  36. switch (method) {
  37. //変数methodにより処理を変える
  38. case PLUS: //もしmethodがマクロPLUS(1)なら
  39. anser = valuea + valueb; //数値AとBを足して変数anserに代入
  40. break;
  41. case MINUS: //もしmethodがマクロMINUS(2)なら
  42. anser = valuea - valueb; //数値AからBを引いて変数anserに代入
  43. default:
  44. printf("\nえらー\n"); //えらー処理
  45. break;
  46. }
  47.  
  48. return anser; //計算の答えが格納されている変数anserを返す
  49. }
Success #stdin #stdout 0.01s 1680KB
stdin
Standard input is empty
stdout
数値Aを入力してね

数値Bを入力してね

実行する計算のコマンドを入力してね
たしざん==1 引き算==2

答えは0になりましたとさ。