Ali007
سه شنبه 31 اردیبهشت 1387, 10:10 صبح
با سلام خدمت اساتید :لبخندساده:
من تو نوشتن یه برنامه گرافیکی با c به یه مشکل برخوردم :اشتباه: ، برنامه به این صورت هست که یک منو اصلی داره که شامل 4 قسمته این منو ، که با زدن کلید های 1و2و3و4 برنامه با دستور Goto به بخش های مربوط به هر کلید رفته و پس از اتمام کار با زدن کلید m باز به منو برمیگرده که کد خلاصه شده بهمراه شماره هر سطر رو میبینید :
34 void main(void)
35 {
36 initgraph(&gd,&gm,"c:\\TC\\BGI");
38 menu:
39 cleardevice();
// Codehaye menu
....
// Codehaye menu
58 ch=0;
59 while(ch!=27)
60 {
61 switch(ch)
62 {
63 case('1'):{
// Code
....
// Code
73 goto part1;
74 }
75 case('2'):{
// Code
....
// Code
81 goto part2;
82 }
83 case('3'):{
// Code
....
// Code
89 goto part3;
90 }
91 case('4'):{
// Code
....
// Code
97 goto end;
98 }
99 }
100 ch=getch();
101 }
102 getch();
103 goto menu;
104 part1:
105 cleardevice();
// Code haye part1
....
// Code haye part1
134 ch=getch();
135 if(ch=='m')
136 goto menu;
137 else
138 goto part1;
139 part2:
140 cleardevice();
// Code haye part2
....
// Code haye part2
154 ch=getch();
155 if(ch=='m')
156 goto menu;
157 else
158 goto part2;
159 part3:
160 cleardevice();
// Code haye part3
....
// Code haye part3
346 ch=getch();
347 if(ch=='m')
348 goto menu;
349 else
350 goto part3;
352 end:
353 closegraph();
354 }
البته هنوز برنامه کامل نشده بود که موقع کامپایل با این Error مواجه شدم :
Error : name.cpp 97: Goto bypasses initialization of a local variable
البته فعلا برای Goto خط 97 مربوط به 4 Case این Error مشاهده شده ، که این منو بدون کد های هر Part بخوبی کامپایل و کار میکنه ( ساختار درسته ) اما با گذاشتن کد های هر Part این Error برای دستور Goto مربوط به Case بعدی مشاهده میشه ( امکانش هست بدلیل طولانی بودن کد های هر Part باشه ؟ ) :متفکر:
دوستان اگه راه حلی برای رفع این مشکل یا پیشنهادی که عملا بشه کار Goto رو شبیه سازی کرد واسه این برنامه بدن ، یه دنیا ممنون میشم ( کارم گیرشه ) :ناراحت:
من تو نوشتن یه برنامه گرافیکی با c به یه مشکل برخوردم :اشتباه: ، برنامه به این صورت هست که یک منو اصلی داره که شامل 4 قسمته این منو ، که با زدن کلید های 1و2و3و4 برنامه با دستور Goto به بخش های مربوط به هر کلید رفته و پس از اتمام کار با زدن کلید m باز به منو برمیگرده که کد خلاصه شده بهمراه شماره هر سطر رو میبینید :
34 void main(void)
35 {
36 initgraph(&gd,&gm,"c:\\TC\\BGI");
38 menu:
39 cleardevice();
// Codehaye menu
....
// Codehaye menu
58 ch=0;
59 while(ch!=27)
60 {
61 switch(ch)
62 {
63 case('1'):{
// Code
....
// Code
73 goto part1;
74 }
75 case('2'):{
// Code
....
// Code
81 goto part2;
82 }
83 case('3'):{
// Code
....
// Code
89 goto part3;
90 }
91 case('4'):{
// Code
....
// Code
97 goto end;
98 }
99 }
100 ch=getch();
101 }
102 getch();
103 goto menu;
104 part1:
105 cleardevice();
// Code haye part1
....
// Code haye part1
134 ch=getch();
135 if(ch=='m')
136 goto menu;
137 else
138 goto part1;
139 part2:
140 cleardevice();
// Code haye part2
....
// Code haye part2
154 ch=getch();
155 if(ch=='m')
156 goto menu;
157 else
158 goto part2;
159 part3:
160 cleardevice();
// Code haye part3
....
// Code haye part3
346 ch=getch();
347 if(ch=='m')
348 goto menu;
349 else
350 goto part3;
352 end:
353 closegraph();
354 }
البته هنوز برنامه کامل نشده بود که موقع کامپایل با این Error مواجه شدم :
Error : name.cpp 97: Goto bypasses initialization of a local variable
البته فعلا برای Goto خط 97 مربوط به 4 Case این Error مشاهده شده ، که این منو بدون کد های هر Part بخوبی کامپایل و کار میکنه ( ساختار درسته ) اما با گذاشتن کد های هر Part این Error برای دستور Goto مربوط به Case بعدی مشاهده میشه ( امکانش هست بدلیل طولانی بودن کد های هر Part باشه ؟ ) :متفکر:
دوستان اگه راه حلی برای رفع این مشکل یا پیشنهادی که عملا بشه کار Goto رو شبیه سازی کرد واسه این برنامه بدن ، یه دنیا ممنون میشم ( کارم گیرشه ) :ناراحت: