Frage

Ich bin ein Stück Code zu schreiben, die mit Mathematik Variablen und Indizes beschäftigt, und ich würde brauchen Tief- und Hoch auf einem CLI zu drucken, ist es ein (möglicherweise Cross-Plattform) Weg, dies zu tun? Ich arbeite in Vanille-C ++.

Hinweis: Ich mag diese Cross-Plattform zu sein, aber da von den ersten Antworten scheint dies nicht möglich zu sein, die ich unter MacOS und Ubuntu Linux (so bash) m working .

Danke

War es hilfreich?

Lösung

Da die meisten CLIs sind wirklich nur Terminals (ziemlich Dummen meist aber manchmal mit Farbe), die einzige plattformübergreifende Weise, die ich je getan habe, ist durch muliple physikalische Zeilen pro virtueller Linie Zuweisung, wie:

        2
f(x) = x  + log x
               2

Es ist nicht ideal, aber es ist wahrscheinlich das Beste, was Sie ohne GUI bekommen sind.

Nach Sie zusätzliche Informationen darüber, welche Plattformen Sie hauptsächlich interessiert sind:

Mit Ubuntu wenigstens Gnom-terminal Läufe in UTF-8-Modus standardmäßig so der folgende Code zeigt, wie die Hoch- und tief generieren:

#include <stdio.h>

static char *super[] = {"\xe2\x81\xb0", "\xc2\xb9", "\xc2\xb2",
    "\xc2\xb3", "\xe2\x81\xb4", "\xe2\x81\xb5", "\xe2\x81\xb6",
    "\xe2\x81\xb7", "\xe2\x81\xb8", "\xe2\x81\xb9"};
static char *sub[] = {"\xe2\x82\x80", "\xe2\x82\x81", "\xe2\x82\x82",
    "\xe2\x82\x83", "\xe2\x82\x84", "\xe2\x82\x85", "\xe2\x82\x86",
    "\xe2\x82\x87", "\xe2\x82\x88", "\xe2\x82\x89"};

int main(void) {
    int i;
    printf ("f(x) = x%s + log%sx\n",super[2],sub[2]);
    for (i = 0; i < 10; i++) {
        printf ("x%s x%s ", super[i], sub[i]);
    }
    printf ("y%s%s%s z%s%s\n", super[9], super[9], super[9], sub[7], sub[5]);
    return 0;
}

Die super und sub char * Arrays sind die UTF-8-Codierungen für die Unicode-Codepunkte für numerische hoch- und tief (siehe hier ). Das gegebene Programm ausgibt meine Formel von oben (auf einer Linie statt drei), dann einer andere Testlinie für alle Entscheidungen und ein y-super-999 und z-Sub-75 so können Sie sehen, wie sie aussehen.

MacOS erscheint nicht gnome-terminal als Terminal-Programm zu verwenden, sondern Referenzen hier und hier scheint den Standard-Terminal, um anzuzeigen, verstehen UTF-8 (oder Sie könnten herunterladen und installieren von gnome-terminal als letztes Mittel).

Andere Tipps

  

Ich würde brauchen Tief- und Hoch auf einem CLI zu drucken, ist es eine plattformübergreifende Art und Weise, das zu tun?

Nur wenn Sie ein Unicode-fähiges Endgerät besitzen, die weit davon entfernt ist garantiert. Unicode definiert eine begrenzte Anzahl von Unter- und Exponenten ‚Kompatibilität Zeichen‘, werden Sie sicherlich nicht auf jedem alten Brief verwenden können:

₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎ₐₑₒₓ
⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾ⁿⁱ

Auch dann sind Sie dort angewiesen eine Glyphe für sie in der Konsole Schrift zu sein, die auch noch lange nicht garantiert. Hochgestellte 2 und 3 sind wahrscheinlich existieren, wie sie in ISO-8859-1 vorhanden sind; die anderen können auch nicht funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top