【掲示板ご利用上の注意】

 ※題名は具体的に!
 ※学校の課題の丸投げ禁止!
 ※ソースの添付は「HTML変換ツール」で字下げ!
 ※返信の引用は最小限に!
 ※環境(OSとコンパイラ)や症状は具体的に詳しく!
 ※返信付き投稿の削除は禁止!
 ※マルチポスト(多重投稿)は慎んで!

 詳しくはこちら


本当はこんなに大きく書きたくはないのですが、なかなか守っていただけなくて…。
 守ってくださいね。お願いします。(by管理人)

C言語ソース⇒HTML形式ツール掲示板2こちら


管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧

No.21815

コンソール画面でなんとか…
投稿者---Ges(2005/07/09 22:43:10)


こんにちは。
C言語を勉強して少し経ち、
色々と作っているのですが、
実は今、殺風景なコンソール画面でも
ちょっとした工夫でキレイに見えるのでは?
と、思い色々と考えています。
その一部が

#include <stdio.h>

int main(void) {
int num;
int w;

printf("┏");

for(w = 0; w < 5; w++) {
printf("━");
}

printf("┓\n");
printf("┃");
scanf("%d", &num);

for(w = 0; w < 10; w++) {
printf(" ");
}

printf("┃\n");
printf("┗");

for(w = 0; w < 5; w++) {
printf("━");
}

printf("┛\n");
printf("入力ナンバー:%d\n", num);

return 0;
}

上の実行結果
┏━━━━━┓
┃3

┗━━━━━┛
入力ナンバー:3

*実現させたい実行結果
┏━━━━━┓
┃3     ┃
┗━━━━━┛
入力ナンバー:3

(*注 各実行結果は正しいものではありません。
 スペースの部分が消えています。
 実行結果では「3」の次の行の「┃」が一番右に、
 実現させたい実行結果では「3」の後ろの「┃」が一番右に
 それぞれ実際はあります。)
と、したのですが、
scanfを使っている部分で罫線(┏など)の表示が止まり、
数字を打っても形が崩れて表示されてしまいます。
この部分を何とかしようと昨日から考えたり、
ネットで調べたりしたのですが、
それらしいヒントにたどりつけていません。
どなたか、知恵を貸して頂けませんか?
よろしくお願いしますm(_ _)m


この投稿にコメントする

削除パスワード

発言に関する情報 題名 投稿番号 投稿者名 投稿日時
<子記事> Re:コンソール画面でなんとか… 21817 shu 2005/07/09 23:02:02
<子記事> Re:コンソール画面でなんとか… 21818 Ban 2005/07/09 23:56:00


No.21817

Re:コンソール画面でなんとか…
投稿者---shu(2005/07/09 23:02:02)


#include <stdio.h>

int main( void )
{
    int n;
    
    scanf( "%d", &n );
    
    printf(
        "+----------+\n"
        "|%-10d|\n"
        "+----------+\n", n );
        
    return 0;
}



この投稿にコメントする

削除パスワード

No.21818

Re:コンソール画面でなんとか…
投稿者---Ban(2005/07/09 23:56:00)


環境依存なので Ges さんの環境で動くかは分かりませんが、
'\x1B'を送ってカーソル位置の制御などしてみるのはどうでしょう。
http://www5c.biglobe.ne.jp/~ecb/assembler2/b_2.html
(参照先はアセンブラですが、Cでも標準出力で使えます)

WinNT,2000などの場合は代わりのAPI(SetConsoleCursorPosition等)を
使わないと制御できませんけど。(使えばできます)


この投稿にコメントする

削除パスワード

管理者用メニュー    ツリーに戻る    携帯用URL    ホームページ    ログ    タグ一覧