![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
SunDevil |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Мужской Репутация: ![]() ![]() ![]() |
Вот такая задача:
Надо составить базу данных товаров с их ценами и чтобы прога подсчитала общую сумму товара. Вот я прилагаю вариант, но как всделать так, чтобы прога сумму считала, у меня не выходит :fire: Там посмотрите, плиз, кто-нибудь процедуру output_baza и в ней написана Общая цена товара (руб.) и переменная sum, так надо, чтобы в эту переменную записывалась сумма товара СПАСИБО! Прикрепленные файлы ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата(SunDevil @ 25.03.05 22:41) так надо, чтобы в эту переменную записывалась сумма товара Если можно, поподробнее, что значит Сумма товара? Общая стоимость всех товаров в списке? |
SunDevil |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 volvo
Да, именно, общая стоимость ВСЕХ товаров в списке. Но там есть переменная price и у нее тип string. Как сумму-то получить ![]() Сообщение отредактировано: SunDevil - 26.03.2005 0:09 |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата(SunDevil @ 25.03.05 23:08) Но там есть переменная price и у нее тип string. Как сумму-то получить ![]() :D 2 варианта: или поменять тип Price на Integer (проблем при перекомпиляции не возникло, я проверил), или воспользоваться процедурой Val для преобразования строки в число. В аттаче я добавил использование Val, но я бы все-таки рекомендовал поменять тип на Price: integer; :yes: P.S. Кстати, напрасно контроль ошибок ввода-вывода отключен постоянно. Желательно его отключать только перед критическими частями программы... Прикрепленные файлы ![]() |
SunDevil |
![]()
Сообщение
#5
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 volvo
я менял на integer, так он вообще переставал в цикле price писать |
klem4 |
![]()
Сообщение
#6
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
держи...
Исходный код program baza; {$i-} {ђ §¤Ґ« ®ЇЁб Ё©} uses crt; const r=100; q=10; type buhalt=record naim_tovar:string[12]; price:integer; end; dinam_massiv=array[1..r] of buhalt; pro=^dinam_massiv; var n:integer; list:pro; answer:char; f:boolean; price,sum:Integer; {‚ў®¤ ¤ л©} procedure input_baza(var list:pro;var n:integer); var i,z:integer; w:char; begin clrscr; write('‚ўҐ¤ЁвҐ зЁб«® § ЇЁбҐ© ¤«п ¤®Ў ў«ҐЁп <= ',r-n ,' : '); readln(z); if ioresult<>0 then exit; for i:=n+1 to n+z do with list^[i] do begin clrscr; write('‚ўҐ¤ЁвҐ Ё¬Ґ®ў ЁҐ в®ў а : '); readln(naim_tovar); write('‚ўҐ¤ЁвҐ жҐг в®ў а (агЎ.): '); readln(price); sum:=sum+price; if i<>n+z then begin write('‚ў®¤Ёвм ҐйҐ y/n'); w:=readkey; end; if (w='n') or (i=z+n) then begin z:=i; break; end; end; if z<>0 then n:=z; writeln; writeln('‡ ЇЁбм ¤®Ў ў«Ґ ў Ў §г. Ќ ¦¬ЁвҐ «оЎго Є« ўЁиг'); readkey; end; {‚лў®¤ ¤ ле} procedure output_baza(var list:pro;var n:integer); var i,k,pos:integer; f:boolean ; begin clrscr; if n=0 then begin writeln('Ѓ § Їгбв '); readkey; exit; end; f:=false; pos:=1; repeat clrscr; k:=0; writeln(' ЙННННННННННННННННННННННСНННННННННННННННННННН»'); writeln(' є Ќ Ё¬Ґ®ў ЁҐ в®ў а і –Ґ в®ў а (агЎ.) є'); writeln(' ИННННННННННННННННННННННПННННННННННННННННННННј'); for i:=pos to n do with list^[i] do begin writeln(' ',naim_tovar:12,' ',price:6); k:=k+1; if k=q then begin pos:=i+1; break; end; writeln(' ДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД '); end; writeln(' ЋЎй п жҐ в®ў а (агЎ.)',' ',sum); readkey; if (k<q) or (pos>n) then f:=true; until f; end; {ѓ®«®ў®© ¬®¤г«м} begin new(list); f:=false; repeat clrscr; writeln('0 - ‚л室'); writeln('1 - „®Ў ў«ҐЁҐ ¤ ле'); writeln('2 - ‚лў®¤ Ў §л'); answer:=readkey; case answer of '0': f:=true; '1': input_baza(list,n); '2': output_baza(list,n); else begin writeln('ЋиЁЎЄ ! „«п Їа®¤®«¦ҐЁп ¦¬ЁвҐ «оЎго Є« ўЁиг'); readkey end; end; until f; dispose(list); end. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
SunDevil |
![]()
Сообщение
#7
|
Новичок ![]() Группа: Пользователи Сообщений: 28 Пол: Мужской Репутация: ![]() ![]() ![]() |
2 klem4
спасибо за помощь |
volvo |
![]()
Сообщение
#8
|
Гость ![]() |
SunDevil, в следующий раз ОЧЕНЬ внимательно читайте то, что Вам отвечают, хорошо?
![]() Цитата поменять тип Price на Integer (проблем при перекомпиляции не возникло, я проверил) Если я сказал, что проверил, то это не значил, что программа просто была откомпилирована. Это значит, что программа была запущена и нормально отработала... Или опять нужно было все переписать сюда до запятой? |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 6:31 |