Design und Layout
-
Also ihre kennt doch betimmt alle Hello world.
cout << "Hello world " ; /*Meine Frage: In der Konsole sieht es echt lang weilig aus, wie kann ich es so verändern, damit es schön aussieht. ?? */z.B. so??:
cout << "****Hello world**** " ; /*na ja euch fällt bestimmt was besseres ein :D*/
-
Was ist den für dich schön? :>
-
Ehm... vielleicht so:
cout << "----Hello world---- " ;?
Im Ernst. Überleg dir mal genau, was du eigentlich willst.
- Im übrigen musst du in der Konsole nicht wirklich auf Ästhetik schauen. Interessiert niemanden. 
-
Das ist jetzt C (und die Terminalbreitenbestimmung funktioniert nur unter UNIX), aber so:
#include <fcntl.h> #include <sys/ioctl.h> #include <unistd.h> #include <stddef.h> #include <stdio.h> #include <stdlib.h> static char const font[][97] = { "@DJ@DSBDHB@@@@@PNDNNH_L_NN@@H@BNNNONO__NQDPQAQQNONON_QQQQQ_NAND@D@A@P@L@ADPAF@@@@@@@D@@@@@@HDB@", "@DJJNSEDDDJD@@@PQFQQLABPQQ@@D@DQQQQQQAAQQDPIA[QQQQQQDQQQQQPBAHJ@H@A@P@B@A@@AD@@@@@@@D@@@@@@DDD@", "@D@_AHE@DDND@@@HYDPPJAAHQQDDB_HPYQQAQAAAQDPEAUSQQQQADQQQJJHBBHQ@@NON^NB^OFXIDKGNO^MNNQQQQI_DDD@", "@D@JNDB@DD__@_@DUDHLIOODN^@@A@PHU_OAQOOA_DPCAQUQOQONDQQQDDDBDH@@@PQQQQOQQDPEDUIQQQRADQQQJIHBDHJ", "@D@JPBU@DDND@@@BSDDP_PQDQPDDB_HD]QQAQAAYQDPEAQYQAUQPDQQUJDBBHH@@@^QAQOB^QDPCDUIQO^BNDQQUDNDDDDE", "@@@_NYI@DDJDD@@AQDBQHQQDQH@BD@D@AQQQQAAQQDQIAQQQAIQQDQJ[QDABPH@@@QQQQABPQDREDUIQAPBPDYJUJHBDDD@", "@D@JDYV@HB@@B@DANN_NHNNDNF@@H@BDNQONO_ANQDNQ_QQNAVQNDNDQQD_NPN@_@^ON^NBNQNLINUINAPGNLVDJQF_HDB@" }; static size_t get_term_columns(void) { size_t cols = 80; char const *col_env = getenv("COLUMNS"); if(!col_env || sscanf(col_env, "%lu", &cols) != 1) { struct winsize wsz; if(!ioctl(STDOUT_FILENO, TIOCGWINSZ, &wsz)) { cols = wsz.ws_col; } } return cols; } static size_t size_t_max(size_t x, size_t y) { return x > y ? x : y; } static void print_phrase(char const *p) { char const *q; size_t i, j, k, lpl = size_t_max(get_term_columns() / 6, 1); for(q = p; *q; p += lpl) { for(j = 0; j < 7; ++j) { for(i = 0, q = p; *q && i < lpl; ++q, ++i) { for(k = 0; k < 6; ++k) { putchar((font[j][*q - ' '] >> k & 1) ? '#' : ' '); } } putchar('\n'); } putchar('\n'); } } int main(int argc, char *argv[]) { /* char text[] = " !\"#$%&'()*+,-./0123456789:;<=>?@" "ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`" "abcdefghijklmnopqrstuvwxyz{|}~"; */ char text[] = "Hello, world."; if(argc == 1) { print_phrase(text); } else { size_t i; for(i = 1; i < argc; ++i) { print_phrase(argv[i]); } } return 0; }Um's unter Windows zum Laufen zu kriegen, sollte es eigentlich ausreichen, die obersten drei Header zu entfernen und get_term_columns auf return 80; oder so zusammenzustreichen.
-
@seldon: Cool

-
@seldon: Nice
