1

出力されたテキストを画面の中央にフォーマットするコードを書くことは可能ですか? 私はたくさん試しましたが、何もうまくいきませんでした。ここまでで考えたこと。

cout.setf (ios::middle);

それはエラーでした。また、私は試しました

setw(10);//etc.

しかし、私はsetwコマンドを使用するのが初めてなので、適切に使用する方法がわかりません。

アップデート:

//The Game of 4 Seasons
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;

int main()
{
cout << "Welcome to this game\n\n\n";

system ("pause");
system ("cls");

cout << "CAUTION!\n\n";
cout << "The adventure you are about to embark contains high levels of:\n";
cout << "Fun\n";
cout << "Adventure\n";
cout << "Excitement\n\n\n";
cout << "If you have a record of buzz killing or anything similar, \nthen this game is NOT for you.\n\n\n\n";

system ("pause");
return 0;
}
4

2 に答える 2

3

Q: 出力テキストを画面中央にフォーマットするコードを書くことは可能ですか?

A: はい。直接「cout」ではありません。しかし、確かに ncurses のようなもので:

于 2015-11-18T23:07:24.000 に答える
1

私自身は、呪いの方が好きです。

ただし、ニーズがどれほど複雑かによっては、ansi 端末エミュレーションを検討することもできます。ほとんどのシステムには ansi 端末エミュレーションがあります。(Ubuntu では gnome-terminal と呼ばれます)

次に、出力に ansi 端末制御を使用できます。例えば、

void gotoxy(int col, int row)

esc char の後に "[" と行 (つまり "12") が続き、その後に ";" が続く可能性があります。列番号 (「40」) の後に「H」が続きます。

ユーザー入力は std::cin になります。

素晴らしいソリューションではありませんが、いくつかの機能があります。

于 2015-11-18T23:48:41.863 に答える