音影先锋亚洲天堂网|电影世界尽头的爱完整版播放|国产 熟女 91|高清无码免费观看欧美日韩|韩国一区二区三区黄色录像|美女亚洲加勒比在线|亚洲综合网 开心五月|7x成人在线入口|成人网站免费日韩毛片区|国产黄片?一级?二级?三级

登錄 免費(fèi)注冊 首頁 | 行業(yè)黑名單 | 幫助
維庫電子市場網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

關(guān)于switch...case的級聯(lián)返回問題!請各位大蝦指導(dǎo)!

作者:ccjchen 欄目:ARM技術(shù)
關(guān)于SWITCH...case的級聯(lián)返回問題!請各位大蝦指導(dǎo)!
SWITCH (keyin())
{
case 24:
         SendCMD(0x00);
         delay(100);
         put_str(0,0x80,chen[8],8);
         put_str(0,0x88,chen[9],8);
          SWITCH (keyin())
             {
          case 25:
              //在這里返回到第二級應(yīng)該怎么寫呢?
          default:
             break;
            }
              break;
case 25:
         SendCMD(0x00);
         delay(100);
         put_str(0,0x80,chen[10],8);
         put_str(0,0x88,chen[11],8);
         break;
default:
         break;
}


2樓: >>參與討論
平常人
第二級在哪里呀?用break不行嗎?
 
3樓: >>參與討論
ccjchen
下面說的清楚些,用break?
我用 SWITCH...case 做 lcd 的級聯(lián)菜單,當(dāng)如果我在第三級菜單返回到第二級應(yīng)該怎么辦呢?(我的程序在上面,其中第一級省略了)
SWITCH (keyin())//第二級
{
case 24:
         SendCMD(0x00);
         delay(100);
         put_str(0,0x80,chen[8],8);
         put_str(0,0x88,chen[9],8);
          SWITCH (keyin())//第三級
             {
          case 25:
              //在這里返回到第二級應(yīng)該怎么寫呢?
          default:
             break;
            }
              break;
case 25:
         SendCMD(0x00);
         delay(100);
         put_str(0,0x80,chen[10],8);
         put_str(0,0x88,chen[11],8);
         break;
default:
         break;
}

4樓: >>參與討論
平常人
還是沒搞清楚你要返回哪里
在內(nèi)層的case 25轉(zhuǎn)到外層的case 25,還是轉(zhuǎn)到外層的SWITCH,還是跳出外層的SWITCH

SWITCH...case即不是循環(huán)語句,也不是goto語句,除了繼續(xù)向下執(zhí)行,不可以返回或轉(zhuǎn)向到任何地方。

況且,“返回”只可能用于子程序“返回”調(diào)用它的上一層主程序,其他地方都不能用“返回”這個(gè)說法。

5樓: >>參與討論
jxc827
return 是不是可以?
 
6樓: >>參與討論
dengm
這里用goto 比較好
 
7樓: >>參與討論
hiberhe
一般我覺得不要這么寫為好
我極不喜歡SWITCH嵌套,這樣還不如搞個(gè)函數(shù)來得直觀!

8樓: >>參與討論
xwj
你這樣寫的話用goto比較好,但有不用goto的寫法
那就是記錄在哪一層,同一鍵分層處理

9樓: >>參與討論
ccjchen
就是lcd多級菜單如何退回上一級,用goto語句如何實(shí)現(xiàn)呢?
大哥幫寫一兩句讓我看看好嗎?

10樓: >>參與討論
平常人
實(shí)現(xiàn)多級菜單最好用狀態(tài)機(jī),每個(gè)菜單的每個(gè)選項(xiàng)對應(yīng)一個(gè)狀態(tài)
列出所有菜單、所有選項(xiàng),畫出完整的狀態(tài)機(jī),并畫出每個(gè)狀態(tài)的轉(zhuǎn)換關(guān)系和轉(zhuǎn)換條件,做好這些功課之后再寫程序,所有事情就變得順其自然了。

11樓: >>參與討論
luhuaren
re
SWITCH (keyin())//第二級
{
case 24:
         SendCMD(0x00);
         delay(100);
         put_str(0,0x80,chen[8],8);
         put_str(0,0x88,chen[9],8);
          SWITCH (keyin())//第三級
             {
          case 25:
              //在這里返回到第二級應(yīng)該怎么寫呢?
          default:
             break;
            }
              break;
case 25:
         SendCMD(0x00);
         delay(100);
         put_str(0,0x80,chen[10],8);
         put_str(0,0x88,chen[11],8);
         break;
default:
         break;

思路有問題!菜單不是象你這樣編的,
SWITCH(menu_status)
{
    case 24:
       SWITCH(keyin())
       {
           case 0:
               menu_status = xxx;
               break;
           case 1:
               menu_status = xxx;
               break;
           default:
               break;
       }
       break;
    case 25:
       break;
}


12樓: >>參與討論
ccjchen
我這里的意思是同一按鍵在兩級中使用
 
13樓: >>參與討論
ccjchen
11樓這位大哥寫的我看不懂啊,能否給解釋一下?
 
14樓: >>參與討論
yuanjian79
break僅僅是跳出屬于它的一個(gè)SWITCH。
break僅僅是跳出屬于它的一個(gè)SWITCH。別把概念搞混淆了。和菜單的級沒什么關(guān)系。

15樓: >>參與討論
biao.l
我都認(rèn)為搞下級菜單弄成函數(shù)比較好
我都認(rèn)為搞下級菜單弄成函數(shù)比較好,你這樣嵌套,不直觀

16樓: >>參與討論
ccjchen
樓上的哪位大哥能否把寫過的程序發(fā)給我一份呢?
我的油箱ccjchen2005@126.com,萬分感謝!

17樓: >>參與討論
hebeijiang
建議改變方案,多級菜單可以考慮用指針來做,類似堆棧。
 
參與討論
昵稱:
討論內(nèi)容:
 
 
相關(guān)帖子
用USB調(diào)試ARM大家都用什么?keil+ulink還是IAR+jlink或其他...?
緊急求助LM393在3.3V電源下的問題
想找一個(gè)復(fù)位芯片,可以監(jiān)視3.3V和1.8V
如果你還在用ADS1.2...
請問:如何把已經(jīng)燒入Flash的程序讀出來看反匯編
免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號