[Ph12m 59] Задача 2

Sergey Maslennikov tmp110306 на rplab.ru
Пн Мар 25 21:22:11 MSK 2013


Попробуем продолжить изучение C, SQL, HTML так, чтобы из этой связки
можно было бы сделать какой-нибудь зачётный проект. Напомню, что для
начала нужно разобраться со входным и выходным потоками, т.к. именно
через них  HTTP-сервер взаимодействует с программой.

Как всегда, даю блоки, для решения которых нужно хоть немного помучиться
-- поискать решение и попутно почитать материал по системе и языку.

ЗАДАЧА 2

Написать программу, которая через стандартный входной поток принимает
текстовые строки, в каждой из которых через пробел или символ табуляции
записана пара действительных чисел (например, "31.528 23.836"), а затем
в стандартный выходной поток выводит строки, которые содержат первое
число, второе число, сумму первого и второго чисел (например, "31.528
23.836 55.364"). Принцип действия программы пояснён следующим примером,
в котором предположено, что ваша программа скомпилирована в исполняемый
файл 'task2':

Команда
echo -ne "13 8\n15 9\n1.1 2.8\n" | ./task3
приводит к выводу в стандартный выходной поток
13 8 21
15 9 24
1.1 2.8 3.9

Для выполнения задания вам нужно не бояться трудностей, знать описание
команды echo, её ключей -n, -e, а также, что значит '|' (вертикальная
чёрточка) для интерпретатора команд (см. литературу по системе). Для
программирования task2 необходимо знать, как пользоваться циклами while
или for, функциями scanf и printf (языков C, C++) или аналогичными
потоковыми объектами cin, cout (языка C++).

Текст такой программы можно подсмотреть в директориях ФТПшников. У них
есть версии, сделанные на цикле while и объектах ввода/вывода C++ cin,
cout [1]. Тогда в качестве самостоятельной части задания вам будет
переписать текст на цикле for и функиях языка Си scanf [2] и printf [3].

[1] http://ru.wikipedia.org/wiki/Iostream
[2] http://en.cppreference.com/w/c/io/fscanf
[3] http://en.cppreference.com/w/c/io/fprintf

СН




Подробная информация о списке рассылки phys12m