Не работает switch - C (СИ) (150881)

Узнай цену своей работы

Формулировка задачи:

Switch не работает! Как быть? Всякое перепробовал но результатов НОЛЬ Это чет тип калькулятора... правда недоделованного. Помогите плииз
Листинг программы
  1. #include <windows.h>
  2. #include <graphics.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. //прототипы функций
  6. void msk(void);
  7. void init(void);
  8. void zap(void);
  9.  
  10. //глобальные переменные
  11. int tabl[1][10];
  12. int s=0,x,y,a,i;
  13. void *bitmap;
  14.  
  15. int main()
  16. {
  17. init();
  18. getch();
  19. setlinestyle(DOTTED_LINE, 3, RED);
  20. zap();
  21. rectangle(5, 38, 270, 74);
  22. rectangle(5, 192, 270, 440);
  23.  
  24. settextstyle(DEFAULT_FONT, HORIZ_DIR, 3);
  25. setfillstyle(SOLID_FILL, BLUE);
  26. bar(20, 400, 50, 430);
  27. line(28, 408, 42, 408);
  28. line(28,408, 28, 422);
  29. line(28, 422, 42, 422);
  30. line(42, 422, 42, 408);
  31. bar(80, 400, 110, 430);
  32. bar(140, 400, 195, 430);
  33. outtextxy(140, 400, "00");
  34. bar(20, 350, 50, 380);
  35. settextstyle(DEFAULT_FONT, HORIZ_DIR, 4);
  36. outtextxy(20, 350, "1");
  37. bar(80, 350, 110, 380);
  38. outtextxy(80, 352, "2");
  39. bar(140, 350, 170, 380);
  40. outtextxy(140, 352, "3");
  41. bar(20, 300, 50, 330);
  42. outtextxy(20, 300, "4");
  43. bar(80, 300, 110, 330);
  44. outtextxy(80, 300, "5");
  45. bar(140, 300, 170, 330);
  46. outtextxy(140, 300, "6");
  47. bar(20, 250, 50, 280);
  48. outtextxy(20, 250, "7");
  49. bar(80, 250, 110, 280);
  50. outtextxy(80, 250, "8");
  51. bar(140, 250, 170, 280);
  52. outtextxy(140, 250, "9");
  53. setfillstyle(SOLID_FILL, RED);
  54. bar(20, 200, 50, 230);
  55. line(24,204,46,204);
  56. line(24, 204, 24, 226);
  57. line(24,226, 46, 226);
  58. bar(80, 200, 110, 230);
  59. line(84,204, 106, 226);
  60. bar(140, 200, 170, 230);
  61. line(144, 204, 166, 226);
  62. line(166, 204, 144, 226);
  63. bar(220, 350, 250, 430);
  64. line(224, 384, 246, 384);
  65. line(224, 398, 246, 398);
  66. bar(220, 300, 250, 330);
  67. line(235, 304, 235, 326);
  68. line(224, 315, 246, 315);
  69. bar(220, 250, 250, 280);
  70. line(224, 265, 246, 265);
  71. bar(220, 200, 250, 230);
  72. line(224, 215, 245, 215);
  73. line(224,215, 235, 205);
  74. line(224,215, 235, 225);
  75. {
  76. setfillstyle(SOLID_FILL, WHITE);
  77. bar(93, 413, 97, 417);
  78. }
  79. msk();
  80.  
  81. closegraph();
  82.  
  83. return 0;
  84. }
  85.  
  86. void init(void)
  87. {
  88. initwindow(280, 455);
  89. }
  90. void msk(void)
  91. {
  92. while (mousebuttons()!=2)
  93. {
  94. while (mousebuttons()!=1);
  95. {
  96. x=mousex();
  97. y=mousey();
  98. i=0;
  99.  
  100. while(mousebuttons()==1)
  101. {
  102. if(x>20&&y>400&&x<50&&y<430)s=1;
  103. if(x>20&&y>350&&x<50&&y<380)s=2;
  104. if(x>80&&y>350&&x<110&&y<380)s=3;
  105. if(x>140&&y>350&&x<170&&y<380)s=4;
  106. if(x>20&&y>300&&x<50&&y<330)s=5;
  107. if(x>80&&y>300&&x<110&&y<330) s=6;
  108. if(x>140&&y>300&&x<170&&y<330)s=7;
  109. if(x>20&&y>250&&x<50&&y<280) s=8;
  110. if(x>80&&y>250&&x<110&&y<280) s=9;
  111. if(x>140&&y>250&&x<170&&y<280) s=10;
  112. if(x>140&&y>400&&x<195&&y<430) s=11;
  113. switch(s)
  114. {
  115. case '1' : {outtextxy(230-i, 38, "0");i+=30;delay(150);s=0; break;}
  116. case '2' : { outtextxy(230-i, 38, "1");i+=30;delay(150);s=0;break;}
  117. case '3' : { outtextxy(230-i, 38, "2");i+=30;delay(150);s=0;break;}
  118. case '4' : { outtextxy(230-i, 38, "3");i+=30;delay(150);s=0;break;}
  119. case '5' : { outtextxy(230-i, 38, "4");i+=30;delay(150);s=0;break;}
  120. case '6' : { outtextxy(230-i, 38, "5");i+=30;delay(150);s=0;break;}
  121. case '7' : { outtextxy(230-i, 38, "6");i+=30;delay(150);s=0;break;}
  122. case '8' : { outtextxy(230-i, 38, "7");i+=30;delay(150);s=0;break;}
  123. case '9' : { outtextxy(230-i, 38, "8");i+=30;delay(150);s=0;break;}
  124. case '10' : { outtextxy(230-i, 38, "9");i+=30;delay(150);s=0;break;}
  125. case '11' : { outtextxy(230-i, 38, "00");i+=30;delay(150);s=0;break;}
  126. }
  127. }
  128. }
  129. }
  130. }
  131.  
  132. void zap()
  133. {
  134. setfillstyle(SOLID_FILL, BLACK);
  135. bar(6, 39, 269, 73);
  136. }

