IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> прога по записям, помгите...
slava
сообщение 2.10.2007 21:16
Сообщение #1


Гость






Вот сама задача:
1. Описать запись с именем Price, содержащую следующие поля:
название товара;
название магазина, в котором продаётся товар;
стоимость товара в рублях;
2. Написать программу, выполняющую следующие действия:
ввод данных с клавиатуры в массив, состоящий из восьми элеметов типа Price; записи должны быть
размещены в алфавитном порядке по названию товаров;
вывод на экран информации о товаре, название которого введено с клавиатуры; если такого товара нет,
вывести соответствующее сообщение;
запись массива в файл под заданным с клавиатуры именем.
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
slava
сообщение 3.10.2007 16:55
Сообщение #2


Гость






program priceRecord;
uses crt;

const
N = 8;
type Price = record
title:string;
vendor:string;
priceRU:real;
end;
var
priceFile : file of Price;
choise, sc, i, k:integer;
exit, error, infoReady, searching, found:boolean;
priceArray: array[1..N] of Price;
searchTitle, filepath:string;
aux: Price;

procedure new_info_input;
begin
for i:=1 to N do begin
with priceArray[i] do begin
write('Enter the title of goods: ');
readln(title);
write('Specify the vendor: ');
readln(vendor);
write('Enter the price in RU: ');
readln(priceRU);
end;
end;
for i:=2 to N do begin
for k:=i-1 downto 1 do begin
if priceArray[k+1].title < priceArray[k].title then begin
aux := priceArray[k];
priceArray[k] := priceArray[k+1];
priceArray[k+1] := aux;
end
else break;
end;
end;
end;

procedure save_to_file(filepath:string);
begin
assign(priceFile, filepath);
rewrite(priceFile);
for i:=1 to N do
write(priceFile, priceArray[i]);
close(priceFile);
end;

procedure search_once;
begin
found := false;
write('Specify the title of goods you want to search for: ');
readln(searchTitle);
for i:=1 to N do begin
if priceArray[i].title = searchTitle then begin
writeln('Additional info found:');
write('Title: ');
writeln(searchTitle);
write('Vendor: ');
writeln(priceArray[i].vendor);
write('Price in RU: ');
writeln(priceArray[i].priceRU);
found := true;
break;
end;
end;
if found = false then writeln('404 - Not Found');
write('Would you like to search once again? 1 - Yes. 2 - Exit: ');
readln(sc);
if sc = 2 then searching := false;
end;

begin
exit := false;
infoReady := false;
clrscr;
while not exit do begin
writeln('1. Enter new information');
writeln('2. Search for specific goods');
writeln('3. Save info to file');
writeln('4. Exit');
write('Make your choise: ');
readln(choise);
case choise of
1: begin
new_info_input;
infoReady := true;
end;
2: begin
searching := true;

if not infoReady then writeln('Please enter the information first.')
else while searching do
search_once;
end;
3: begin
if not infoReady then writeln('Please enter the information first.')
else begin
write('Specify full filepath: ');
readln(filepath);
save_to_file(filepath);
writeln('Save successful.');
end;
end;
4: begin
exit := true;
end;
5: for i:=1 to N do begin
writeln(priceArray[i].title);
end;
end
end;
end.



Прога то есть, но вот что то она работает не очень...проблема с выводом цены и записью в файл. + Как я понимаю неправльно выполнены процедуры: например procedure new_info_input... вроде как в процедуре должна осуществляться передача пааметров по значению, адресу и т. д. а у меня такого нету, следовательно в программе присутствуют глобальные переменные.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:43
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"