Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 1
Регистрация: 06.12.2008
Сообщений: 11
1

Записи и типизированные файлы

06.12.2008, 01:05. Показов 1178. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Тема: "Записи и типизированные файлы"
Смысл задачи такой, что в первой процедуре, спаршивается сколько пассажиров всего, далее идёт ввод пассажиров с параметрами (фамилия, инициалы, кол-во вещей, общий вес вещей), все введённые данные записываются в файл. Также в первой процедуре ведётся подсчёт "Среднего веса одной вещи всех пассажиров". Одним словом первая процедура работает НА УРА и правильно считает если вводить такие вот записи:
Три пассажира
Код
petrov s.s. 12 60
kozlov k.k. 15 43
sidorov v.v. 9 7.
Основная формула, которая используется во второй процедуре
ABS(R-An.ves/An.kolvo)
R-это средний вес одной вещи всех пассажиров;
An.ves-вес вещей одного пассажира;
An.kolvo - количество вещей одного пассажира.
Весь гемор начинается во второй процедуре во первых тоже самое среднее значение считается не правильно. Во вторых не удаётся посчитать "Средний вес вещи одного пассажира".
Необходимо при запуске пргоги нажать '1' заполнить файл данными, при нажатии цифры '2' должно произвестись решение этой задачи, при использовании этих пассажиров на экран должно вывестись
kozlov k.k. 15 43
sidorov v.v. 9 7.
При повторных запусках программы необходимо нажатием '2' вывести решение, Это для меня самый боольшой гемор...
Может кто-нибудь может помочь в дополнении этих недочётов..
Вот сама програмка:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
Program LAB9;
USES Crt;
Type
H=Record
familia, initials:string[10];
kolvo:integer;
ves:integer;
end;
Spis=file of H;
Var
Spi:Spis;
An:H;
I,N,M:integer;
F:real;
T:real;
G:real;
R:real;
W:real;
c:char;
Procedure menu;
Begin
Writeln('┌────────────────────────┐');
Writeln('│1.Заполнить файл данными │');
Writeln('├────────────────────────┤');
Writeln('│2.Нахождение пассажира │');
Writeln('├────────────────────────┤');
Writeln('│3.Выход │');
Writeln('└────────────────────────┘');
End;
Procedure proc1;
Begin
F:=0;
G:=0;
Assign(Spi,'D:\MYFILE.DAT');
Rewrite(Spi);
Writeln('Введите количество пассажиров');
Readln(N);
For I:=1 to N do
Begin
With An do
Begin
Writeln('Введите фамилию пассажира');
Readln(familia);
Writeln('Введите инициалы пассажира');
Readln(initials);
Writeln('Введите количество вещей пассажира');
Readln(kolvo);
Writeln('Введите вес вещей пассажира');
Readln(ves);
Writeln(' ');
begin
F:=F+kolvo;
G:=G+ves;
end;
end;
write(Spi,An);
end;
begin
R:=G/F;
Writeln('Средний вес одной вещи всех пассажиров',R);
end;
Close(Spi);
End;
Procedure proc2;
Begin
Assign(Spi,'D:\MYFILE.DAT');
Reset(Spi);
begin
F:=0;
G:=0;
For I:=1 to N do
begin
F:=F+An.kolvo;
G:=G+An.ves;
end;
R:=G/F;
Writeln('Средний вес одной вещи всех пассажиров',R);
For I:=1 to N do
begin
Reset(Spi);
begin
With An do
begin
If ABS(R-(An.ves/An.kolvo))<0.3 then
Writeln(An.familia,' ',An.initials,' ',An.kolvo,' ',An.ves)
end;
end;
end;
end;
end;
begin
ClrScr;
Repeat
menu;
c:=readkey;
case c of
'1'roc1;
'2'roc2;
else writeln ('Ошибка');
end;
until (c=#27) or (c='3');
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.12.2008, 01:05
Ответы с готовыми решениями:

Записи.Типизированные файлы
Помогите плиз,никак не могу сделать . Составить программу, которая содержит текущую информацию о...

Записи, типизированные файлы.
ребят помогите,вот условие: Багаж пассажира характеризуется количеством вещей и общим весом ...

Типизированные файлы, записи.
Пожалуйста помогите с такой задачей: Известно,что при формировании файла PRIM.DAT, состоящего из...

Записи и типизированные файлы.
Всё, что написано в книге! Задачи раздела направлены как на приобретение навыков обработки...

3
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
06.12.2008, 17:55 2
Три пассажира
Код
petrov s.s. 12 60
kozlov k.k. 15 43
sidorov v.v. 9 7.
У тебя много тут ошибок:
во первых зачем ты в цикле Reset(Spi); делаешь
во вторых полностью запутался в end'ах
в третьих ктож за тебя будет из файла An читать будет? нужны строчки Read(Spi,An);
в четвёртых при твоём условии не будет выводится то что ты написал, если я прально задание понял,смотри:
Код
12	60	5              -1,9444
15	43	2,866666667	0,1889
9	7	0,777777778	2,2778
36	110	3,0556
Следовательно если указать 0.3 в условии то выведет kozlov k.k. 15 43
Совет: чтоб не запутаться организуй код,моно по типу как я...

Вот рабочая программа:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
Program LAB9;
USES Crt;
Type H=record
  familia, initials:string[10];
  kolvo:integer;
  ves:integer;
end;
 
  Spis=file of H;
Var Spi:Spis;
    An:H;
    i,N,M:integer;
    F,T,G,R,W:real;
    c:char;
 
procedure menu;
begin
   Writeln('1.Zapolnit ') ;
   Writeln('2.Search pass');
   Writeln('3.Exit');
end;
 
procedure proc1;
begin
   F:=0;
   G:=0;
   Assign(Spi,'myfile.dat');
   Rewrite(Spi);
   Writeln('N pass');
   Readln(N);
     for i:=1 to N do
      begin
     with An do
      begin
        Writeln('Famili');
        Readln(familia);
        Writeln('Inichiali');
        Readln(initials);
        Writeln('kol-vo veshey');
        Readln(kolvo);
        Writeln('ves veshey');
        Readln(ves);
        Writeln(' ');
          F:=F+kolvo;
          G:=G+ves;
      end;
    Write(Spi,An);
     end;
  R:=G/F;
  Writeln('Sredniy ves odnoy veshi vsex passashirov',R);
  Close(Spi);
end;
 
procedure proc2;
begin
   Assign(Spi,'myfile.dat');
   Reset(Spi);
   F:=0;
   G:=0;
   N:=0;
     while not Eof(Spi) do {for i:=1 to N do  }
      begin
    Read(Spi,An);
    F:=F+An.kolvo;
    G:=G+An.ves;
    WriteLn(An.ves/An.kolvo);
    N:=N+1;
      end;
   R:=G/F;
   Writeln('Sredniy ves veshey vsex passashirov',R);
   ReadLn;
   Reset(Spi);
     for i:=1 to N do
      begin
       Read(Spi,An);
    if Abs(R-An.ves/An.kolvo)<0.3 then
     Writeln(An.familia,' ',An.initials,' ',An.kolvo,' ',An.ves);
      end;
end;
 
begin
  ClrScr;
    repeat
       menu;
       c:=readkey;
    case c of
      '1':Proc1;
      '2':Proc2;
    else
      Writeln ('Oshibka');
    end;
    until (c=#27) or (c='3');
end.
0
Почетный модератор
64300 / 47595 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.12.2008, 18:21 3
Или у меня дэжа-вю, или я сегодня решал эту задачу.
0
257 / 173 / 27
Регистрация: 17.10.2008
Сообщений: 770
06.12.2008, 20:52 4
Цитата Сообщение от Puporev Посмотреть сообщение
Или у меня дэжа-вю, или я сегодня решал эту задачу.
Ага и такое может быть, тут человек задачку задал напишите функцию тангенса, и говорит, вот у меня подобная решена, и выкладывает мою, что я решал, а там нуно ток функцию заменить...я оболдеваю на них просто...
0
06.12.2008, 20:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.12.2008, 20:52
Помогаю со студенческими работами здесь

Типизированные файлы, удаление записи по номеру
Ребята пожалуйста помогите мне с задачей. Она у меня пралильная, нужно только добавить процедуру...

Типизированные файлы
Нужна помощь с задачей: В файле f записей хранится следующая информация о товарах, имеющихся на...

Типизированные файлы
Дан файл,содержащий данные о выдаче книг в библиотеке. Он содержит дату выдачи,фамилию автора и...

Не типизированные файлы.
Доброго времени суток. Прошу проверить логику программы. Задание следующие: Создать не...

Типизированные файлы
Задачка: Создать файл записей: фамилия и оценки. Определить средний балл успеваемости каждого...

Типизированные файлы
Создать файл F1, компонентами которого являются целочисленные массивы a1,.., a10, закрыть его....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru