プログラムに「 cm2」(cmの2乗)を出力させたいのですが。
上付き文字2を作成するにはどうすればよいですか?
Zanが言ったように、それはあなたの標準出力をエンコードするどの文字をサポートするかによります。Unicodeをサポートしている場合は、²(U + 00B2)のエンコーディングを使用できます。ソースファイルと標準出力で同じUnicodeエンコーディングをサポートしている場合は、ファイルに埋め込むことができます。たとえば、私のGNU / Linuxシステムは両方にUTF-8を使用しているため、これは正常に機能します。
#include <iostream>
int main()
{
std::cout << "cm²" << std::endl;
}
これは、C++が単独で実行できることではありません。
コンソールシステムの特定の機能を使用する必要があります。
スーパースクリプトを実装しているコンソールや端末を知りません。私は間違っているかもしれません。
二次方程式ソルバーを作成する目的で、このタスクを実行しようとしていました。ax²
253を入力しながらALTを押しながら内部に書き込むcout <<
と、ソースコードにのみ正しく表示されますが、コンソールには表示されません。プログラムを実行すると、上付き文字2ではなく明るい色の長方形として表示されました。
これに対する簡単な解決策は、次のように整数253をcharとしてキャストすることのようです(char)253
。
私たちの教授は「マジックナンバー」の使用を思いとどまらせているので、私はそれを定数変数として宣言しましたconst int superScriptTwo = 253; //ascii value of super script two
。
次に、上付き文字2をコンソールに表示したい場合は、変数を次のchar
ようにキャストしました...
cout << "f(x) = ax" << (char)superScriptTwo << " + bx + c";
完全に表示されました。
char
おそらく、最初から作成するだけで、キャストについて心配する必要がないので、さらに簡単です。このコードは、Windows 7を実行しているLenovoのVS2013でコンパイルして実行すると、スーパースクリプト2もコンソールに出力します...
char ssTwo = 253;
cout << ssTwo << endl;
誰かがこれがお役に立てば幸いです。これは私の最初の投稿です。5年以上前に投稿された質問に回答するために誤ってStackOverflowプロトコルに違反した場合は、事前にお詫び申し上げます。そのような出来事は意図的なものではありませんでした。
はい、私はザンに同意します。
基本的なC++には、上付き文字または下付き文字を印刷するための組み込み機能はありません。追加のUIライブラリを使用する必要があります。
std::cout << cm\x00B2;
cm^2を書き込みます。
スーパースクリプトまたはサブスクリプトの場合、文字または数字のASCII値を使用する必要があります。
例:x²のスーパースクリプト2は、ascii value of super script of 2
(グーグルで検索してください)すなわち-を取得する必要があり253
ます。ここで行う必要のあるASCII文字を入力するにはalt + 253
、任意の数字を書き込むことができますが、この場合は253です。
例えば:-cout<<"x²";
これでx²
、黒い画面に表示されるはずです。
ASCIIを試してみませんか?
文字を宣言し、それにASCII値を与えてから、253
文字を出力します。
したがって、コードは次のようになります。
char ch = 253;
cout<<"cm"<<ch;
これは間違いなくcm2を印刷します。