fork(1) download
  1. #include <stdio.h>
  2. #define ADULT 18
  3. #define OLD 60
  4.  
  5. int* vvod()
  6. {
  7. int dy[3];
  8. printf("Введите количество десятков лет, количество лет \n");
  9. scanf("%d", &dy[0]);
  10. dy[1]=dy[0]/10;
  11. dy[2]=dy[0]%10;
  12. int *a = dy;
  13. return a;
  14. }
  15. int* raschet (int *a)
  16. {
  17. /* ysa-0, yso-1, decsa-2, decso-3, yearsa-4, yearso-5 */
  18. int since[5];
  19. if(a[0]>=ADULT)
  20. {
  21. since[0]=a[0]-ADULT;
  22. since[4]=since[0]%10;
  23. since[2]=since[0]/10;
  24. }
  25. if(a[0]>=OLD)
  26. {
  27. since[1]=a[0]-OLD;
  28. since[5]=since[1]%10;
  29. since[3]=since[1]/10;
  30. }
  31. int *b = since;
  32. return b;
  33. }
  34.  
  35. int vivod (int *a, int *b)
  36. {
  37.  
  38. switch(a[1])
  39. {
  40. case 1:
  41. printf("Ваш возраст %d лет \n", a[0]);
  42. break;
  43. default:
  44. if(a[2]==0)
  45. printf("Ваш возраст %d лет \n", a[0]);
  46. else if(a[2]==1)
  47. printf("Ваш возраст %d год \n", a[0]);
  48. else if((1<a[2]) && (a[2]<5))
  49. printf("Ваш возраст %d года \n", a[0]);
  50. else
  51. printf("Ваш возраст %d лет \n", a[0]);
  52. }
  53. if(a[0]==ADULT)
  54. printf("Вы совершеннолетний \n");
  55. else if (a[0]==OLD)
  56. printf("Вы совершеннолетний 42 года \n, вы на пенсии");
  57. else if((ADULT<a[0]) && (a[0]<OLD))
  58. {
  59. switch(b[2])
  60. {
  61. case 1:
  62. printf("Вы совершеннолетний %d лет \n", b[0]);
  63. break;
  64. default:
  65. if(b[4]==0)
  66. printf("Вы совершеннолетний %d лет \n", b[0]);
  67. else if(b[4]==1)
  68. printf("Вы совершеннолетний %d год \n", b[0]);
  69. else if((1<b[4]) && (b[4]<5))
  70. printf("Вы совершеннолетний %d года \n", b[0]);
  71. else
  72. printf("Вы совершеннолетний %d лет \n", b[0]);
  73. }
  74. }
  75. else if(a[0]>OLD)
  76. {
  77. switch(b[3])
  78. {
  79. case 1:
  80. printf("Вы совершеннолетний %d лет, Вы на пенсии %d лет \n", b[0], b[1]);
  81. break;
  82. default:
  83. if(b[5]==0)
  84. printf("Вы совершеннолетний %d лет, Вы на пенсии %d лет \n", b[0], b[1]);
  85. else if(b[5]==1)
  86. printf("Вы совершеннолетний %d год, Вы на пенсии %d год \n", b[0], b[1]);
  87. else if((1<b[5]) && (b[5]<5))
  88. printf("Вы совершеннолетний %d года, Вы на пенсии %d года \n", b[0], b[1]);
  89. else
  90. printf("Вы совершеннолетний %d лет, Вы на пенсии %d лет \n", b[0], b[1]);
  91. }
  92. }
  93. }
  94. main()
  95. {
  96. int *a = vvod();
  97. int *b = raschet (a);
  98. vivod (a,b);
  99. }
Success #stdin #stdout 0s 2172KB
stdin
52
stdout
Введите количество десятков лет, количество лет 
Ваш возраст 52 лет 
Вы совершеннолетний 134514610 лет