• 締切済み

C言語プログラムの画面消去について

C言語のプログラムで、  system("cls"); を使って画面消去ずることについて質問です。 この消去方法はパソコンが書いたプログラムを上から読み込むときに、system("cls");が書かれている位置まできたときに画面を自動的に消去するものだと聞きました。 例えば、 main() { system("cls"); printf("あいうえお\n"); } と書いたとすると、これをコンパイルしたとき、それまでに書いた「gcc ~~.c」や「./a.exe」などが全て消えて、いきなり画面に「あいうえお」の文字が表示されるのだと思います。 この操作をエンターキーなどで操作したい、つまり、 main() { printf("あいうえお\n");  system("cls"); printf("かきくけこ\n"); } という内容であったなら、まず「あいうえお」を表示させ、自分の好きなときにエンターキーを押して画面を消去し、「かきくけこ」だけを新たに表示させたいです。 このような操作は可能なのでしょうか? 基礎的なことで申し訳ありませんが、ご回答よろしくお願いいたします。

みんなの回答

  • wormhole
  • ベストアンサー率28% (1622/5659)
回答No.2

とりあえず解決されたようですが質問された事柄は実はプラットホームに依存しているので実行環境等書かれないと回答できないような事だったりします。

appleboshi
質問者

お礼

大変遅くなって申し訳ございません; まだまた勉強することがいっぱいみたいです; ありがとうございました。

  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

こんにちわ。 systemの前にscanf関数やgetchar関数を置いて、 キーボード入力(標準入力)を受け取るようにすれば良いかと思います。 main() { printf("あいうえお\n"); getchar(); system("cls"); printf("かきくけこ\n"); }

参考URL:
http://www.c-tipsref.com/reference/stdio/getchar.html
appleboshi
質問者

お礼

ありがとうございます! やりました、できました^^

関連するQ&A

  • C言語でDOSの画面を消去する。(CLS)

    C言語でDOSの表示されている文字を全て消去するには clrscr();やsystem("cls");などの書き方があるのですが、 どうしても一瞬だけ画面がちらついてしまい、連続で 画面を消去する必要のある時などはどうしても気になって しまいます。 そこでもっと高速に画面を消去したいのですが、 それは不可能なのでしょうか・・・。

  • C言語について

    #include <stdio.h> int main(void) { printf("123456\tABC DEFGHIJK\n"); printf("2006/4/14\n"); printf("programing\n"); } のprintfをすべてputsに書き換えてコンパイル・実行すると、 #include <stdio.h> int main(void) { puts("123456\tABC DEFGHIJK\n"); puts("2006/4/14\n"); puts("programing\n"); } になると思うんですけど、そのputsを用いて上のprintfを用いたプログラムと同じ出力を得るにはどのようなプログラムに変えればいいのでしょうか?

  • C言語で今まで表示していた画面の消すには?

    こんにちわ, 今LinuxでC(C++でなく普通の)言語でプログラムを作っています。 それでいろいろprintfなどで表示していたものを消したいのですが,BASICでいうところのCLSのような画面を一度きれいにしてその後一番上の行からはじめるようなプログラム,関数などはないのでしょうか。 もしもありましたら教えてください。 よろしくお願いします。

  • C言語プログラミングについて

    #include <stdio.h> int main(void) { printf("hello,world\n"); } □■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■ #include <stdio.h> int main(void) { printf("hello"); printf(",world"); printf("\n"); } 上の2つのプログラムをコンパイルするとどのような違いが生じるんですか??printfってどんな働きをするんですか?

  • c言語のプログラムの実行

    #include<stdio.h> int main() { int val; val=5; printf("今、変数の中身は、%dです\n", val); val=val+1; printf("今、変数の中身は、 %dです\n", val); val=val++; printf("今、変数の中身は、 %dです\n", val); return 0; } をファイル名 aaa  として、 %  gcc  aaa.c  で無事コンパイルできましたが、いざ実行しようと % ./aaa    Enter とすると ./aaa.out:コマンドが見つかりません.  となります。 また 別に %  ./aaa.out Enter としても上と同様な結果になります。 ぜひ、お答えを頂きたいです。     この時は unixとwindows98を使用しています。  

  • C言語

    以下のようなhello.cがあります。 include<stdio.h> int main(void) { printf("Hello World! \n"); return 0; } gcc -E hello.c と打つとプリプロセッサが表示されます。 課題はこの中からprintfに関するものを見つけ、読み取れることを説明せよとのことです。 問題の意図と解き方がわかりません。 よろしくお願いします。 環境はwsl ubuntu です。

  • C言語、度々すいません。コンパイルエラーです。

    いつも大変お世話になり誠にありがとうございます。 下記コードがコンパイルエラーになり色々と 変えてみたのですが、どうしてもコンパイルエラー となります。 度々すいません。 ご回答の程宜しくお願い申し上げます。      記 1.コード #include <stdio.h> int main(void) { char ch; printf("アルファベットの最初の文字は何ですか?\n"); ch = getchar(); printf("アルファベットの最初の文字は%cです。\n" ch); return 0; } 2.コンパイルエラー C:\MinGW>gcc test8.c -o test8 test8.c: In function 'main': test8.c:9:51: error: expected ')' before 'ch' printf("アルファベットの最初の文字は%cです。\n" ch); 上記の通りエラーメッセージが出ます。 どうしたらいいでしょうか? ご回答の程宜しくお願い申し上げます。

  • C言語のプログラムについて。

    #include <stdio.h> int main(void) {   int hoge,piyo;   printf("数値を入力せよ。:");   scanf("%d",&hoge);   piyo = hoge % 2;   if (piyo == 0) {     printf("%dは、偶数。\n",hoge);   } else {     printf("%dは、奇数。\n",hoge);   };   return 0; } という、プログラムが、実行できません。 といって、エラーメッセージがでてくれないので、困っています。 ひょっとして、非常に初歩的なミスという気もするのですが。 これはよかった!という、C言語に関する書籍、また、コンピュータのシステムに関する書籍がありましたら、合わせてご教授ください。

  • C言語の簡単なプログラム

    簡単な足し算のみの電卓をC言語で作っています。 /が入力されるまで足し算を繰り返すものです。 コンパイルをして、足し算を繰り返すところまでは上手くいったのですが、 /を入力してのループの抜け方がわかりません。 #include<stdio.h> int main(void) { int x=0,z; printf("数値を入力\n"); printf("終了は/を入力\n"); printf("\n結果 %d\n",x); while(1){ scanf("%d",&z); x=x+z; /* 足し算の計算 */ printf("結果 %d\n",x); /* 現在の計算結果を表示 */ } printf("終了 結果: %d\n",x); /* 計算の終了、合計値の表示 */ return 0; } while文のなかにifでいれればいいのでしょうか? その場合、 if(z=='/') break; でいいんでしょうか? if文以外のやり方がある場合も教えていただけたらと思います。 よろしくお願いします。

  • C言語、実行でエラー。

    いつも大変お世話になり誠にありがとうございます。 標記の件。 shift jifでコンパイルしているのですが コンパイルはお陰様で成功したのですが、 実行でエラーが発生します。 下記にコードとエラーメッセージを書きます。        記 コード #include <stdio.h> int main(void) { printf("8進数101の文字コードをもつ文字は%cです。\n", '\101'); printf("16進数61の文字コードをもつ文字は%cです。\n", '\x61'); return 0; } 実行 C:\MinGW>gcc text4.c -o test4 C:\MinGW>text4.exe 'text4.exe' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 ご多忙のところ 度々申し訳ございません。 ご回答の程宜しくお願い申し上げます。