fork(5) download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void te(int i);
  5.  
  6.  
  7. int main() {
  8. int win, lose, draw;
  9. win = lose = draw = 0;
  10. int jibun, aite;
  11.  
  12. srand(0);
  13.  
  14. while(1) {
  15. aite = rand() % 3;
  16. printf("\nじゃんけん... 1:グー 2:チョキ 3:パー\n");
  17. do {
  18. scanf("%d", &jibun);
  19. } while(jibun < 1 || 3 < jibun);
  20.  
  21. printf("ポイ!\n");
  22. printf("自分 : ");
  23. te(jibun - 1);
  24. printf("\n相手 : ");
  25. te(aite);
  26.  
  27. switch((3 + jibun - aite) % 3) {
  28. case 0:
  29. printf("\n勝ち!\n");
  30. break;
  31. case 1:
  32. printf("\n引き分け!\n");
  33. break;
  34. case 2:
  35. printf("\n負け!\n");
  36. break;
  37. }
  38. printf("続ける? 1:うん ow:いいや\n");
  39. scanf("%d", &jibun);
  40. if(jibun != 1) break;
  41. }
  42. return 0;
  43. }
  44.  
  45. void te(int i) {
  46. switch(i) {
  47. case 0:
  48. printf("グー");
  49. break;
  50. case 1:
  51. printf("チョキ");
  52. break;
  53. case 2:
  54. printf("パー");
  55. break;
  56. }
  57. }
stdin
1
1
2
1
3
1
4
1
1
2
0
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:18: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
prog.cpp:39: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
stdout
じゃんけん... 1:グー 2:チョキ 3:パー
ポイ!
自分 : グー
相手 : チョキ
勝ち!
続ける? 1:うん ow:いいや

じゃんけん... 1:グー 2:チョキ 3:パー
ポイ!
自分 : チョキ
相手 : チョキ
引き分け!
続ける? 1:うん ow:いいや

じゃんけん... 1:グー 2:チョキ 3:パー
ポイ!
自分 : パー
相手 : グー
勝ち!
続ける? 1:うん ow:いいや

じゃんけん... 1:グー 2:チョキ 3:パー
ポイ!
自分 : グー
相手 : チョキ
勝ち!
続ける? 1:うん ow:いいや

じゃんけん... 1:グー 2:チョキ 3:パー
ポイ!
自分 : チョキ
相手 : パー
勝ち!
続ける? 1:うん ow:いいや