Не работает switch - C (СИ) (150881)
Формулировка задачи:
Switch не работает! Как быть? Всякое перепробовал но результатов НОЛЬ
Это чет тип калькулятора... правда недоделованного.
Помогите плииз
#include <windows.h> #include <graphics.h> #include <stdio.h> #include <stdlib.h> //прототипы функций void msk(void); void init(void); void zap(void); //глобальные переменные int tabl[1][10]; int s=0,x,y,a,i; void *bitmap; int main() { init(); getch(); setlinestyle(DOTTED_LINE, 3, RED); zap(); rectangle(5, 38, 270, 74); rectangle(5, 192, 270, 440); settextstyle(DEFAULT_FONT, HORIZ_DIR, 3); setfillstyle(SOLID_FILL, BLUE); bar(20, 400, 50, 430); line(28, 408, 42, 408); line(28,408, 28, 422); line(28, 422, 42, 422); line(42, 422, 42, 408); bar(80, 400, 110, 430); bar(140, 400, 195, 430); outtextxy(140, 400, "00"); bar(20, 350, 50, 380); settextstyle(DEFAULT_FONT, HORIZ_DIR, 4); outtextxy(20, 350, "1"); bar(80, 350, 110, 380); outtextxy(80, 352, "2"); bar(140, 350, 170, 380); outtextxy(140, 352, "3"); bar(20, 300, 50, 330); outtextxy(20, 300, "4"); bar(80, 300, 110, 330); outtextxy(80, 300, "5"); bar(140, 300, 170, 330); outtextxy(140, 300, "6"); bar(20, 250, 50, 280); outtextxy(20, 250, "7"); bar(80, 250, 110, 280); outtextxy(80, 250, "8"); bar(140, 250, 170, 280); outtextxy(140, 250, "9"); setfillstyle(SOLID_FILL, RED); bar(20, 200, 50, 230); line(24,204,46,204); line(24, 204, 24, 226); line(24,226, 46, 226); bar(80, 200, 110, 230); line(84,204, 106, 226); bar(140, 200, 170, 230); line(144, 204, 166, 226); line(166, 204, 144, 226); bar(220, 350, 250, 430); line(224, 384, 246, 384); line(224, 398, 246, 398); bar(220, 300, 250, 330); line(235, 304, 235, 326); line(224, 315, 246, 315); bar(220, 250, 250, 280); line(224, 265, 246, 265); bar(220, 200, 250, 230); line(224, 215, 245, 215); line(224,215, 235, 205); line(224,215, 235, 225); { setfillstyle(SOLID_FILL, WHITE); bar(93, 413, 97, 417); } msk(); closegraph(); return 0; } void init(void) { initwindow(280, 455); } void msk(void) { while (mousebuttons()!=2) { while (mousebuttons()!=1); { x=mousex(); y=mousey(); i=0; while(mousebuttons()==1) { if(x>20&&y>400&&x<50&&y<430)s=1; if(x>20&&y>350&&x<50&&y<380)s=2; if(x>80&&y>350&&x<110&&y<380)s=3; if(x>140&&y>350&&x<170&&y<380)s=4; if(x>20&&y>300&&x<50&&y<330)s=5; if(x>80&&y>300&&x<110&&y<330) s=6; if(x>140&&y>300&&x<170&&y<330)s=7; if(x>20&&y>250&&x<50&&y<280) s=8; if(x>80&&y>250&&x<110&&y<280) s=9; if(x>140&&y>250&&x<170&&y<280) s=10; if(x>140&&y>400&&x<195&&y<430) s=11; switch(s) { case '1' : {outtextxy(230-i, 38, "0");i+=30;delay(150);s=0; break;} case '2' : { outtextxy(230-i, 38, "1");i+=30;delay(150);s=0;break;} case '3' : { outtextxy(230-i, 38, "2");i+=30;delay(150);s=0;break;} case '4' : { outtextxy(230-i, 38, "3");i+=30;delay(150);s=0;break;} case '5' : { outtextxy(230-i, 38, "4");i+=30;delay(150);s=0;break;} case '6' : { outtextxy(230-i, 38, "5");i+=30;delay(150);s=0;break;} case '7' : { outtextxy(230-i, 38, "6");i+=30;delay(150);s=0;break;} case '8' : { outtextxy(230-i, 38, "7");i+=30;delay(150);s=0;break;} case '9' : { outtextxy(230-i, 38, "8");i+=30;delay(150);s=0;break;} case '10' : { outtextxy(230-i, 38, "9");i+=30;delay(150);s=0;break;} case '11' : { outtextxy(230-i, 38, "00");i+=30;delay(150);s=0;break;} } } } } } void zap() { setfillstyle(SOLID_FILL, BLACK); bar(6, 39, 269, 73); }
Решение задачи: «Не работает switch»
textual
Листинг программы
switch(s) { case 1 :
Объяснение кода листинга программы
- В данном коде реализуется конструкция switch-case, которая используется для выбора одного из нескольких блоков кода для выполнения в зависимости от значения переменной s.
- Переменная s содержит значение, которое определяет, какой из блоков кода будет выполнен.
- В данном случае, если значение переменной s равно 1, то будет выполнен соответствующий блок кода.
- Если значение переменной s не равно 1, то будет выполнен другой блок кода, который будет определен в соответствии с числовым значением переменной s.
- В данном коде нет других блоков кода, которые могут быть выполнены в зависимости от значения переменной s.
- Поэтому, если значение переменной s не равно 1, то будет выполнен блок кода по умолчанию, который не указан в данном коде.
- Возможно, в данном коде предполагалось, что если значение переменной s не равно 1, то это будет являться ошибкой или некорректным значением.
- Но, так как блок кода по умолчанию отсутствует, то мы не можем точно сказать, что произойдет в этом случае.
- Для более корректной работы данного кода, необходимо добавить блок кода по умолчанию, который будет выполнен, если значение переменной s не равно 1.
- Также, в данном коде не указаны комментарии, которые могут помочь понять, что именно делает данный код.
- Поэтому, для более удобного чтения и понимания кода, рекомендуется добавить комментарии, описывающие его функциональность.
- В данном коде также не указаны прототипы функций, что может привести к ошибкам компиляции или выполнения кода.
- Поэтому, для более корректной работы кода, рекомендуется указать прототипы функций, которые используются в данном коде.
- Также, в данном коде не указаны директивы препроцессора, такие как #include или #define, которые могут использоваться для упрощения и оптимизации кода.
- Поэтому, для более удобного чтения и понимания кода, рекомендуется добавить необходимые директивы препроцессора.
- В данном коде также не указаны операторы для обработки ошибок или исключений, что может привести к непредсказуемому поведению кода при возникновении ошибок.
- Поэтому, для более надежной работы кода, рекомендуется добавить операторы для обработки ошибок или исключений.
- Также, в данном коде не указаны комментарии, которые могут помочь понять, почему был выбран именно такой алгоритм или решение.
- Поэтому, для более прозрачного и понятного кода, рекомендуется добавить комментарии, объясняющие причины выбора алгоритма или решения.
- В целом, данный код требует доработки и улучшения, чтобы стать более понятным, надежным и эффективным.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д