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

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

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

> Список стран (Турбо паскаль), и экспорт данных.
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 24
Пол: Мужской

Репутация: -  0  +


Отдельной темой сделал smile.gif
Дан файл товар, который содержит сведения об экспортируемых товарах с указанным наименованием товара страна импорта товара и объемом постоянной партии. Составить список стран в которые экспортируются данные товары и указать общий объем его экспорта.
Вот такая задача, нужно до завтра человеку.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Профи
****

Группа: Пользователи
Сообщений: 731
Пол: Женский

Репутация: -  25  +


Если я правильно поняла задание, то вот:
uses wincrt;
type
StStrana = string[30];
StTovar = string[30];
StObyom = real;
zap = record
Strana: StStrana;
Tovar: StTovar;
Obyom: StObyom;
end;

var Tov: file of zap;
work: zap;
Name,st: string;
mas: array[1..10] of string;
End_Menu: boolean;
vid: byte;

procedure Name_File;
begin
Name:='Tovar';
end;

procedure AddRec;
begin
Writeln ('Ввод записи № ',FilePos(Tov)+1);
with work do
begin
Write('Введите название товара: ');
readln (Tovar);
Write('Введите страну экспортера: ');
readln (Strana);
Write('Введите объем поставок: ');
readln (Obyom);
Write(Tov,work);
end;
end;

procedure Creat_File;
var
i,kol: integer;
begin
Name_File;
Assign(Tov, name);
Rewrite(Tov);
Writeln ('Создание сведений о товаре');
Write ('Введите количество записей не большее 10: ');
Readln(kol);
for i:=1 to kol do
AddRec;
Writeln ('Создания сведений о товаре завершено');
Writeln ('Файл данных имеет ',FileSize(Tov),' записи');
Close(Tov);
end;

procedure OutputRec;
begin
Read(Tov, work);
with work do
begin
write('Запись № ',FilePos(Tov),' :');
Writeln('Страна: ',Strana,'| товар: ',Tovar,'| объем поставок: ',Obyom:6:4,'');
end;
end;

procedure OutputAllRec;
begin
Name_File;
Assign(Tov, Name);
{$I-}
Reset(Tov);
{$I+}
if Ioresult = 0 then
begin
Seek(Tov, 0);
writeln ('Вывод записей');
while (not Eof(Tov)) do
OutputRec;
end
else
writeln('Файла с именем '+Name+' на диске нет');
end;

procedure Poisk_Stran;
var mas: array[1..10] of string;
Tov: file of zap;
work: zap;
maska: StTovar;
Rez_Find: boolean;
CountRec,nom: integer;
sum: real;
begin
sum:=0;
nom:=1;
Name_File;
Assign(Tov, Name);
{$I-}
Reset(Tov);
{$I+}
if IOresult = 0 then
begin
Write('Введите интересующий товар: ');
readln(maska);
Rez_Find:=false;
CountRec:=0;
while (not Eof(Tov)) do
begin
read(Tov,work);
with work do
if (pos(maska, Tovar) <> 0) and (length(maska) = length(Tovar)) then
begin
mas[nom]:=Strana;
sum:=sum+obyom;
writeln (mas[nom]);
inc(nom);
end;
end;
writeln ('Общий объем поставок: ',sum:6:4,'');
Close(Tov);
end
else
writeln ('Файла с именем '+Name+' на диске нет');
end;


begin
ClrScr;
End_Menu:=false;
repeat
writeln('*** Экспорт товаров ***');
writeln('Выберите действие');
writeln('1 - создание нового файла');
writeln('2 - просмотр всех записей');
writeln('3 - создание списка экспортеров');
writeln('0 - завершение работы');
write('Ваш выбор: ');
readln(vid);
case vid of
1: Creat_File;
2: OutputAllRec;
3: Poisk_Stran;
0: End_Menu:=true;
end;
writeln('Для продолжения нажмите Enter');
readln;
ClrScr;
until End_Menu;
end.

Но
Цитата
У нее есть знание и задача, но не совсем правильная и ей нужна помощь

пусть эта девушка в следующий раз сама создает темы, задает вопросы и пытается делать программы... А раз у нее есть знания, то она сама сможет разобраться в вышеизложенной проге...


p.p.s. в поиске экспортеров добавила проверку товара еще и по длинне троки:
if (pos(maska, Tovar) <> 0) and (length(maska) = length(Tovar)) then

Теперь вроде должен выводить точно)))


Сообщение отредактировано: Айра -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
South Fruit   Список стран (Турбо паскаль)   12.04.2007 19:39
мисс_граффити   показывай попытки человека ее решить... З.Ы. Списо…   12.04.2007 19:45
South Fruit   Нету рядом человека то :unsure: там короче что то…   12.04.2007 20:03
Tan   Список как структура данных или просто на экране н…   12.04.2007 20:12
South Fruit   Список как структура данных и вывод на экран. Выве…   12.04.2007 20:54
South Fruit   Ребят, помогите, а то у человека проблемы будут ..…   12.04.2007 22:08
мисс_граффити   а в чем, собственно, проблема? прочитал запись из …   12.04.2007 22:11
South Fruit   Я повторюсь что задача не для меня, мне ей некогда…   12.04.2007 22:58
мисс_граффити   :good: Ты, конечно, извини, но мне эта девушка Е…   12.04.2007 23:13
South Fruit   У нее есть знание и задача, но не совсем правильна…   12.04.2007 23:19
Айра   Если я правильно поняла задание, то вот: uses winc…   13.04.2007 1:50
мисс_граффити   Небольшие замечания: StObyom = string[10]; Почем…   13.04.2007 2:10
Айра   Сначала делала нормально, но что-то не так ввела …   13.04.2007 3:42
South Fruit   Хорошо Айрочка, просто у нее сейчас проблемы с и…   13.04.2007 8:20


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

 





- Текстовая версия 28.04.2024 19:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name