查看: 1464|回復: 3
打印 上一主題 下一主題

[提問] 跑馬燈程式

[複製鏈接]
  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    跳轉到指定樓層
    樓主
    發表於 2014-8-29 16:28:52 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    請各位大大幫我看一下這程式
    請問要如何讓它變成
    自碰到視窗邊緣後
    後面的字自動跑來前面
    例如
    我輸入123
    然後
                              123碰到視窗邊緣了變成
    3                          12再來
    23                          1再來
    123                          
    [C++] 純文本查看 復制代碼
    #include<iostream>
    #include<cstdlib>
    #include<conio.h>
    #include<windows.h>
    using namespace std;
    int main()
    {
    	string a;
    	int b=0,c=0;
    	cin>>a;
    	b=a.size();
    	for(int num=1;num>0;num++)
    	{
    		for(int e=0;e<num;e++)
    		{
    			cout<<" ";
    		}
    		cout<<a;
    		Sleep(80);
    		system("cls");
    		if(num==70)
    		{
    			num=1;
    		}
    	}
    	return 0;
    }
    林宇翔
    回復

    使用道具 檢舉

  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    頭香
    發表於 2014-8-29 19:35:58 | 只看該作者
    給你參考

    [C++] 純文本查看 復制代碼
    #include<cstdlib>
    #include<iostream>
    #include<string>
    #include<deque>
    #include<algorithm>
    #include<Windows.h>
    #define BUFFERMAX 80
    
    //不用 using namespace std;
    //就要一個一個列舉要用std的是哪一些
    using std::string;
    using std::cout;
    using std::deque;
    
    int main()
    {
            deque<char> show;
            string res = "Hello World!";
            //補滿80字 
            while( res.size() < BUFFERMAX )
                    res.push_back(' ');
            //複製到 deque(雙向佇列) show
            copy( res.begin() , res.end() , std::back_inserter(show) );
    
            while(true)
            {
                    system("cls");
                    //顯示 有C++11的寫法 但怕你不會編譯,舊式寫法也支援 
                    //use -std=c++11 to enable C++11 
                    #if __cplusplus < 201103LL
                    for(int p=0;p<show.size();++p){//C++
                            char i =show[p];
                    #else
                    for(char &i : show){//C++11
                    #endif
                            cout<<i;
                    }
                    //把最後一個字複製到前面來 
                    show.push_front(show.back());
                    //把最後一個字刪除 
                    show.pop_back();
                    Sleep(150);
            }
    }

    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    開心
    2014-9-28 12:10
  • 簽到天數: 21 天

    [LV.4]偶爾看看III

    34

    主題

    181

    帖子

    776

    積分

    高級會員

    Rank: 4

    積分
    776

    程式設計達人 - 2014新手達陣

    3#
     樓主| 發表於 2014-8-31 16:50:28 | 只看該作者
    //不用 using namespace std;
    //就要一個一個列舉要用std的是哪一些
    using std::string;
    using std::cout;
    using std::deque;

    using是啥
    std是啥
    林宇翔
    回復 支持 反對

    使用道具 檢舉

  • TA的每日心情
    鬱悶
    2015-5-15 22:38
  • 簽到天數: 33 天

    [LV.5]常住居民I

    75

    主題

    302

    帖子

    766

    積分

    版主

    TFcis - 105 附設監工官

    Rank: 7Rank: 7Rank: 7

    積分
    766

    台南一中資訊社程式設計達人 - 2014

    4#
    發表於 2014-8-31 22:53:05 | 只看該作者
    本帖最後由 jd3 於 2014-8-31 22:56 編輯

    一些函式是在命名空間(namespace)底下的
    像是 cout, cin , string 這些以及大量標準函式褲的東西都是在std底下的
    要使用時應該告知是什麼namespace的東西才找得到定義
    例如std::cout<<"Hello\n";
    使用using 表示要使用他(也就是可以省略到命名空間裡找的步驟)

    (如果有講錯請幫我糾正...)
    <這是個人簽名欄位>
    回復 支持 反對

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表