看板 NTUBIME100HW 關於我們 聯絡資訊
※ [本文轉錄自 NTUBIME-100 看板] 作者: angelwing12 (小品翔) 看板: NTUBIME-100 標題: [討論] C++作業一~ 時間: Sun Oct 7 23:58:34 2007 做好了~給大家參考一下XD 好像不用那麼複雜有一些我自己加的指令~ #include <stdio.h> #include <iostream> int main() { START: int i,scores,change,ans1,ans2,ans3,ans4,ans5,ans6,ans7,ans8; char restart; i=1; /*第一次作答*/ printf("總分120分 每題15分 答錯倒扣5分\n\n"); /*算分方式介紹*/ A: printf("第一題:\n"); printf("請問助教和教授帥不帥?\n"); printf(" (1.帥 2.很帥 3.超帥 4.沒人可以比的帥)\n"); scanf("%d",&ans1); /*將輸入的數讀取到ans1*/ while(ans1>4||ans1<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto A; /*重新回答第一題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ B: printf("第二題:\n"); printf("請問生物產業機電工程學系的英文簡稱叫什麼?\n"); printf(" (1.掰!你~ 2.BIME 3.BYE ME 4.BY Mii)\n"); scanf("%d",&ans2); /*將輸入的數讀取到ans2*/ while(ans2>4||ans2<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto B; /*重新回答第二題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ C: printf("第三題:\n"); printf("請問生機系今年大一是第幾級?\n"); printf(" (1.第2007級 2.第1988級 3.第100級 4.第75級)\n"); scanf("%d",&ans3); /*將輸入的數讀取到ans3*/ while(ans3>4||ans3<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto C; /*重新回答第三題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ D: printf("第四題:\n"); printf("請問復鐘一天敲幾下?\n"); printf(" (1.21下 2.24下 3.365下 4.愛敲幾下就敲幾下)\n"); scanf("%d",&ans4); /*將輸入的數讀取到ans4*/ while(ans4>4||ans4<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto D; /*重新回答第四題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ E: printf("第五題:\n"); printf("請問生機系系主任是...?\n"); printf(" (1.林達達 教授 2.林熊熊 教授 3.林達德 教授 4.帥帥的林達德 教授)\n"); scanf("%d",&ans5); /*將輸入的數讀取到ans5*/ while(ans5>4||ans5<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto E; /*重新回答第五題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ F: printf("第六題:\n"); printf("請問計算機程式概論課用到的軟體是什麼?\n"); printf(" (1.C-- 2.A++ 3.C+- 4.C++)\n"); scanf("%d",&ans6); /*將輸入的數讀取到ans6*/ while(ans6>4||ans6<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto F; /*重新回答第六題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ G: printf("第七題:\n"); printf("請問生機系系館最大那棟叫什麼?\n"); printf(" (1.之五館 2.知武館 3.生雞館 4.最大那一館)\n"); scanf("%d",&ans7); /*將輸入的數讀取到ans7*/ while(ans7>4||ans7<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto G; /*重新回答第七題*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ H: printf("第八題:\n"); printf("請問這個程式寫的好嗎?\n"); printf(" (1.遜!!! 2.弱到掉渣... 3.讚的無話可說!!! 4.爛爆了...)\n"); scanf("%d",&ans8); /*將輸入的數讀取到ans8*/ if(ans8>4||ans8<1) /*當輸入不在選項範圍內*/ { printf("你是哪隻眼看到這選項的= =?\n\n"); goto H; /*重新回答第八題*/ } else if (ans8!=3) /*如果不是選 3.*/ { printf("回去重選!!!!! 凸 > 皿 < \"......\n\n"); goto H; /*重新回答第八題 = =+ */ } else /*其實就是選3.的...*/ { printf("乖~選的好XDDD\n\n"); /*稱讚一下XD*/ } while(i>1) /*第二次以上作答(從檢查答案跳過來的)*/ goto I; /*修改完第一題跳回"檢查答案"的地方*/ I: printf("\n\n你的選項如下:\n"); /*顯示出作答結果*/ printf("第一題 請問助教和教授帥不帥?\n"); printf(" (1.帥 2.很帥 3.超帥 4.沒人可以比的帥) "); printf("你選的是: %d \n",ans1); /*顯示出作答結果*/ printf("第二題 請問生物產業機電工程學系的英文簡稱叫什麼?\n"); printf(" (1.掰!你~ 2.BIME 3.BYE ME 4.BY Mii) "); printf("你選的是: %d \n",ans2); /*顯示出作答結果*/ printf("第三題 請問生機系今年大一是第幾級?\n"); printf(" (1.第2007級 2.第1988級 3.第100級 4.第75級) "); printf("你選的是: %d \n",ans3); /*顯示出作答結果*/ printf("第四題 請問復鐘一天敲幾下?\n"); printf(" (1.21下 2.24下 3.365下 4.愛敲幾下就敲幾下) "); printf("你選的是: %d \n",ans4); /*顯示出作答結果*/ printf("第五題 請問生機系系主任是...?\n"); printf(" (1.林達達 教授 2.林熊熊 教授 3.林達德 教授 4.帥帥的林達德 教授)"); printf("你選的是: %d \n",ans5); /*顯示出作答結果*/ printf("第六題 請問計算機程式概論課用到的軟體是什麼?\n"); printf(" (1.C-- 2.A++ 3.C+- 4.C++) "); printf("你選的是: %d \n",ans6); /*顯示出作答結果*/ printf("第七題 請問生機系系館最大那棟叫什麼?\n"); printf(" (1.之五館 2.知武館 3.生雞館 4.最大那一館) "); printf("你選的是: %d \n",ans7); /*顯示出作答結果*/ printf("第八題 請請問這個程式寫的好嗎?\n"); printf(" (1.遜!!! 2.弱到掉渣... 3.讚的無話可說!!! 4.爛爆了...) "); printf("你選的是: %d \n\n\n\n",ans8); /*顯示出作答結果*/ i++; /*作答完成 將次數作答次數+1 */ J: printf("你有想要修改哪題答案嗎?\n"); printf("(0=不改了!!! 1-8=題數)\n"); scanf("%d",&change); /*看要不要改答案*/ if(change==1) /*輸入1時跳回第一題*/ goto A; else if (change==2) /*輸入2時跳回第二題*/ goto B; else if (change==3) /*輸入3時跳回第三題*/ goto C; else if (change==4) /*輸入4時跳回第四題*/ goto D; else if (change==5) /*輸入5時跳回第五題*/ goto E; else if (change==6) /*輸入6時跳回第六題*/ goto F; else if (change==7) /*輸入7時跳回第七題*/ goto G; else if (change==8) /*輸入8時跳回第八題*/ goto H; else if(change>8||change<0) /*輸入無效的話*/ { printf("沒有這選項喔= =...\n\n"); goto J; /*回到J看要不要修改答案*/ } printf("\n\n\n\n\n\對答案囉!!!\n\n"); printf("第一題:1-4皆可= =+ 你選的是%d O\n",ans1); scores=15; /*第一題送分 scores直接設為15分*/ if (ans2==2) /*判斷做對或做錯*/ { printf("第二題:2 你選的是%d O\n",ans2); scores=scores+15; /*加分*/ } else /*判斷做錯*/ { printf("第二題:2 你選的是%d X\n",ans2); scores=scores-5; /*扣分*/ } if (ans3==3) /*判斷做對或做錯*/ { printf("第三題:3 你選的是%d O\n",ans3); scores=scores+15; /*加分*/ } else /*判斷做錯*/ { printf("第三題:3 你選的是%d X\n",ans3); scores=scores-5; /*扣分*/ } if (ans4==1) /*判斷做對*/ { printf("第四題:1 你選的是%d O\n",ans4); scores=scores+15; /*加分*/ } else /*判斷做錯*/ { printf("第四題:1 你選的是%d X\n",ans4); scores=scores-5; /*扣分*/ } if(ans5==4) /*判斷做對*/ { printf("第五題:4 你選的是%d O\n",ans5); scores=scores+15; /*加分*/ } else /*判斷做錯*/ { printf("第五題:4 你選的是%d X\n",ans5); scores=scores-5; /*扣分*/ } if(ans6==4) /*判斷做對*/ { printf("第六題:4 你選的是%d O\n",ans6); scores=scores+15; /*加分*/ } else /*判斷做錯*/ { printf("第六題:4 你選的是%d X\n",ans6); scores=scores-5; /*扣分*/ } if(ans7==2) /*判斷做對*/ { printf("第七題:2 你選的是%d O\n",ans7); scores=scores+15; /*加分*/ } else /*判斷做錯*/ { printf("第七題:2 你選的是%d X\n",ans7); scores=scores-5; /*扣分*/ } printf("第八題:3 你選的是%d O\n",ans8); scores=scores+15; /*送分= ="*/ printf("你的分數為:%d\n",scores); /*印出分數*/ if (scores==0) /*評比*/ printf("都送你兩題了還考零分= =\"...是不是該自己檢討一下阿?\n"); /*評比*/ else if(scores<72) printf("不及格喔!!! 要加油了~\n"); /*評比*/ else if(scores<120) printf("不錯不錯~\n"); /*評比*/ else printf("\n哇!滿分耶!!!你是酷哥= =+\n\n\n"); /*評比*/ R: printf("\n\n重玩一次XD?(y/n)\n"); /*是否重完?*/ std::cin>>restart; /*將輸入讀到restart*/ if((restart=='Y')||(restart=='y')) /*判斷要重做*/ { printf("\n\n\n\n\n"); goto START; /*回到一開始算分方式*/ } else if ((restart=='n')||(restart=='N')) /*判斷不要重做*/ printf("\n謝啦XDDD\n"); else /*輸入不是 N or Y*/ { printf("\n沒這選項啦= =...\n"); goto R; /*重選要不要重做*/ } system("PAUSE"); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.170.122
aldreamp:無聊就推!!! 10/08 00:10
aldreamp:邊吃蘋果邊推 10/08 00:11
hasheesh:推推 字打錯了?是"傅鐘"? 10/08 00:15
angelwing12:囧~錯字... (修哀恩基....) 10/08 00:23
jamesbond292:未免也太多哩吧~~你真行~~推~ 10/08 00:33
jenny:這題可以用超新手的寫法來寫,學弟妹可以再多想一下。(我明 10/08 06:15
jenny:明記CLASS很晚在用到 10/08 06:17
taipei90437:看到很長很長的code就看不下去了...其實可以精簡一點 10/08 22:21
taipei90437:中間那一個很長很長的if else 可以用switch 代替 10/08 22:53
taipei90437:scanf 那個也可以用cin>> 代替 10/08 22:53
angelwing12:嗯嗯~研究switch 哀恩基...XD 謝謝學長(姐)指導~ 10/08 23:39
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.217.245.241