[問題] do...switch...while

看板C_and_CPP作者 (殺死丁力這個雜碎a~)時間12年前 (2013/11/04 00:54), 編輯推噓9(9039)
留言48則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 小弟剛學C程式 老師要我們使用switch做動作 之後要求我們詢問使用者是否再進行一次 switch的部分已經打完了 但是之後的if else 以及 while的部分 不知道要怎麼打... 麻煩各位大大了 預期的正確結果(Expected Output): 預期是成功跑完 錯誤結果(Wrong Output): 偵錯都會出現 error C2061: 語法錯誤 : 識別項 'system' 出現其他的還可以修改 可是出現這個.... 真的不知道錯在哪 囧 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/JtZflb 補充說明(Supplement): --

05/16 18:39,
樓下白癡
05/16 18:39

05/16 18:40,
冒險蓋
05/16 18:40
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.18.51

11/04 01:04, , 1F
我可以問一下為啥會有 "選項" 這個變數名嗎...?
11/04 01:04, 1F

11/04 01:15, , 2F
括號根本就沒前後對應,語法整個不對
11/04 01:15, 2F

11/04 01:17, , 3F
你 switch 尾巴的 大括號加錯地方 do..while 迴圈也是
11/04 01:17, 3F

11/04 01:18, , 4F
if..else 不只沒必要還有語法錯誤
11/04 01:18, 4F

11/04 01:18, , 5F
請問 if是要放在switch的{}外面嗎?
11/04 01:18, 5F

11/04 01:18, , 6F
case 的結尾應該是break吧?
11/04 01:18, 6F

11/04 01:21, , 7F
case 每項收尾請用 break;
11/04 01:21, 7F

11/04 01:21, , 8F
可是 不用if..else的話 要怎麼判斷要不要跳回去?
11/04 01:21, 8F

11/04 01:21, , 9F
恩 case 已經改好了
11/04 01:21, 9F

11/04 01:21, , 10F
你後面的 while() 的括號裏面做判斷就好啊...
11/04 01:21, 10F

11/04 01:22, , 11F
switch的}也改在break的後面了
11/04 01:22, 11F

11/04 01:22, , 12F
do..while 是 do{}while(); 不是 do{while();}
11/04 01:22, 12F

11/04 01:23, , 13F
你的大括號加錯位置
11/04 01:23, 13F

11/04 01:24, , 14F
改好了
11/04 01:24, 14F

11/04 01:25, , 15F
那把你改過的再貼一次吧:P
11/04 01:25, 15F

11/04 01:26, , 16F
http://ideone.com/3UqRmM 這樣只剩下如何判斷要不要跳
11/04 01:26, 16F

11/04 01:27, , 17F
回去了
11/04 01:27, 17F

11/04 01:27, , 18F
那你的確認繼續的訊息呢...?
11/04 01:27, 18F

11/04 01:30, , 19F
我前面第一個問的是在問說為啥會有中文的變數名不是叫你把那
11/04 01:30, 19F

11/04 01:30, , 20F
段刪掉啊
11/04 01:30, 20F

11/04 01:30, , 21F
就是卡在確認繼續這邊...如果框框(choice)他只會無限lo
11/04 01:30, 21F

11/04 01:31, , 22F
選項 打算用這樣
11/04 01:31, 22F

11/04 01:31, , 23F
printf("繼續請按1 結束請按2");
11/04 01:31, 23F

11/04 01:31, , 24F
scanf ("%d", 選項);
11/04 01:31, 24F

11/04 01:31, , 25F
while (選項 == 1);
11/04 01:31, 25F

11/04 01:32, , 26F
失敗了QQ
11/04 01:32, 26F

11/04 01:32, , 27F
printf 跟 scanf 在這邊請放 在 do..while 裏面
11/04 01:32, 27F

11/04 01:33, , 28F
do{}while() 迴圈就是 while 後面括號裡的東西為 true
11/04 01:33, 28F

11/04 01:33, , 29F
就會跳回到 do
11/04 01:33, 29F

11/04 01:37, , 30F
還有 是放在大括號裏面 不要把他夾在 } 跟 while();的中間...
11/04 01:37, 30F

11/04 01:39, , 31F
目前已經可以成功的跑到 繼續請按1 結束請按2
11/04 01:39, 31F

11/04 01:39, , 32F
可是輸入之後 會跳出這個 http://ppt.cc/ZohS
11/04 01:39, 32F

11/04 01:41, , 33F
你少了 &
11/04 01:41, 33F

11/04 01:42, , 34F
發現了XD
11/04 01:42, 34F

11/04 01:43, , 35F
這樣已經可以順利跑完一圈了 只是當選擇繼續的時候
11/04 01:43, 35F

11/04 01:44, , 36F
他回直接跑到 printf("你輸入的選項是 1 \n"); 這一行
11/04 01:44, 36F

11/04 01:45, , 37F
裏面兩個 scanf 的 %d 前面加個空格
11/04 01:45, 37F

11/04 01:45, , 38F
這是因為他吃到你前面輸入結束的 Enter 了
11/04 01:45, 38F

11/04 01:49, , 39F
請問是哪兩個?
11/04 01:49, 39F

11/04 01:51, , 40F
呃... 你裏面的 scanf 不就兩個而已...
11/04 01:51, 40F

11/04 01:52, , 41F
就像 scanf(" %d",&choice); 這樣啊
11/04 01:52, 41F

11/04 01:53, , 42F
^ 就是加這個空白
11/04 01:53, 42F

11/04 01:56, , 43F
printf("請輸入1~4其中一個數字\n"); 我把這個 丟到do
11/04 01:56, 43F

11/04 01:56, , 44F
裡面 就解決了 ^_^
11/04 01:56, 44F

11/04 01:59, , 45F
姆 我倒是忘了那個 ( ' ')a
11/04 01:59, 45F

11/04 02:00, , 46F
弄好就好 恭喜:P
11/04 02:00, 46F

11/04 02:01, , 47F
謝謝你 耐心地教我^^
11/04 02:01, 47F

11/04 02:03, , 48F
不會:)
11/04 02:03, 48F
文章代碼(AID): #1ITd_VRv (C_and_CPP)