Решение задачи: «Не работает switch»

textual
Листинг программы
  1.       switch(s)
  2.     {
  3.          case 1 :

Объяснение кода листинга программы

  1. В данном коде реализуется конструкция switch-case, которая используется для выбора одного из нескольких блоков кода для выполнения в зависимости от значения переменной s.
  2. Переменная s содержит значение, которое определяет, какой из блоков кода будет выполнен.
  3. В данном случае, если значение переменной s равно 1, то будет выполнен соответствующий блок кода.
  4. Если значение переменной s не равно 1, то будет выполнен другой блок кода, который будет определен в соответствии с числовым значением переменной s.
  5. В данном коде нет других блоков кода, которые могут быть выполнены в зависимости от значения переменной s.
  6. Поэтому, если значение переменной s не равно 1, то будет выполнен блок кода по умолчанию, который не указан в данном коде.
  7. Возможно, в данном коде предполагалось, что если значение переменной s не равно 1, то это будет являться ошибкой или некорректным значением.
  8. Но, так как блок кода по умолчанию отсутствует, то мы не можем точно сказать, что произойдет в этом случае.
  9. Для более корректной работы данного кода, необходимо добавить блок кода по умолчанию, который будет выполнен, если значение переменной s не равно 1.
  10. Также, в данном коде не указаны комментарии, которые могут помочь понять, что именно делает данный код.
  11. Поэтому, для более удобного чтения и понимания кода, рекомендуется добавить комментарии, описывающие его функциональность.
  12. В данном коде также не указаны прототипы функций, что может привести к ошибкам компиляции или выполнения кода.
  13. Поэтому, для более корректной работы кода, рекомендуется указать прототипы функций, которые используются в данном коде.
  14. Также, в данном коде не указаны директивы препроцессора, такие как #include или #define, которые могут использоваться для упрощения и оптимизации кода.
  15. Поэтому, для более удобного чтения и понимания кода, рекомендуется добавить необходимые директивы препроцессора.
  16. В данном коде также не указаны операторы для обработки ошибок или исключений, что может привести к непредсказуемому поведению кода при возникновении ошибок.
  17. Поэтому, для более надежной работы кода, рекомендуется добавить операторы для обработки ошибок или исключений.
  18. Также, в данном коде не указаны комментарии, которые могут помочь понять, почему был выбран именно такой алгоритм или решение.
  19. Поэтому, для более прозрачного и понятного кода, рекомендуется добавить комментарии, объясняющие причины выбора алгоритма или решения.
  20. В целом, данный код требует доработки и улучшения, чтобы стать более понятным, надежным и эффективным.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут