0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 16
1

Структурированные типы данных. Запись

05.05.2009, 22:58. Показов 1414. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пример решения:
Сведения о студентах представлены в виде:
<фамилия:10><группа:3><оценка_математика:1><оценка_информатика:1>
Вывести на экран сведения о студентах, имеющих хотя бы одну «пятерку» в сессии.
Листинг программы
PureBasic
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
Uses crt;
type
   stud=record
   fam:string[10];
   grup:string[4];
   alg:byte;
   inf:byte;
   end;
Var t:text;
a:array[1..10] of stud;
f:string;
i,j,k:integer;
BEGIN
assign(t,'d:\stud.txt');
clrscr;
reset(t);
j:=1;
while not(eof(t)) do
begin
readln(t,f);
a[j].fam:=copy(f,1,11);
a[j].grup:=copy(f,12,4);
val(copy(f,17,1),a[j].alg,k);
val(copy(f,19,1),a[j].inf,k);
j:=j+1;
end;
writeln(‘Вывод’);
for i:=1 to j-1 do
writeln(a[i].fam,' ',a[i].grup,' ',a[i].alg,' ',a[i].inf);
writeln(‘Фамиилии студентов, имеющих пятерки’);
for i:=1 to j-1 do
if (a[i].alg=5) or (a[i].inf=5) then writeln(a[i].fam);
END.
плз помогите с программой :

Сведения о продукции фирмы представлены в виде:
<название:10><цена:2><склад1:2><склад2:2><склад3:2>
Вывести на экран следующие сведения:
1. Сведения о товаре, отсутствующем хотя бы на одном из складов.
2. Название товара, хранящегося на трех складах в наибольшем количестве.
3. Процент каждого вида товара на складах.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2009, 22:58
Ответы с готовыми решениями:

Структурированные типы данных- записи
Написать программу: 1.После поступления в ВУЗ о студентах собрана информация: фамилия, нуждается...

Структурированные типы данных. Файлы
две зада4ки с файлами))))) 1. Дан файл, элементы которого – целые числа. Вывести на экран...

Паскаль.Структурированные типы данных. Файлы.
Помогите решить задачу, никак не осилю: Дан файл, элементы которого - целые числа. Записать в файл...

Структурированные типы данных. Символы и строки символов
ЗАДА4ка на строки HELP плз Дана символьная строка. Вывести на экран только те символы, которые...

6
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.05.2009, 08:38 2
Не очень понятно как выглядит текст в строках файла, в приведенном примере есть ошибки при чтении. Приведите пример одной строки.

Добавлено через 25 минут 25 секунд
Кроме того у Вас и цена и количество из одной цифры, фирма что, спичками поштучно торгует?
0
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 16
06.05.2009, 09:07  [ТС] 3
Этот пример из методи4ки))) зада4ка оттудаже)))
нас так у4ат(
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.05.2009, 09:09 4
Может все-таки цену и количество сделаем хоть 3х-значные?
0
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 16
06.05.2009, 09:10  [ТС] 5
))))) я думаю не стоит)))
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
06.05.2009, 11:05 6
Вот написал под Ваш формат типа
qqqqq 1 0 3 5
aaaaaaaaaa 3 5 0 2
zzz 9 5 5 9
аккуратно создавайте файл, считайте символы, особенно пробелы.
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
Uses crt;
TYPE
prod=RECORD
     naz:STRING[10];
     cen:byte;
     sk1,sk2,sk3:integer;
     pr1,pr2,pr3:integer;
     END;
VAR
t:text;
a:array[1..100] of prod;
f:STRING;
i,j,k,s,mx,imx:INTEGER;
BEGIN
assign(t,{'d:\}'prod.txt');
clrscr;
RESET(t);
j:=0;s:=0;
WHILE NOT(EOF(t)) DO
 begin
  j:=j+1;
  readln(t,f);
  a[j].naz:=copy(f,1,10);
  VAL(copy(f,12,1),a[j].cen,k);
  VAL(copy(f,14,1),a[j].sk1,k);
  VAL(copy(f,16,1),a[j].sk2,k);
  VAL(copy(f,18,1),a[j].sk3,k);
  s:=a[j].sk1+a[j].sk2+a[j].sk3;
  a[j].pr1:=round(a[j].sk1*100/s);
  a[j].pr2:=round(a[j].sk2*100/s);
  a[j].pr3:=100-a[j].pr1-a[j].pr2;
  {writeln(a[j].naz,' ',a[j].sk1,' ',a[j].sk2,' ',a[j].sk3,' ','s=',s,' ',a[j].pr1,' ',a[j].pr2,' ',a[j].pr3);}
 END;
close(t);{readln end.}
writeln('Полный список товаров:':50);
writeln('------------------------------------------------------------');
writeln('|            |      |  Склад 1   |  Склад 2   |  Склад 3   |');
writeln('|  Название  | Цена |---------------------------------------');
writeln('|            |      | Кол-во | % | Кол-во | % | Кол-во | % |');
writeln('------------------------------------------------------------');
FOR i:=1 TO j DO
 begin
  gotoXY(1,whereY);write('| ',a[i].naz);
  gotoXY(14,whereY);write('|  ',a[i].cen);
  gotoXY(21,whereY);write('|    ',a[i].sk1);
  gotoXY(30,whereY);write('| ',a[i].pr1);
  gotoXY(34,whereY);write('|    ',a[i].sk2);
  gotoXY(43,whereY);write('| ',a[i].pr2);
  gotoXY(47,whereY);write('|    ',a[i].sk3);
  gotoXY(56,whereY);write('| ',a[i].pr3);
  gotoXY(60,whereY);write('|');
  writeln;
 end;
writeln('------------------------------------------------------------');
readln;
clrscr;
writeln('Список товаров, отсутствующих хотя бы на 1 складе:');
writeln('------------------------------------------------------------');
writeln('|            |      |  Склад 1   |  Склад 2   |  Склад 3   |');
writeln('|  Название  | Цена |---------------------------------------');
writeln('|            |      | Кол-во | % | Кол-во | % | Кол-во | % |');
writeln('------------------------------------------------------------');
k:=0;
FOR i:=1 TO j DO
if(a[i].sk1=0)or(a[i].sk2=0)or(a[i].sk3=0) then
 begin
  k:=1;
  gotoXY(1,whereY);write('| ',a[i].naz);
  gotoXY(14,whereY);write('|  ',a[i].cen);
  gotoXY(21,whereY);write('|    ',a[i].sk1);
  gotoXY(30,whereY);write('| ',a[i].pr1);
  gotoXY(34,whereY);write('|    ',a[i].sk2);
  gotoXY(43,whereY);write('| ',a[i].pr2);
  gotoXY(47,whereY);write('|    ',a[i].sk3);
  gotoXY(56,whereY);write('| ',a[i].pr3);
  gotoXY(60,whereY);write('|');
  writeln;
 end;
writeln('------------------------------------------------------------');
if k=0 then writeln('Таких товаров нет!');
readln;
clrscr;
mx:=0;imx:=1;
FOR i:=1 TO j DO
if a[i].sk1+a[i].sk2+a[i].sk3>mx then
 begin
  mx:=a[i].sk1+a[i].sk2+a[i].sk3;
  imx:=i;
 end;
writeln('В наибольшем количестве хранится ',a[imx].naz,' количество=',mx);
readln
END.
1
0 / 0 / 0
Регистрация: 14.04.2009
Сообщений: 16
06.05.2009, 15:28  [ТС] 7
пасибки большое=)
0
06.05.2009, 15:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2009, 15:28
Помогаю со студенческими работами здесь

структурированные типы
Опишите структурированные типы для представления таких понятий: a. Цена в гривнях и копейках b....

Структурированные типы: записи.
Даны сведения о результатах соревнования по бегу на 100 метров: фамилия и имя спортсмена,...

Структурированные типы турбопаскаль
Используя стандартные процедуры и функции получить из слова наличие, слово величина.

Структурированные типы данных.Запись.
Для детей,какого возраста предназначается игрушка A.


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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