2015年1月19日 星期一

C語言 綀習題 顯示聖誕樹


一、綀習題目:顯示聖誕樹功能。
二、需求:
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;i0){
          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++ 目錄
















其它文章

沒有留言:

張貼留言

標籤

Oracle (150) Oracle DB (144) Oracle_DB (143) Oracle SQL (135) JAVA (84) css-基本類 (65) MySQL (59) CSS Selector (58) jQuery (49) JavaScript-基本類 (39) Spring Boot (38) JavaScript (37) JavaScript HTML DOM (37) JavaScript-HTML_DOM (36) CSS3 (30) JAVA-基本類 (28) jQuery UI (27) Apache (23) Oracle GROUP BY (20) datepicker (20) Android (18) Oracle Date (17) c (17) JAVA-lang套件 (16) Linux (16) Oracle Sub Query (16) Spring-基本類 (16) jQuery-基本類 (16) MySQL-進階系列教學 (15) Android基本類 (14) Grails (14) Oracle join (14) SQLite (13) Spring (13) WIN7-基本類 (13) grails-基本類 (13) linux cent os (13) CKEditor (12) JAVA-流程控制類 (12) JAVA_Spring (12) PHP (11) Spring MVC (11) MySQL-基本系列教學 (10) Notepad (10) Notepad++ (10) SQLite for java (10) Windows (10) c/c++ (10) eclipse (9) jQuery-Selector (9) sqldeveloper (9) DB_Toad (8) JAVA_IDE_Eclipse (8) JavaScript-String類 (8) MySQL DB Toad (8) MySQL-DATE相關 (8) MySQL-函式相關 (8) Spring Bean (8) Android Studio (7) HTML5 (7) Hibernate (7) JAVA-OCWCD (7) JavaScript-陣列類 (7) Docker (6) JAVA-程式分享 (6) JAVA.util套件 (6) JavaScript-數學類 (6) MinGw (6) MySQL-其它類 (6) Servlet (6) centos (6) Apache_Tomcat (5) Apache套件_POI (5) CSS (5) JavaScript-Date物件 (5) JavaScript-其它類 (5) PostgreSQL (5) httpd (5) log4j (5) 基本資訊 (5) 開發工具 (5) CSS Properties (4) Dev-C++ (4) IntelliJ IDEA (4) Oracle DDL (4) Sublime (4) TortoiseSVN (4) apache_Maven (4) Android NDK (3) Eclipse IDE for C/C++ (3) Hibernate-基本類 (3) JAVA-問題 (3) JAVA-綀習分享 (3) JVM (3) Linux 指令 (3) Proxy Server (3) Spring Mobile (3) Spring web (3) Squid (3) VirtualBox (3) maven (3) zk (3) 生活其它 (3) Bootstrap (2) Filter (2) JAVA_IO (2) JAVA_其它_itext套件 (2) JBoss-問題 (2) JSP (2) Jboss (2) Listener (2) MySQL-語法快速查詢 (2) Spring AOP (2) Spring Batch (2) Spring Boot Actuator (2) Spring i18n (2) Subversive (2) Tomcat 8 (2) UML (2) WebJars (2) WinMerge (2) c++ (2) c語言綀習題 (2) jQuery Mobile (2) jQuery-事件處理 (2) jQuery-套件類 (2) putty (2) svn (2) weblogic (2) Apache_JMeter (1) Apache套件_BeanUtils (1) Apache套件_StringUtils (1) Base64 (1) Google API (1) HTML5-基本類 (1) Heap (1) JAVA 7 (1) JAVA SE 、JAVA EE、JAVA ME (1) JAVA 日期 (1) JAVA-OCJP (1) JAVA-WEB (1) JAVA_IDE (1) JAVA其它 (1) JBoss Server (1) JDK (1) JMX (1) JRE (1) Java RMI (1) Java String (1) Joda Time (1) Linux_其它 (1) MySQL教學 (1) Oracle_VirtualBox (1) SQL Server (1) SWT (1) Session (1) Stack (1) Struts 2 (1) Tool (1) ZK Studio (1) csv (1) grails-其它類 (1) jQuery-進階 (1) java mail (1) java web (1) java8 (1) jsoup (1) mockmvc (1) modules (1) tomcat (1) win10 (1) 其它類 (1) 圖片工具 (1) 模擬器 (1) 讀書分享 (1) 開發資訊 (1)

精選文章

初學 Java 的 HelloWorld 程式

撰寫一個JAVA程式 public class HelloWorld{ public static void main(String[ ] args){ System.out.println("我第一支Java程式!!"); } } ...