Войти

Показать полную графическую версию : Pascal - Столбцы


Ragnazar
24-01-2013, 13:27
Пользователь вводит предмет,кол-во,цену
Нужно это раскидать соответсвенно по столбцам.
Как это сделать если предмет может содержать от 1 до 20 символов? (CRT?)
Есть вариант с нажатием Enter после каждой буквы но это неудобно

LilLoco
24-01-2013, 14:25
Ragnazar, А в чем собственно проблема/вопрос?
Покажите исходные данные, отобразите результат, наработки...
Нужно это раскидать соответсвенно по столбцам. »
Куда раскидать? По каким столбцам?

lxa85
24-01-2013, 20:45
Посмотреть, можно ли использовать пробелы.
Например:
read (a,b,c,d)
>15 25 140 5
Если ввод будет корректным, то как вариант.

Drongo
24-01-2013, 21:37
Есть вариант с нажатием Enter после каждой буквы но это неудобно »Почему это не удобно?

Ragnazar
25-01-2013, 06:34
Почему это не удобно? »
Ввод будет такой
н
е
к
и
й
т
о
в
а
р

---

Куда раскидать? По каким столбцам? »
20 знаков на товар. 5 пробелов. 1 знак на кол-во. 5 пробелов. 4 знака на цену. = 35 знаков
А по столбцам значит что товар под товаром, цена над ценой, колво над колвом
ТоварТоварТоварТовар 2 цена
ТоварТовар 3 цена
ТоварТоварТовар 1 цена
Товар 4 цена

Если не заморачиваться
ТоварТоварТоварТовар 2 цена
ТоварТовар 3 цена
ТоварТоварТовар 1 цена
Товар 4 цена

В VBS есть функция проверки длины переменной. В Паскале она есть? (if Lenght(var) > 10 then)

xNiSSaNx
27-01-2013, 23:00
Как то не понял в чем проблема(((

Drongo
28-01-2013, 04:05
Посмотреть, можно ли использовать пробелы. »Через пробел вводить можно, но такой вариант не проверяет количество вводимых чисел, например:

Если ввести корректно 4 числа, то всё будет хорошо, если же ввести 5 чисел - программа закроется. Если меньше 4-х, то программа всё равно запросит недостающие числа
...
int z, a, b, c, d;

cin >> a >> b >> c >> d;
cout << a << b << c << d <<endl;
...Вообще нажатие на энтер это подтверждение ввода и вам от него никуда не деться. Единственное, вам нужно правильно организовать ввод. Вводить нужно наименование товара не посимвольно, я так понимаю у вас каждая буква на имени товара это отдельная переменная?

Не знаю как в паскале, в С++ есть манипуляторы потока setw(x), где х число, которое пропускает определённое количество символов при выводе.
...
#include <iomanip>
using std::setw;
#include <cstring>

char cArray[20];
// cin.getline(cArray, 20, '\n');
cin >> cArray;
cout << cArray;

cout << cArray << setw(5) << вывод цены << setw(1) << вывод цены
..




© OSzone.net 2001-2012