Как сделать выравнивание текста (знака)? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте,пишу свою первую программу и собственно пока первая версия того,что я хотел есть и решил навести небольшой эстетический вид. Я хочу выровнять знак | в один столбец,т.е. чтобы получилось так сказать линия,да-да может кому-то покажется это глупым,но я решил если учиться,то пробовать все,что придет в голову. Так вот я не пойму,как мне выровнять именно эти знаки? Ну собственно приложу две строки,которые печатают это меню(не знаю нужны ли они будут для помощи,в любом случае смогу если что потом скинуть часть нужного кода или весь и вовсе).
printf ("\nМеню\n1 - Сложение |  \n2 - Вычитание | \n3 - Деление |  \n4 - Умножение | \n5 - Возведение в квадрат | \n6 - Взятие корня | \n7 - Возведение в куб | \n8 - Метод Крамера(Матрица 2х2) | \n9 - Метод Крамера(Матрица 3х3) |");
    printf ("\n10 - Факториал | \n0 - Выход | \nВыберите операцию:");
Ну и собственно еще один вопрос,можно ли как-то печатать то же меню,но в коде печать писать не в одну строку? Сначала я думал,что одной строкой справлюсь,но функции в свой калькулятор все добавлял и добавлял и планирую еще добавлять,но в одну строку это писать слишком громоздко,а если для удобства писать на каждой строке вывод то это будет примерно так выглядеть
printf ("....");
printf ("....");
printf ("....");
printf ("....");
Вообщем такая форма записи тоже не ахти,есть ли какой нибудь альтернативный способ? Может можно это дело сделать через доп.файл? Допустим в текстовом редакторе набрать нужное мне меню уже правильно отредактированное,а программа будет просто его считывать оттуда и выводить?

Решение задачи: «Как сделать выравнивание текста (знака)?»

textual
Листинг программы
#include <stdio.h>
#include <locale.h>
#include <conio.h>
 
#pragma warning(disable:4996)
 
int FormMenu(char * fileName, char dest[][80]) {
    FILE * f = fopen(fileName, "r");
    int n = 0;
    while (!feof(f)) {
        fgets(dest[n], 80, f);
        n++;
    }
    fclose(f);
    return n;
}
int main(int argc, char *argv[]) {
    setlocale(LC_ALL, "Russian");
    char menu[10][80];
    int size = FormMenu("Text.txt", menu);
 
    for (int i(0); i < size; i++)
        printf(menu[i]);
 
    getch();
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.4 из 5
Похожие ответы