c言語についての質問です
scanf関数は実行した時、次に来る処理が自動で改行されますが
それを改行しないようにすることはできますか?
例えば 金額(入力部分)円
これを1行にすることはできますか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答3件
0
Unix/Linuxであれば、Enterを押さずに、Ctrl-D を2回入力してください。
そうじゃなくてEnterを押して改行させないようにするのはscanf
などでは無理なので、他の方の書いている通り、カーソル位置を動かすしか無いです。Enter入力後、カーソルを1つ上げて、1行全部上書きで表示し直すのがわかりやすいかも。
あるいは、行入力相当の機能を自作するつもりがあればなんとかなりますが、現実的ではないでしょう。
投稿2015/07/23 13:00
総合スコア84499
0
ベストアンサー
Windows限定になりますが,こんな感じでどうでしょうか.
一度「金額 円」と表示させて,
その次にキーボードからの入力を出すコンソールの位置を移動し,
その後scanfをしています.
c
1#include<stdio.h> 2#include<Windows.h> 3 4int main(void){ 5 int val; 6 int x = 5; int y = 0; 7 COORD pos = {x, y}; 8 HANDLE output; 9 10 printf("金額\t\t円"); 11 output = GetStdHandle(STD_OUTPUT_HANDLE); 12 SetConsoleCursorPosition(output, pos); 13 scanf("%d", &val); 14}
投稿2015/07/23 12:33
総合スコア751
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/23 15:39
2015/07/23 16:06
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/23 15:42