Switch не работает - C (СИ)
Формулировка задачи:
#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 x,y,a,i,s;
char open;
void *bitmap;
int main()
{
init();
bitmap=loadBMP("DJ187.bmp");
putimage(0,0,bitmap, COPY_PUT);
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;
sprintf(open, "%s", s);
while(x<9999999)
{while(mousebuttons()==1)
{
switch(s)
{
case '1' : if(x>20&&y>400&&x<50&&y<430) {outtextxy(230-i, 38, "0");i+=30;delay(150); break;}
case '2' : if(x>20&&y>350&&x<50&&y<380) { outtextxy(230-i, 38, "1");i+=30;delay(150);break;}
case '3' : if(x>80&&y>350&&x<110&&y<380) { outtextxy(230-i, 38, "2");i+=30;delay(150);break;}
case '4' : if(x>140&&y>350&&x<170&&y<380) { outtextxy(230-i, 38, "3");i+=30;delay(150);break;}
case '5' : if(x>20&&y>300&&x<50&&y<330) { outtextxy(230-i, 38, "4");i+=30;delay(150);break;}
case '6' : if(x>80&&y>300&&x<110&&y<330) { outtextxy(230-i, 38, "5");i+=30;delay(150);break;}
case '7' : if(x>140&&y>300&&x<170&&y<330) { outtextxy(230-i, 38, "6");i+=30;delay(150);break;}
case '8' : if(x>20&&y>250&&x<50&&y<280) { outtextxy(230-i, 38, "7");i+=30;delay(150);break;}
case '9' : if(x>80&&y>250&&x<110&&y<280) { outtextxy(230-i, 38, "8");i+=30;delay(150);break;}
case '10' : if(x>140&&y>250&&x<170&&y<280) { outtextxy(230-i, 38, "9");i+=30;delay(150);break;}
case '11' : if(x>140&&y>400&&x<195&&y<430) { outtextxy(230-i, 38, "00");i+=30;delay(150);break;}
}
}
}
}
}
}
void zap()
{
setfillstyle(SOLID_FILL, BLACK);
bar(6, 39, 269, 73);
}
Вот эту штуку нужно ещё закоментировать) Это картинка ибо программа будет выдавать ошибку!
Писал в среде разработке borland C++ 5.5
bitmap=loadBMP("DJ187.bmp"); putimage(0,0,bitmap, COPY_PUT)
Решение задачи: «Switch не работает»
textual
Листинг программы
int /* ... */ s; /* ... */ sprintf(open, "%s", s); /* ... */ switch(s) /* ... */