2010-10-27 61 views

Respuesta

16

Como dijo Zan, depende de qué codificación de caracteres sea compatible su salida estándar. Si es compatible con Unicode, puede usar la codificación para ² (U+00B2). Si es compatible con la misma codificación Unicode para archivos de origen y salida estándar, puede simplemente incrustarlo en el archivo. Por ejemplo, mi GNU/Linux sistema utiliza UTF-8 para ambos, por lo que este funciona bien:

#include <iostream> 

int main() 
{ 
    std::cout << "cm²" << std::endl; 
} 
+2

No funciona solo para Unicode. En ISO-8859-1, ² es 'char (0xB2)'. Como mi sistema de Windows usa eso para los archivos de origen y la salida de la consola, yo también puedo incrustarlo directamente en mis archivos fuente. – MSalters

5

Esto no es algo que C++ pueda hacer solo.

Necesitará utilizar una función específica de su sistema de consola.

No conozco ninguna consola ni terminal que implementen super-script. Sin embargo, podría estar equivocado.

+0

Depende de los caracteres disponibles y la codificación utilizada. Con [UTF-8 en todas partes] (http://utf8everywhere.org/) es posible. –

2

Sí, estoy de acuerdo con Zan.

Basic C++ no tiene ninguna funcionalidad incorporada para imprimir superíndices o subíndices. Debe usar cualquier biblioteca de UI adicional.

+4

Técnicamente hablando, C++ no tiene funcionalidad para producir CUALQUIER carácter específico. Incluso para los caracteres alfanuméricos básicos como 'a' o '2', C++ no tiene ninguna funcionalidad para mostrarlos. Todo lo que puede hacer es convertir esos literales en códigos de caracteres que luego son interpretados por la secuencia de salida a la que se envían. En general, esto da como resultado ver una 'a' o un '2' en la pantalla, pero con alguna consola o sistema de fuentes extrañas puedes obtener cualquier cosa. –

0

para scripting súper o sub guiones que tiene para utilizar el valor ASCII de la letra o número.

Por ejemplo: Super scripting 2 for x² Necesitamos obtener el ascii value of super script of 2 (busque en google para eso) ie - 253. Para escribir el carácter ASCII debe hacer alt + 253 aquí, puede escribir cualquier número, pero es 253 en este caso.

Por ejemplo: - cout<<"x²";

lo tanto, ahora debe mostrar en la pantalla negro.

3

Estaba tratando de lograr esta tarea con el fin de hacer un solucionador de ecuaciones cuadráticas. Escribir ax² dentro de cout << manteniendo presionado ALT mientras tipea 253 se muestra correctamente en el código fuente solamente, PERO NO en la consola. Cuando se ejecutaba el programa, aparecía como un rectángulo de color claro en lugar de un superíndice 2.

Una solución simple a esto parece ser convertir el entero 253 como un carácter, como este ... (char)253.

Porque nuestro profesor nos desanima a utilizar 'números mágicos', lo declare como una variable constante ... const int superScriptTwo = 253; //ascii value of super script two.

Entonces, donde quería el superíndice 2 a aparecer en la consola, yo di mi variable como una char así ... cout << "f(x) = ax" << (char)superScriptTwo << " + bx + c"; y exhibidas a la perfección.

Quizás sea aún más fácil simplemente crearlo como char para empezar, y no preocuparse por emitirlo. Este código también imprimirá un guión súper 2 a la consola cuando se compila y se ejecutan en VS2013 en mi Lenovo con Windows 7 ...

char ssTwo = 253; 
cout << ssTwo << endl; 

espero que alguien va a resultar útil. Esta es mi primera publicación, por lo que me disculpo por adelantado si accidentalmente violé cualquier protocolo de desbordamiento de pila para responder una pregunta publicada hace más de 5 años.Cualquier tal ocurrencia no fue intencional.

-1

¿Por qué no pruebas ASCII?
Declare un carácter y asígnele un valor ASCII de 253 y luego imprima el carácter.
Así que su código debería ir así;

char ch = 253; 
cout<<"cm"<<ch; 

Esto definitivamente imprimir cm .

Cuestiones relacionadas