2015-02-18 6 views
-1

Я прошу помочь в выполнении домашних заданий. Я не прошу ответа, я просто хотел, чтобы меня указали в правильном направлении.C Настройка формата программирования

У меня есть программа, в которой я новичок. Мне нужно воссоздать инструмент Unix, используя vi. Его работа будет заключаться в том, чтобы читать ввод и «аккуратно». Он читается в параграфах слов и перестраивает их так, что они хорошо вписываются в линию указанной ширины, вставляя разрывы строк по мере необходимости. Абзац отделен от других абзацев одной или несколькими пустыми строками, чем изменение ширины с помощью -w и изменение вправо выравнивания с использованием -r.

Далее следует обосновать текст, используя -j, чтобы каждая строка с более чем одним словом простиралась слева направо с максимальной шириной. Мне нужно применить целочисленное деление, чтобы вычислить общее количество пробелов, которые должны были быть замечены к тому времени, когда вы закончите пробел, используя Kevin Woods Si = i*S/G, где S - общее количество пробелов, необходимых в строке, G - это количество пробелов между словами в строке и Si - это количество пробелов, которые должны были появиться к концу пробела i'th. Наконец, подавление интервала между строками, введенными более чем двойной строкой, возвращается в двойную линию.

Параметры должны быть кумулятивными - я могу указать ширину, выравнивание и пропуски пустых строк. Флаги -r и -j не должны использоваться вместе.

+1

Можете описать, с какими трудностями вы решаете это? http://stackoverflow.com/help/on-topic – philant

+1

У меня возникла проблема с запуском программы. Я сделал искаженный абзац для исправления программы, но я не знаю, с чего начать с кодирования, чтобы исправить это. –

+0

«Получение программы началось»? означает ли это: «Как мне начать программу TO» или это означает «как мне запустить программу»? В первом случае: возьмите книгу (Программирование на C по K & R) и прочитайте, затем вернитесь –

ответ

1

первый шаг: Metacode

main(arguments) 
    analyse arguments f.e. with getopt() for correctness and validity 
    read the original text 
    break the text into virtual paragraphs (identified by a double LineBreak) 
    for each paragraph 
    break it into lines of less than allowed (-w, default 80) characters 

    for each line that is not the last line of a paragraph 
    fill with spaces according to your algorithm and command line spezification 

    print out all lines 

второй шаг: кодирование это ваша задача. Пожалуйста, вернитесь, когда у вас есть код, который показывает нам, где вы застряли.

+1

Да, как запустить программу, я в настоящее время читаю на getchart и putchar, чтобы использовать в ней. –

+0

начало работы: './A.out' после компиляции и компоновки –

Смежные вопросы