ايران ويج

نسخه‌ی کامل: دستوری برای پرش از تابع در کدویژن
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام، برای پرش از یک تابع به تابع دیگر در کدویژن باید از چه دستوری استفاده کرد؟
چون دستور goto فقط برای پرش داخل تابع هستش و نمیتونه خارج از تابع کار کنه.
مثلا من میخوام وقتی تابع چک رو با check(); فراخوانی کردم و بعدش تابع چک اجرا شد اونوقت از تابع چک به برچسب استارت در یک تابع دیگه برش کنه.
اینکار رو توسط چه دستوری میتونم انجام بدم؟؟

به طور مثال:

کد:
#include <mega8.h>
#include <delay.h>
#include <alcd.h>

void check();

void main(void)
{
   lcd_gotoxy(0,0);
   lcd_puts("config");
   delay_ms(500);
   lcd_clear();    
start:  
   lcd_gotoxy(0,0);
   lcd_puts("Hii");
   delay_ms(500);    
   check();
}

void check()
{
   lcd_gotoxy(0,0);
   lcd_puts("bye");
   delay_ms(500);
   goto start;
}
توسط هیچ دستوری!!!
کاری که میخواهید بکنید اشتباست؛


شما باید تابعتون رو به دو زیر تابع مختلف بنویسید و یا اگه نمیتونید باید توسط if اون رو پیاده سازی کنید
مثلا اینطوری:

کد php:
int F(int x){
if 
== 1{goto check}
....
CHECK:
...


که اگه تابع F رو با پارامتر ۱ فراخاوانی کنید مثلا میپره به به check و . . .

ولی اصولی ترش اینه که تابع F رو توی دو تا زیر تابع جداگانه بنویسی؛
مثلا:

کد php:
int F(){
F1();
F2();
}

void F1(){....}
void F2(){....} 

وبعد به راحتی به F2 دسترسی داری و . .

نمیدونم توی کدویژن کلاس میتونی تعریف کنی یا نه؛ ولی اصولی‌تر از همه‌ی اینا استفاده از کلاس هست