2

二次方程式を実行するプログラムを書いています。私の唯一の問題は、プログラムの実際のフォーマットです。プラスマイナス記号と平方根記号を入力できる Alt キーが、いくつかの問題を引き起こしています。

問題は内部に存在します

cout<< 0-b << char(241) << char(251) << char(0178);

2 乗記号 (²) を入力する最後の文字は、無効な 8 進数エラーを報告します。これを回避する方法はありますか、それとも単純に「 x^2 」と書くだけで満足しなければなりませんか?

4

1 に答える 1

1

0から先頭を削除するだけ0178です。数値定数の先行ゼロは自動的に 8 進数として扱われ8、有効な 8 進数ではありません。

さらに、あなたが参照している上付き文字 2は10 進数の 178 ですU+00B2。別の方法は'\xb2'、コードで使用することです。

もちろん、その出力ストリームを解釈しているものは何でも、出力しようとしている Unicode 文字を認識していることも確認する必要があります。これはおそらく、端末プログラムまたはコンソールに依存します。そうでない場合は、次のようなハックに頼る(x^2)か、さらに悪いことに、次のような怪物に頼らなければならない場合があります。

      3     2
    3x  - 7x  + 42x - 1
y = -------------------
            12
于 2013-02-12T04:58:31.840 に答える