一、綀習題目:顯示聖誕樹功能。
二、需求:
1、使用者 可以輸入 顯示聖誕樹的符號(取一個字)。
2、使用者 可以輸入 顯示聖誕樹的階層大小(取數字)。
3、使用者 可以選擇是否繼續或離開程式(按下y、Y為繼續,n、N及其它任一鍵為離開程式)。
4、程式開始時顯示聖誕樹的範例。
三、流程:
1、顯示程式標題及顯示聖誕樹的範例
2、使用者輸入符號
3、使用者輸入大小
4、顯示聖誕樹
5、是否繼續執行程式
6、選是 -> 從流程2開始
7、選否 -> 離開關閉程式
寫看看這綀習題目吧!
四、參考解答:
#include#include using namespace std; /* 使用Dev-c++ 4.9.9.2 開發 作者:levin */ /*--------------------function start-----------------------*/ /* 顯示一般資訊 並 換幾行 */ void printMsgNewline(char msg[],int line){ char lines ; printf("%s",msg); if(line > 0){ for(int i =0;i 0){ printf("輸入錯誤! "); } printf("請您輸入想要的階層大小\n"); re++; }while(1 != scanf("%d",&n)); } /* 輸入字 取第一個字 */ void inCharAndPrint(char &w,char msg[]){ do{ printMsgNewline(msg,1); fflush(stdin);// 刷新緩沖區 }while(1 != scanf("%1s",&w)); } /* 計算 腳的位置 */ void printToe(int n){ int toe = 1; if(n >= 4){ toe = n/2; } do{ printfBlank(1,n); printMsgNewline("█",1); toe--; }while(toe > 0); } /* 計算顯示 Merry Christmas 的位置 */ void printEnd(int n){ int endBlank=0; if(n >4){ endBlank = n/2; } printfBlank(1,endBlank); printMsgNewline("Merry Christmas",1); } /* Merry Christmas主流程 */ void merryChristmasMain(int n,char w) { printf("顯示的符號:%c\n顯示的階層:%d",w,n); printMsgNewline("",1); printfBlank(1,n); printMsgNewline("★",1); for (int i=1 ; i<=n; i++) { printMsgNewline(" ",1); printfBlank(i,n); printfSymbol(w,i+i); printMsgNewline("",1); } printToe(n); printEnd(n); } /* 顯示範例樣式 */ void printExample(){ printMsgNewline("顯示結果範例:",1); merryChristmasMain(4,'*'); } int main(int argc, char *argv[]) { int n; char w,rePlay; printMsgNewline("Hello~!\n這是顯示一個聖誕樹程式",2); printExample(); do { printMsgNewline("開始!!",2); inCharAndPrint(w,"請您輸入想要顯示的符號"); inTreeSize(n); printMsgNewline("",4); merryChristmasMain(n,w); printMsgNewline("",2); inCharAndPrint(rePlay,"是否繼續:\n 按下(y、Y)為繼續程式\n 按下(n、N及其它任一鍵)為不繼續程式\n輸入完請按下(Enter)"); printMsgNewline("",7); } while( rePlay == 'y' || rePlay == 'Y' ); return EXIT_SUCCESS; }
五、測試結果:
圖1 執行開始,顯示範例
圖2 輸入 符號 及 大小
圖3 顯示結果及是否繼續
六、其它參考
C/C++ 目錄
其它文章
沒有留言:
張貼留言